1、.NET Core命令生成.exe可执行程序
如果是.NET Core 1.0可能需要,csproj(支持的rid列表)中添加目标运行时的运行时标识符:
<PropertyGroup>
<RuntimeIdentifiers>win10-x64;ubuntu.16.10-x64</RuntimeIdentifiers>
</PropertyGroup>
从.NET Core 2.0开始不再需要上述步骤。
运行发布应用程序命令:
dotnet publish -c Release -r win10-x64
或者
dotnet publish -c Release -r ubuntu.16.10-x64
2、使用Warp工具生成单独执行程序
Warp允许您创建独立的单个二进制应用程序,使其更简单,更符合人体工程学,从而将您的应用程序交付给您的客户。当您使用的技术(如Node.js,.NET Core,Java等)包含许多必须与应用程序一起提供的依赖项时,独立的二进制文件特别方便。
Warp是用Rust编写的,在Linux,Windows和macOS上都受支持。
官方地址:https://github.com/dgiagio/warp
2.1、直接使用warp-packer
.\warp-packer --arch windows-x64 --input_dir bin/Release/netcoreapp2.1/win10-x64/publish --exec myapp.exe --output myapp.exe
bin/Release/netcoreapp2.1/win10-x64/publish
:发布的路径,替换成你的项目发布的路径就可以了。
2.2、使用dotnet-warp工具
官方地址:https://github.com/Hubert-Rybak/dotnet-warp
1)安装dotnet-warp工具
dotnet tool install -g dotnet-warp
2)打包命令
根据需要任选一个即可。
使用Warp将当前目录中的项目打包为单个可执行文件
dotnet-warp
使用ILLink.Tasks打包前链接项目
dotnet-warp -l aggressive
注意: .NET团队计划在.NET Core 3.0中内置一个支持生成“独立EXE”的打包解决方案。