如何创建一个.NET Core单一可执行文件

11
我想配置我的dotnet core项目为单个可执行文件编译。 这个项目类似于使用"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放在发布文件夹中,但不会将它们组合在一起。


我不确定,但我认为这是不可能的,你为什么想要这样做呢? - agua from mars
7
简化命令行应用的部署流程 - 只需一个文件。 - Michael Hedgpeth
我也不认为这是可能的。如果你正在寻找一种简单的方式来部署一个单一的可执行文件,你可以将你发布的文件放入一个可执行的压缩文件中 - 这将给你一个单一的exe。 - cygnim
2
除了CoreRT之外,您还可以使用BoxedApp打包程序。该打包程序可以将所有依赖项打包到一个可执行文件中。因此,您可以将您的dotnet core项目打包成exe文件。 - redeye
2个回答

7
最接近答案的可能是 CoreRT(将.Net Core转换为本机代码)。它非常适合,但存在一个小问题-该项目仍处于早期阿尔法版。一年前,他们向我们展示了演示文稿,但那只是一个非常简单的例子,对于更高级的项目来说不起作用。有关更多信息,请参见如何尝试执行此操作

1
CoreRT目前的状态支持相当复杂的应用程序。它绝对值得一看。而且开始使用也非常容易。 - Fabian

5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接