C# 发布一个可执行文件
是否有可能将.NET核心控制台应用程序发布为单个文件(无论是EXE还是DLL)C# 发布一个可执行文件,c#,.net-core,.net-core-1.1,C#,.net Core,.net Core 1.1,是否有可能将.NET核心控制台应用程序发布为单个文件(无论是EXE还是DLL) 我正在使用.NET Core 1.1,但我可以灵活地将我的项目移植到另一个版本。目前,这是不可能的,因为: 可移植应用程序仍然需要至少一个runtimeconfig.json来告诉主机(dotnet/dotnet.exe)要使用哪个共享运行时。即使您将所有托管代码合并到一个dll中,该文件仍然是必需的。主机还需要一个deps.json来表示应用程序的依赖关系 自包含的应用程序依赖于构建.dll+.deps.json
我正在使用.NET Core 1.1,但我可以灵活地将我的项目移植到另一个版本。目前,这是不可能的,因为:
- 可移植应用程序仍然需要至少一个
来告诉主机(runtimeconfig.json
/dotnet
)要使用哪个共享运行时。即使您将所有托管代码合并到一个dll中,该文件仍然是必需的。主机还需要一个dotnet.exe
来表示应用程序的依赖关系deps.json
- 自包含的应用程序依赖于构建
+.dll
并从特定于运行时的NuGet软件包复制内容。这还包括搜索的本机库.deps.json
其目标是使用提前编译将.NET核心应用程序编译为单个本机二进制文件,但仍在开发中。您应该能够使用卫星程序集进行一些操作看看我试图按照您链接的答案中的说明进行操作,但没有任何效果。发布后,我得到了一个很长的DLL列表(不仅仅是一个)。@mankers“弹性”是什么意思?你的意思是你希望或计划将你的项目移植到另一个版本吗?@AnthonyGatlin不完全是,我正在启动一个新项目,目前正处于研究阶段。