Как запустить консольное приложение.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.
- Щелкните правой кнопкой мыши по проекту консольного приложения и выберите " Опубликовать".
- Откроется новая страница (снимок экрана ниже)
- Нажмите Настроить...
- Затем измените режим развертывания на автономный или зависимый от платформы
- Если вы теперь просматриваете папку bin в проводнике, вы найдете файл.exe.
- Вам нужно будет развернуть исполняемый файл вместе с любыми файлами конфигурации и 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, просто убедитесь, что вы создали ее перед включением всех изменений.
- Откройте командную строку или окно терминала.
- Перейдите в каталог, содержащий скомпилированный исполняемый файл консольного приложения .NET Core. Исполняемый файл имеет расширение .exe.
- Для запуска приложения используйте команду dotnet, за которой следует имя исполняемого файла. Например, если ваш исполняемый файл называется «MyApp.exe», команда будет такой:
dotnet MyApp.exe
- Нажмите Enter, чтобы выполнить команду.
- Ваше консольное приложение .NET Core начнет работать, и вы увидите выходные данные в командной строке или окне терминала.
Вот и все! Ваше консольное приложение .NET Core теперь запускается из командной строки.
Если это приложение, зависящее от платформы (по умолчанию), вы запускаете его с помощью dotnet yourapp.dll.
Путь к папке:- Bin\Debug\net5.0
Шаги ;_
- 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"