如何从命令行运行.NET Core控制台应用程序


Answers:


273

如果它是依赖于框架的应用程序(默认设置),则由来运行它dotnet yourapp.dll

如果它是一个独立的应用程序,则可以yourapp.exe在Windows和./yourappUnix 上运行它。

有关这两种应用程序类型之间差异的详细信息,请参阅.Net Docs上的.NET Core应用程序部署文章。


22
我花了多长时间发现了它,真是太神奇了。我正在尝试各种“ dotnet run”命令等。这是我在很多搜索中遇到的第一个地方,这些搜索为运行控制台应用程序提供了正确的dotnet用法。Microsoft为什么要使.NET Core如此不受开发人员欢迎?
Glen Thomas

2
@GlenThomas如果要运行正在开发的应用程序,请使用dotnet run。另外,你在哪里看?您希望在哪里获得这些信息?
svick

1
使用更新的MSBuild csproj设置而不是旧的project.json文件的.NET核心项目似乎不再是“ dotnet run”。
Glen Thomas

1
@GlenThomas并非如此,dotnet run新的csproj项目的工作原理与project.json的工作原理相同。
2013年

5
@GlenThomas,不确定这是否是您遇到的问题,但是当您尝试使用时dotnet run,请确保您位于项目目录中,而不是解决方案目录中。
瑞安·伦迪

46

您可以非常轻松地创建EXE(对于Windows),而无需使用任何隐秘的生成命令。您可以在Visual Studio中直接进行操作。

  1. 右键单击Console App Project,然后选择“ 发布”
  2. 将会打开一个新页面(下面的屏幕截图)
  3. 点击配置...
  4. 然后将部署模式更改为自包含依赖于框架.NET Core 3.0引入了单个文件部署,该文件是单个可执行文件。
  5. 如果您知道目标计算机具有.NET Core运行时,请使用“依赖于框架”,因为它将产生较少的文件来安装。
  6. 如果现在在资源管理器中查看bin文件夹,则将找到.exe文件。
  7. 您将必须与所有支持的配置文件和dll文件一起部署exe。

控制台应用发布


5
是的 有EXE-以及217个其他文件(api-ms-win-core-namedpipe-l1-1-0.dll等)。无论如何,将其捆绑到单个EXE?
艾尔顿(Elton)

1
好问题@Elton。我不知道。AFAIK,您必须部署所有dll。
杰西

2
我认为将其配置为独立的事实将要求所有这些DLL都存在。如果您不希望它们在那里,则部署模式可能需要依赖于框架
kippermand

1
你是我的星期五!
罗宾·约翰逊

20

您也可以像发布任何其他控制台应用程序一样运行您的应用程序,但只能在发布后运行。

假设您有一个名为MyTestConsoleApp的简单控制台应用程序。打开程序包管理器控制台并运行以下命令:

dotnet publish -c Debug -r win10-x64 

-c标志表示您要使用调试配置(在其他情况下,您应使用Release值)-r标志表示您的应用程序将在具有x64体系结构的Windows平台上运行。

当发布过程完成后,您将在bin / Debug / publish目录中看到* .exe文件。

现在您可以通过命令行工具调用它。因此,打开CMD窗口(或终端),移至* .exe文件所在的目录,并编写下一个命令:

>> MyTestConsoleApp.exe argument-list

例如:

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

2

使用dotnetcore3.0,您可以使用PublishSingleFile属性将整个解决方案打包到一个文件可执行文件中

-p:PublishSingleFile=True

单文件可执行文件

的一个例子Self ContainedReleaseOSX可执行:

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

的一个例子Self ContainedDebugLinux的64位可执行文件:

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

Linux构建与发行版无关,我发现它们可以在Ubuntu 18.10,CentOS 7.7和Amazon Linux 2上运行。

自包含可执行文件包括Dotnet Runtime,并且不需要在目标计算机上安装Runtime。已发布的可执行文件保存在以下位置:

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

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


您还可以将配置添加到csproj文件中:<PublishSingleFile>true</PublishSingleFile>
Mahdi

0

如果您的计算机上安装了.net core SDK,则可以使用CMD运行控制台.net core项目:

要使用Windows命令行运行控制台项目,请从目录中选择特定路径,然后在下面的命令中键入以下内容

网络运行


0

在cmd提示符下运行之前,请确保“ appsettings.json”具有与“ appsettings.Development.json”相同的值。

在命令提示符下,一直转到bin / debug / netcoreapp2.0文件夹。然后运行“ dotnet applicationname.dll”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.