【发布时间】:2017-08-04 16:20:09
【问题描述】:
我在 good tutorial 之后创建了一个独立的 .NET Core 控制台应用程序。
此过程会生成一个 /publish 文件夹,其中包含 123(!) 个文件,包括我的可执行文件。现在,由于所有这些 dll 都不太可能改变,我想将它们静态链接到可执行文件并获得一个单一的、干净的可执行文件。
我最感兴趣的是在我的构建服务器上链接一个 win64 目标,但是关于如何构建一个 macosx 可执行文件或一个 linux 的说明将对我和未来的读者有用。
我记得几年前的doing this under .Net classic。有没有人在.Net Core下成功过?
【问题讨论】:
-
你为什么要那个?有什么好处?
-
@Oscar 为什么会有这样的担忧?我想我更喜欢它。我不认为解释为什么会帮助任何人回答,因为我不是在寻找替代解决方案,也不是沉迷于讨论这是否是一件好事。我可以接受“不可能,这就是为什么......”的答案,如果是这样的话。
-
你看过 CoreRT 吗?它确实生成了一个独立的可执行文件,尽管它也有一些其他的权衡。据我所知,目前没有添加到 .NET Core 本身的链接的计划。
-
@Oscar 对我的评论语气感到抱歉。每次我问一个棘手的问题时,都会有人回答“为什么?我不会打扰”,我希望这次能避免。只是因为学习新东西很酷:-)
-
.net 出来已经有 15 年了,它仍然不能像 MFC 那样创建一个在所有 Windows 计算机上都能“正常工作”的简单单个文件 exe!但是我认为避免使用 C++ 还是值得的。
标签: .net .net-core static-linking