我想将我的dotnet核心项目配置为单个可执行文件进行编译。
该项目类似于使用dotnet new
生成的项目:
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true
},
"dependencies": {},
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.1.0"
}
},
"imports": "dnxcore50"
}
},
"runtimes": {
"win10-x64": {}
}
}
我如何才能将其编译为单个program.exe?当我运行dotnet publish
时,它会将dll和program.exe放在发布文件夹中,但不会将它们组合在一起。
答案 0 :(得分:6)
最接近答案的可能是CoreRT
(.Net Core
到Native)。它将非常适合但存在小问题 - 这个项目仍处于早期的apha。一年前,他们向我们展示了演示,但这是一个非常简单的例子,对于更高级的项目是行不通的。更多信息how to try do this。
答案 1 :(得分:3)
从.Net Core 3开始,它就可用,例如:
dotnet publish -r win10-x64 -p:PublishSingleFile=true
另请参阅https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core-3-0#single-file-executables