发布一个可执行文件

Publish ONE executable file

是否可以将 .NET Core 控制台应用程序发布为单个文件(无论是 EXE 还是 DLL)?

我正在使用 .NET Core 1.1,但我可以灵活地将我的项目移植到另一个版本。

目前,这是不可能的,因为:

  • 可移植 应用程序仍然至少需要一个 runtimeconfig.json 来告诉主机 (dotnet / dotnet.exe) 使用哪个共享运行时。即使您将所有托管代码 IL-Merge 到单个 dll 中,该文件仍然是必需的。主机还期望 deps.json 表达应用程序的依赖关系。
  • 自包含 应用程序依赖于构建 .dll + .deps.json 并从特定于运行时的 NuGet 包复制内容。这还包括搜索 by file name.
  • 的本机库

CoreRT project 旨在使用提前编译将 .NET Core 应用程序编译为单个本机二进制文件,但仍在开发中。