Проект Visual Studio встраивается в dll, а не в исполняемый - PullRequest
1 голос
/ 24 февраля 2020

Я представляю это как очень глупый вопрос, но когда я создаю свое решение (консольное приложение), оно создает dll, а не исполняемый файл. Я делаю что-то не так или просто неправильно понимаю, как это работает?

Ответы [ 4 ]

1 голос
/ 24 февраля 2020

Нет, это le git. По крайней мере, для. NET Core 2.x. Для. NET Core 3.x он собирает .EXE. Вы всегда можете запустить его, запустив: dotnet foo.dll.

Так что сейчас вместо Build используйте Publi sh. Это сгенерирует .EXE.

Я обычно держу команду под рукой, чтобы просто сгенерировать ее быстро:

dotnet publish -c Release -r win10-x64 --self-contained:false
1 голос
/ 24 февраля 2020

Щелкните правой кнопкой мыши свой проект в обозревателе решений и выберите Properties в нижней части контекстного меню. Выберите правильное значение Output type, как указано на снимке экрана.

enter image description here

Как уже упоминалось в другом ответе здесь: в случае, если ваша целевая структура равна .NET Core, используйте Publish в меню Build настройки ширины Visual Studio * формат 1013 *, например win-x86, чтобы создать правильный формат выходного приложения.

Проверьте ссылку: Publi sh your. NET Базовое приложение с Visual Studio

1 голос
/ 24 февраля 2020

Если это так. Net Framework, тогда более чем вероятно, что тип вывода проекта установлен на Class Library на странице свойств проекта.

Чтобы это исправить, вы должны убедиться, что у вас есть метод с подписью static void Main() и установите Тип вывода для Консольного приложения.

Чтобы изменить тип вывода:

  1. Щелкните правой кнопкой мыши имя проекта в обозревателе решений
  2. Выберите Свойства
  3. На вкладке «Приложение» измените «Тип вывода» на «Консольное приложение»
  4. Измените раскрывающийся список объекта «Автозагрузка» на класс, содержащий ваш метод Main.
  5. Сохраните свойства и попробуйте построить / отладить снова.
0 голосов
/ 24 февраля 2020

Публикация в exe из Visual Studio

Щелкните правой кнопкой мыши Project> Publi sh> Настроить

  • Выбрать Deployment Mode: Self-Contained

  • Выбрать Preferred Target Runtime

  • Записать Целевое местоположение

  • Hit Publi sh

Теперь вы найдете свой exe в выбранном вами месте назначения

Примечание: Для параметра по умолчанию задан режим, зависящий от платформы, поэтому вы видите файл dll в качестве выходных данных и для запуска можете dotnet MyConsoleApp.dll

.NetCore 2.1 / 2.2 / 3.0 ( Через командную строку)

.NetCore 3.0 (через командную строку)

...