Как запустить консольное приложение.NET Core из командной строки

У меня есть консольное приложение.NET Core, и я запустил dotnet publish, Однако я не могу понять, как запустить приложение из командной строки. Есть намеки?

9 ответов

Решение

Если это приложение, зависящее от фреймворка (по умолчанию), вы запускаете его dotnet yourapp.dll,

Если это автономное приложение, вы запускаете его, используя yourapp.exe на Windows и ./yourapp на Unix.

Для получения дополнительной информации о различиях между двумя типами приложений см. Статью .NET Core Application Deployment в.Net Docs.

Вы можете очень легко создать EXE (для Windows) без использования каких-либо загадочных команд сборки. Вы можете сделать это прямо в Visual Studio.

  1. Щелкните правой кнопкой мыши по проекту консольного приложения и выберите " Опубликовать".
  2. Откроется новая страница (снимок экрана ниже)
  3. Нажмите Настроить...
  4. Затем измените режим развертывания на автономный или зависимый от платформы
  5. Если вы теперь просматриваете папку bin в проводнике, вы найдете файл.exe.
  6. Вам нужно будет развернуть исполняемый файл вместе с любыми файлами конфигурации и DLL.

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

Предположим, у вас есть простое консольное приложение с именем MyTestConsoleApp. Откройте консоль диспетчера пакетов и выполните следующую команду:

dotnet publish -c Debug -r win10-x64 

-c флаг означает, что вы хотите использовать конфигурацию отладки (в другом случае вы должны использовать значение Release) - r флаг означает, что ваше приложение будет работать на платформе Windows с архитектурой x64.

Когда процедура публикации будет завершена, вы увидите файл *.exe, расположенный в каталоге bin/Debug/publish.

Теперь вы можете вызвать его с помощью инструментов командной строки. Поэтому откройте окно CMD (или терминал), перейдите в каталог, где находится ваш файл *.exe, и введите следующую команду:

>> MyTestConsoleApp.exe argument-list

Например:

>> MyTestConsoleApp.exe --input some_text -r true

С dotnetcore3.0 вы можете упаковать все решение в однофайловый исполняемый файл, используя PublishSingleFile свойство

-p:PublishSingleFile=True

Исходные однофайловые исполняемые файлы

Пример Self Contained, Release Исполняемый файл OSX:

dotnet publish -c Release -r osx-x64 -p:PublishSingleFile=True --self-contained True

Пример Self Contained, Debug 64-битный исполняемый файл Linux:

dotnet publish -c Debug -r linux-x64 -p:PublishSingleFile=True --self-contained True

Сборка Linux не зависит от дистрибутива, и я обнаружил, что они работают с Ubuntu 18.10, CentOS 7.7 и Amazon Linux 2.

Автономный исполняемый файл включает среду выполнения Dotnet, и ее не требуется устанавливать на целевой машине. Опубликованные исполняемые файлы сохраняются в:

<ProjectDir>/bin/<Release or Debug>/netcoreapp3.0/<target-os>/publish/ в Linux, OSX и

<ProjectDir>\bin\<Release or Debug>\netcoreapp3.0\<target-os>\publish\ в Windows.

Используя CMD, вы можете запустить консольный проект ядра.NET, если на вашем компьютере установлен пакет SDK ядра.NET:

Чтобы запустить консольный проект с помощью командной строки Windows, выберите конкретный путь из вашего каталога и введите следующую команду ниже

dotnet run

Идти к ...\bin\Debug\net5.0 (net5.0 также может быть чем-то вроде "netcoreapp2.2" в зависимости от используемой вами структуры.)

Откройте оболочку питания, щелкнув по ней, как показано на рисунке.

Введите в PowerShell: .\yourApp.exe

Вам не нужна публикация dotnet, просто убедитесь, что вы создали ее перед включением всех изменений.

  1. Откройте командную строку или окно терминала.
  2. Перейдите в каталог, содержащий скомпилированный исполняемый файл консольного приложения .NET Core. Исполняемый файл имеет расширение .exe.
  3. Для запуска приложения используйте команду dotnet, за которой следует имя исполняемого файла. Например, если ваш исполняемый файл называется «MyApp.exe», команда будет такой:

dotnet MyApp.exe

  1. Нажмите Enter, чтобы выполнить команду.
  2. Ваше консольное приложение .NET Core начнет работать, и вы увидите выходные данные в командной строке или окне терминала.

Вот и все! Ваше консольное приложение .NET Core теперь запускается из командной строки.

Если это приложение, зависящее от платформы (по умолчанию), вы запускаете его с помощью dotnet yourapp.dll.

Путь к папке:- Bin\Debug\net5.0

Шаги ;_

  1. Cd и вставьте путь 2) запустите dotnet yourapp.dll.

Путь моего приложения: C:\Projects\CallLetter\CallLetterConsoleApp\CallLetterConsoleApp\bin\Debug\net5.0

Перед запуском в командной строке убедитесь, что appsettings.json имеет те же значения, что и appsettings.Development.json.

В командной строке перейдите в папку bin/debug/netcoreapp2.0. затем запустите "dotnet applicationname.dll"

Другие вопросы по тегам