«Проект с выходным типом библиотеки классов не может быть запущен напрямую»

166

Я скачал проект C # и хочу отладить проект, чтобы увидеть, как работает реализация алгоритма.

Проект вошел в папку, внутри этой папки -

  1. .slnфайл и
  2. папка с исходными файлами и .csprojфайлом .

Я установил Visual Studio и открыл .slnфайл в главной папке. Я успешно построил проект, но когда я пытаюсь отладить проект, я получаю следующее сообщение:

Проект с выходным типом библиотеки классов не может быть запущен напрямую. Для отладки этого проекта добавьте в это решение исполняемый проект, который ссылается на проект библиотеки. Установите исполняемый проект в качестве запускаемого проекта.

Странно то, что я нигде не вижу основной функции.

Что я должен сделать, чтобы обойти этот сбой?

HaggarTheHorrible
источник

Ответы:

173

Загруженный проект компилируется в сборку dll и предоставляет набор классов с реализованной функциональностью.

Вы должны добавить в свое решение новый проект с типом вывода либо Консольное приложение, либо Приложение Windows (мастер VS Add Project предложит вам различные шаблоны проектов).

В недавно добавленном проекте вы можете реализовать логику для проверки вашей библиотеки классов.

Тип вывода проекта вы можете найти и изменить, выполнив следующие действия:

  1. Щелкните правой кнопкой мыши проект в обозревателе решений -> Свойства.

  2. В открывшейся вкладке со свойствами выберите «Приложение» и ComboBox будет помечен меткой «Тип вывода».

Евгений Чеверда
источник
7
И не забудьте установить вновь созданный проект в качестве запускаемого проекта (щелкните правой кнопкой мыши новый проект etУстановить как StartUp Project)
bugybunny
@ Bugybunny вы комментируете то, чего не хватает в ответе выше!
взбейте
111

Просто щелкните правой кнопкой мыши на Project Solution. Появится окно. Разверните общие свойства. Выберите Start Up Project

Там, с правой стороны, выберите переключатель с Single Startup Project. Выберите свой проект там и примените.

Вот и все. Теперь сохраните и постройте свой проект. Запустите проект, чтобы увидеть результат.

Сухай Паване
источник
60

Это было решение, которое работало для меня, так как я не мог найти опцию «Общие свойства».

  1. Выберите ваш проект верхнего уровня в обозревателе решений .
  2. Перейдите в Project, и в контекстном меню установите как StartUp Project .

    Сделать стартовым проектом

См. Также: проект с типом вывода библиотеки классов не может быть запущен напрямую

Приянк Десаи
источник
Это сработало для меня также в VS 2015. Мне нужно было создать новый web.config, а затем он снова заработал.
Эрик Д. Джонсон
У меня тоже работал в Visual Studio 2019.
user0474975
Благодаря миллиону это спасло часы
поиска
19

Просто нужно идти:

Обозреватель решений -> Перейти к Свойствам ---> изменить (одиночный проект запуска) с .dll на .web

Затем попробуйте отладить его.

Конечно, ваша проблема будет решена.

Ашиш Агравал
источник
12

Странно то, что я нигде не вижу основной функции.

Это именно ваша проблема. Проект просто создает DLL. У него нет исполняемого файла для запуска.

Вам нужно будет добавить второй проект, который является исполняемым файлом, который ссылается на другой проект и вызывает в нем что-то.

Джеймс Керран
источник
Привет Джеймс, хорошо, я добавил новый проект в том же решении. Создается новый файл .cs с основной функцией. Теперь, на что я должен ссылаться. К длл ты имеешь ввиду? Когда я щелкаю правой кнопкой мыши на вкладке ссылок, я получаю окно Добавить ссылку.
HaggarTheHorrible
Перейдите на вкладку «Проекты». Там будет набор сборок, определенных в вашем решении, доступных для ссылки.
Евгений Чеверда
1
Да, точно. Не забудьте добавить конкретные варианты использования, чтобы иметь возможность использовать классы этой библиотеки.
Евгений Чеверда
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
Chamara
источник
5

Вам понадобится какое-то приложение (консольные приложения - мои любимые для отладки, но подойдет WinForm), которое использует вашу библиотеку классов. Просто добавьте новый проект (в том же решении) Консольного приложения или Приложения Windows Forms и добавьте ссылку на ваш текущий проект. Как только вы это сделаете, сделайте все необходимые звонки, установите точки останова и отправляйтесь в город.

AllenG
источник
4

У меня была похожая проблема при попытке использовать Экспериментальный экземпляр Visual Studio 2013. Это было для проекта vsix (Создание фрагментов).

Решение было:

Щелкните правой кнопкой мыши Project в обозревателе решений > Свойства > Отладка

Установка Start Action на "Start external program"и использование следующего пути:

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

Была установлена ​​эта опция, "Start project"которая не будет работать с выходным типом приложения Class Library, которая вызвала ту же ошибку.

Примечание: ваш может отличаться в зависимости от того, как вы установили VS.

ShaneRoode
источник
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)

kavinda
источник
0

Предположим, у вас есть несколько проектов в решении. Выберите проект, который вы хотите просмотреть в браузере, и выберите «Сделать стартовым проектом» . В вашем множественном проекте, который был основным, визуальная студия не смогла идентифицировать. это было главной проблемой.

Fardim
источник
0

Устранение ошибок заключается в том, что вы уже открыли свой проект, но по ошибке вы выбрали другую библиотеку классов ... вот почему эта ошибка показывает ... так что вам нужно сделать, просто выбрать свой проект, а затем щелкнуть правой кнопкой мыши по проекту

после щелчка правой кнопкой вы можете увидеть список и выбрать опцию « Установить как стартовый проект ».

Сайкат Баник

Сайкат Баник
источник
0

Вы можете щелкнуть правой кнопкой мыши по проекту библиотеки классов и в раскрывающемся списке выбрать Инициализировать интерактивный C #, который загрузит контекст вашего проекта, и вы сможете работать с ним в интерактивном сеансе.

user2063329
источник