Arn*_*j65 8 .net ilmerge visual-studio-2010
我有一个基础项目,可以提供两个不同的项目.我希望能够让主项目在编译时将所有引用编译成一个dll.
这需要是项目构建中内置的东西,以便Jr开发人员不必担心它.
解决方案:我最后在项目的Post-build操作中添加了一行,以便良好的构建执行以下操作:
$(ProjectDir)ilmerge.exe /out: /ver: <.dll> <.dll>
Run Code Online (Sandbox Code Playgroud)
ilmerge.exe
被移动到项目中,上面的线路获取了dll并创建了一个.
(此答案已编辑,以更新新下载位置的链接并反映新的见解)
您最好的选择是使用Micorosoft的ILMerge.它曾经可以从Microsoft Research单独下载(它不是 VS或.NET SDK的一部分).
在最初的版本一直保持到2012年.它现在是一个NuGet包,这是得到它目前,并把它添加到您的项目并生成服务器的最佳方式.
作为替代方案,您可能希望从CodePlex 尝试ILMerge GUI,它为ILMerge提供GUI界面.它的发展被打断了,但现在再次活跃起来.
有关ILMerge的Codeproject文章详细介绍了如何使用它并解释了一些用例.示例命令是:
ilmerge /target:winexe /out:AllInOne.exe NormalProgram.exe Lib1.dll Lib2.dll
Run Code Online (Sandbox Code Playgroud)
作为替代方案,可以使用Fody与Costura.Fody,如本解释SO响应.
注意(1):如果需要合并并行组件(即混合本机64位和32位程序集),您应该参考这篇关于动态加载并行程序集的SO文章.
注意(2):要将此作为构建过程的一个不可或缺的步骤添加,只需转到项目属性>构建事件>单击"编辑后构建"并从上面填写命令.单击"宏"以查看如何引用当前文件或程序集.
归档时间: |
|
查看次数: |
11151 次 |
最近记录: |