如何链接.NET Core自包含的部署?

问题描述:

我在good tutorial之后创建了一个自包含的.NET Core控制台应用程序。如何链接.NET Core自包含的部署?

此过程会生成一个带有123(!)文件的/publish文件夹,其中包括我的可执行文件。现在,由于所有这些DLL都不可能改变,我想将它们静态链接到可执行文件并获得一个干净的可执行文件。

我在我的构建服务器上连接一个Win64的目标比较有兴趣,但关于如何建立一个可执行的MacOSX或Linux的一个指令将是有用的,我和未来的读者。我记得doing this under .Net classic几年前。有没有人成功在.Net核心下做到这一点?

参见本related corefx issue

+0

你为什么要这样?有什么好处? – Oscar

+0

@Oscar为什么这是一个问题?我想*我更喜欢它*。我不认为解释为什么会帮助任何人回答,因为我不在寻找替代解决方案,也没有沉溺于讨论这是否是好事。如果是这样的话,我可以接受“不可能,这就是为什么......”的答案。 – Sklivvz

+0

你看过CoreRT吗?它确实生成了一个自包含的可执行文件,但它也有一些其他的权衡。据我所知,目前还没有计划将链接添加到.NET Core本身。 – Luaan

自足需要.Net Core CLICoreFX一个参考,所以你不能简单地创建“一个DLL”与所有。您可以尝试通过增加库函数到你的主项目的DLL的量最小化,但我不建议这样

这听起来像你想要的功能是CoreRT (.NET Native compiler toolchain)但它仍处于开发状态,它仅适用于UWP出的盒子。