将C#程序部署为命令行实用程序

将C#程序部署为命令行实用程序,c#,.net,msbuild,visual-studio-code,command-line-interface,C#,.net,Msbuild,Visual Studio Code,Command Line Interface,我用C编写了一个非常简单的程序,从其他电子表格中的数据自动生成特定格式的csv文件,我想将其部署为一个命令行界面实用程序,即一个.exe文件,可以在我使用的IDE VS code之外运行。我已安装了dotnet sdk工具,并尝试将dotnet msbuild与下面的.csproj文件一起使用: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</Output

我用C编写了一个非常简单的程序,从其他电子表格中的数据自动生成特定格式的csv文件,我想将其部署为一个命令行界面实用程序,即一个
.exe
文件,可以在我使用的IDE VS code之外运行。我已安装了dotnet sdk工具,并尝试将
dotnet msbuild
与下面的.csproj文件一起使用:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <Configuration>Release</Configuration>
    <RuntimeIdentifiers>win10-x64</RuntimeIdentifiers>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

</Project>

Exe
释放
win10-x64
Exe
netcoreapp2.1
VS code内置终端中的命令
dotnet msbuild
bin
中生成一个名为
release
的文件夹,其中包含
.dll
文件,但不包含
.exe
文件。我可以向
dotnet msbuild
添加哪些参数以生成
.exe
文件,或者我必须使用其他工具

编辑:我查过了

并尝试了
dotnet publish-c Release-r win10-x64
,但出现以下错误:无法从传输连接读取数据:远程主机强制关闭了现有连接


解决方案:msbuild是错误的工具--我相信csc是正确的工具,因为它创建了一个应用程序文件。

msbuild是错误的工具--我相信csc是正确的工具,因为它创建了一个应用程序文件。

?你是在问如何创建一个
exe
,还是如何从任何命令行窗口使其可用,比如
ping
实用程序?@AleksAndreev这两个理想的核心应用程序都可以使用
dotnet[your_app].dll运行。否则,您可以通过一些额外的工作来获得一个.exe,但这通常不是必需的。@JackHannum-您应该发布一个自我回答,而不是将其编辑到发布的问题本身中。