“ โปรเจ็กต์ที่มีประเภทไลบรารี่ประเภทนี้ไม่สามารถเริ่มต้นได้โดยตรง”


166

ฉันดาวน์โหลดโครงการ C # และฉันต้องการแก้ไขข้อบกพร่องของโครงการเพื่อดูว่าการใช้งานอัลกอริทึมทำงานอย่างไร

โครงการเข้ามาในโฟลเดอร์ภายในโฟลเดอร์นี้มี -

  1. .slnไฟล์และ
  2. โฟลเดอร์ที่มีไฟล์ที่มาและเป็น.csprojไฟล์

ฉันติดตั้ง Visual Studio และเปิด.slnไฟล์ที่มีอยู่ในโฟลเดอร์หลัก ฉันสร้างโครงการสำเร็จแล้ว แต่เมื่อฉันพยายามแก้ไขข้อบกพร่องของโครงการฉันได้รับข้อความนี้:

โปรเจ็กต์ที่มีชนิดเอาต์พุตของไลบรารีคลาสไม่สามารถเริ่มต้นได้โดยตรงเพื่อที่จะดีบักโปรเจ็กต์นี้ให้เพิ่มโปรเจ็กต์ที่สามารถเรียกทำงานได้ไปยังโซลูชันนี้ซึ่งอ้างอิงโปรเจ็กต์ไลบรารี ตั้งค่าโครงการที่ปฏิบัติการได้เป็นโครงการเริ่มต้น

ส่วนที่แปลกคือฉันไม่เห็นหน้าที่หลักเลย

ฉันควรทำอย่างไรเพื่อให้ได้อาการสะอึกนี้

คำตอบ:


173

โครงการที่คุณดาวน์โหลดมาคอมไพล์ในแอสเซมบลี dll และให้ชุดของคลาสที่มีฟังก์ชันการใช้งาน

คุณควรเพิ่มโครงการใหม่ด้วยประเภทผลงานของทั้งแอปพลิเคชันคอนโซลหรือแอปพลิเคชัน Windows (ตัวช่วยสร้างการเพิ่มโครงการ VS จะเสนอเทมเพลตโครงการที่แตกต่างกัน)

ในโครงการที่เพิ่มใหม่คุณสามารถใช้ตรรกะเพื่อทดสอบ Class Library ของคุณ

ประเภทผลลัพธ์ของโครงการที่คุณสามารถค้นหาและเปลี่ยนแปลงได้ตามขั้นตอนต่อไปนี้:

  1. คลิกขวาที่โครงการใน Solution Explorer -> Properties

  2. ในแท็บที่เปิดด้วยคุณสมบัติเลือกแอปพลิเคชันและจะมี ComboBox ที่ทำเครื่องหมายด้วยป้ายชื่อประเภทเอาท์พุท


7
และอย่าลืมตั้งค่าโครงการที่สร้างขึ้นใหม่เป็นโครงการเริ่มต้น (คลิกขวาที่โครงการใหม่ตั้งค่าเป็นโครงการเริ่มต้น)
bugybunny

@bugybunny คุณแสดงความคิดเห็นคืออะไรหายไปในคำตอบข้างต้น!
ปัด

111

เพียงคลิกขวาที่หน้าต่าง Project Solution A จะปรากฏขึ้นมา ขยายคุณสมบัติทั่วไป เลือกเริ่มต้นโครงการ

ในด้านขวามือเลือกปุ่มตัวเลือกที่มีโครงการเริ่มต้นเดี่ยวเลือกโครงการของคุณในนั้นและนำไปใช้

แค่นั้นแหละ. ตอนนี้บันทึกและสร้างโครงการของคุณ เรียกใช้โครงการเพื่อดูผลลัพธ์


60

นี่เป็นวิธีแก้ปัญหาที่เหมาะกับฉันเนื่องจากฉันไม่พบตัวเลือก 'คุณสมบัติทั่วไป'

  1. เลือกโครงการระดับสูงสุดในExplorer โซลูชัน
  2. ไปที่โครงการและในเมนูบริบทตั้งเป็นโครงการเริ่มต้น

    ตั้งเป็นโครงการเริ่มต้น

ดูเพิ่มเติม: โครงการที่มีประเภทผลงานของ Class Library ไม่สามารถเริ่มต้นได้โดยตรง


สิ่งนี้ได้ผลกับฉันใน VS 2015 มันต้องสร้างเว็บใหม่ให้ฉันแล้วจึงขึ้นมาทำงานอีกครั้ง
Eric D. Johnson

ทำงานให้ฉันใน Visual Studio 2019 เช่นกัน
user0474975

ขอบคุณหนึ่งล้านที่ช่วยประหยัดเวลาในการใช้งาน googling :)
26419

19

เพียงแค่ต้องไป:

Solution Explorer -> ไปที่คุณสมบัติ ---> เปลี่ยน (โครงการเริ่มต้นเดี่ยว) from.dll เป็น. web

จากนั้นลองแก้ไขข้อบกพร่อง

แน่นอนปัญหาของคุณจะได้รับการแก้ไข


12

