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

Skl*_*vvz 7 .net static-linking .net-core

我按照这个很好的教程创建了一个独立的 .NET Core 控制台应用程序。

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

我最感兴趣的是在我的构建服务器上链接一个 win64 目标,但是有关如何构建 macosx 可执行文件或 linux 可执行文件的说明对我和未来的读者都很有用。

我记得几年前在 .Net classic 下做这件事。有没有人在 .Net Core 下成功做到过?

另请参阅此相关的 corefx 问题

J. *_*Doe 1

自包含需要引用.Net Core CLICoreFX,因此您不能简单地创建“一个 DLL”。您可以尝试通过将 libs 函数添加到主项目中来尽量减少 DLL 的数量,但我不推荐这种方式

听起来您想要的功能是CoreRT(.NET Native 编译器工具链),但它仍在大量开发中,并且仅适用于开箱即用的UWP 。