如何创建一个dotnet核心单个可执行文件

时间:2016-12-14 22:19:23

标签: .net asp.net-core .net-core

我想将我的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放在发布文件夹中,但不会将它们组合在一起。

2 个答案:

答案 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