我有一个。net核心控制台应用程序,并运行dotnet发布。但是,我不知道如何从命令行运行应用程序。有提示吗?
当前回答
您可以很容易地创建EXE(用于Windows),而无需使用任何神秘的构建命令。你可以在Visual Studio中完成。
Right click the Console App Project and select Publish. A new page will open up (screen shot below) Hit Configure... Then change Deployment Mode to Self-contained or Framework dependent. .NET Core 3.0 introduces a Single file deployment which is a single executable. Use "framework dependent" if you know the target machine has a .NET Core runtime as it will produce fewer files to install. If you now view the bin folder in explorer, you will find the .exe file. You will have to deploy the exe along with any supporting config and dll files.
其他回答
您可以很容易地创建EXE(用于Windows),而无需使用任何神秘的构建命令。你可以在Visual Studio中完成。
Right click the Console App Project and select Publish. A new page will open up (screen shot below) Hit Configure... Then change Deployment Mode to Self-contained or Framework dependent. .NET Core 3.0 introduces a Single file deployment which is a single executable. Use "framework dependent" if you know the target machine has a .NET Core runtime as it will produce fewer files to install. If you now view the bin folder in explorer, you will find the .exe file. You will have to deploy the exe along with any supporting config and dll files.
您也可以像运行任何其他控制台应用程序一样运行您的应用程序,但必须在发布之后。
让我们假设您有一个名为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
在运行命令提示符之前,请确保“appsettings. properties”为“appsettings. properties”。“appsettings.Development.json”的值与“appsettings.Development.json”的值相同。
在命令提示符中,一直到bin/debug/netcoreapp2.0文件夹。然后运行"dotnet applicationname.dll"
转到…\bin\Debug\net5.0(“net5.0”也可以是类似于“netcoreapp2.2”的东西,这取决于你使用的框架。)
如图所示,点击打开一个PowerShell窗口。
在PowerShell窗口中输入:.\yourApp.exe
你不需要dotnet发布。只是要确保在构建之前包含所有更改。
在。net Core 3.0中,你可以使用PublishSingleFile属性将整个解决方案打包成一个可执行文件:
-p:PublishSingleFile=True
来源:单文件可执行文件
一个独立的OS X可执行文件的例子:
dotnet publish -c Release -r osx-x64 -p:PublishSingleFile=True --self-contained True
一个自包含的、调试的Linux 64位可执行文件的例子:
dotnet publish -c Debug -r linux-x64 -p:PublishSingleFile=True --self-contained True
Linux版本是独立于发行版的,我发现它们可以在Ubuntu 18.10 (Cosmic Cuttlefish)、CentOS 7.7和Amazon Linux 2上运行。
一个自包含的可执行文件包括。net运行时,而运行时不需要安装在目标计算机上。已发布的可执行文件保存在:
<ProjectDir>/bin/<Release or Debug>/netcoreapp3.0/<target-os>/publish/ Linux、OS X和
在Windows上<ProjectDir>\bin\<Release or Debug>\netcoreapp3.0\<target-os>\publish\