我有一个。net核心控制台应用程序,并运行dotnet发布。但是,我不知道如何从命令行运行应用程序。有提示吗?
如果它是一个依赖于框架的应用程序(默认值),则通过dotnet yourapp.dll运行它。
如果它是一个自包含的应用程序,在Windows上使用yourapp.exe运行它,在Unix上使用。/yourapp运行它。
有关这两种应用程序类型区别的更多信息,请参阅. net文档上的. net核心应用程序部署文章。
您也可以像运行任何其他控制台应用程序一样运行您的应用程序,但必须在发布之后。
让我们假设您有一个名为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
您可以很容易地创建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.
在。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\
如果你的机器上安装了。net Core SDK,使用CMD可以运行控制台。net Core项目:
要使用Windows命令行运行控制台项目,请从目录中选择特定的路径并键入以下命令:
dotnet run
在运行命令提示符之前,请确保“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发布。只是要确保在构建之前包含所有更改。
推荐文章
- 使iTerm以与其他操作系统相同的方式翻译“元键”
- 如何合并2 JSON对象从2个文件使用jq?
- 如何触发命令行PHP脚本的XDebug分析器?
- Maven命令行如何指向特定的settings.xml为单个命令?
- 如何循环通过文件匹配通配符在批处理文件
- 返回文件在ASP。Net Core Web API
- 我怎么能显示线在公共(反向差异)?
- Git显示“警告:永久添加到已知主机列表”
- .NET控制台应用程序中的全局异常处理程序
- 如何在文本文件中替换${}占位符?
- 如何在批处理文件中请求管理员访问
- 如何在Mac OS Lion上从命令行启动MySQL服务器?
- .NET核心MVC页面更改后不刷新
- 如何使用文件的行作为命令的参数?
- BAT文件:打开新的cmd窗口并在其中执行命令