ส่วนที่แปลกคือฉันไม่เห็นหน้าที่หลักเลย

นั่นคือปัญหาของคุณ โครงการเพียงสร้าง DLL มันไม่สามารถเรียกใช้งานได้

คุณจะต้องเพิ่มโครงการที่สองซึ่งเป็นการปฏิบัติการที่อ้างอิงโครงการอื่นและเรียกสิ่งที่อยู่ในนั้น


เฮ้เจมส์โอเคฉันได้เพิ่มโครงการใหม่ในโซลูชันเดียวกัน ไฟล์. cs ใหม่จะถูกสร้างขึ้นซึ่งมีฟังก์ชั่นหลัก ตอนนี้ฉันควรอ้างอิงอะไร เพื่อ dll คุณหมายถึงอะไร เมื่อฉันคลิกขวาที่แท็บการอ้างอิงฉันจะได้รับหน้าต่างเพิ่มการอ้างอิง
HaggarTheHorrible

นำทางไปยังแท็บโครงการ จะมีชุดของแอสเซมบลีที่กำหนดไว้ในโซลูชันของคุณพร้อมสำหรับการอ้างอิง
Eugene Cheverda

1
ใช่แล้ว อย่าลืมเพิ่มการใช้เฉพาะเพื่อให้สามารถใช้คลาสของไลบรารีนั้นได้
Eugene Cheverda

7
1) Right Click on **Solution Explorer**
2) Go to the **Properties** 
3) Expand **Common Properties**
4) Select **Start Up Project**
5) click the radio button (**Single Start_up Project**)
6) select your Project name 
7) Then Debug Your project

5

คุณจะต้องมีแอพบางประเภท (แอพคอนโซลเป็นที่ชื่นชอบสำหรับการดีบัก แต่ WinForm จะทำ) ซึ่งใช้ไลบรารีคลาสของคุณ เพียงเพิ่มโครงการใหม่ (ในโซลูชันเดียวกัน) ของแอปพลิเคชันคอนโซลหรือแอปพลิเคชันฟอร์ม Windows และเพิ่มการอ้างอิงถึงโครงการปัจจุบันของคุณ เมื่อคุณทำเสร็จแล้วโทรออกที่คุณต้องการตั้งค่าจุดพักของคุณและไปที่เมือง


4

ฉันมีปัญหาคล้ายกันเมื่อพยายามใช้อินสแตนซ์ทดลองของ Visual Studio 2013 นี่เป็นโครงการ vsix (กำลังสร้างตัวอย่าง)

วิธีแก้ไขคือ:

คลิกขวาที่โครงการในโซลูชัน Explorer > คุณสมบัติ > ตรวจแก้จุดบกพร่อง

การตั้งค่าเริ่มต้นการกระทำเป็น"Start external program"และใช้เส้นทางต่อไปนี้:

C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ devenv.exe

ตัวเลือกนี้ถูกตั้งค่า"Start project"ที่จะไม่ทำงานสำหรับประเภทเอาท์พุทแอปพลิเคชัน Class Library ซึ่งทำให้เกิดข้อผิดพลาดเดียวกัน

หมายเหตุ: ของคุณอาจแตกต่างกันไปตามวิธีที่คุณติดตั้ง VS


2
    Right Click on "Solution Explorer" -> "Properties"
    Expand "Common Properties"
    Select "Start Up Project"
    click the radio button "Single Start_up Project"
    select your Project name from the drop down list.

หากยังคงไม่ทำงานหลังจากทำตามขั้นตอนข้างต้นแล้วให้ลองวิธีนี้

    Expand solutions explorer.
    Right click on project name -> "Properties"
    Go to "Application" tab
    Select "Output type" 
 From the drop down list select the appropriate type according to your application.
    "Windows application" or
    "Console application"

จากนั้นบันทึก (ctrl + S)

ลองแก้ไขข้อบกพร่อง (F5)


0

สมมติว่าคุณมีหลายโครงการในการแก้ปัญหา เลือกโครงการที่คุณต้องการดูในเบราว์เซอร์และเลือก'ตั้งเป็นโครงการเริ่มต้น' ในหลายโครงการของคุณที่เป็นหลักสตูดิโอภาพไม่สามารถระบุได้ นี่เป็นปัญหาหลัก


0

การแก้ปัญหาข้อผิดพลาดคือคุณได้เปิดโครงการของคุณแล้ว แต่โดยไม่ได้ตั้งใจคุณได้เลือกไลบรารีคลาสอื่น .. นั่นเป็นสาเหตุที่ข้อผิดพลาดนี้แสดง ... ดังนั้นสิ่งที่คุณต้องทำคือคุณเลือกโครงการแล้วคลิกขวาที่โครงการ

หลังจากคลิกขวาคุณสามารถเห็นกล่องรายการและเลือกตัวเลือก " Set as start up project "

สายการบิน


0

คุณสามารถคลิกขวาที่คลาสไลบรารีโครงการและจากดรอปดาวน์เลือก Initialize Interactive C # ซึ่งจะโหลดบริบทโครงการของคุณและคุณสามารถทำงานในเซสชันโต้ตอบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.