我在Visual Studio中有5个项目的解决方案。它们是:在Visual Studio项目中引用使用ILMerge创建的程序集
Foo.Core
:核心功能- :网络特定的扩展
Foo.Web.Mvc
:构建在核心的顶部Foo.Web
- 生成的代码MVC-具体分机
Newtonsoft.Json
:第三方库
我想用ILMerge合并Foo.Core
,和Newtonsoft.Json
到一个单一的组件,叫做Foo
。这是很容易的部分。
我遇到的问题是Foo.Web
和Foo.Web.Mvc
都需要引用所有三个合并的程序集。
如果我引用原始程序集,则在执行ILMerge后,它们将具有无效引用。
如果我参考ILMerged程序集,我必须引用一个调试程序集,然后在将所有东西打包之前进行更改,这看起来并不理想。
我试过创建一个名为Foo
的项目,它引用了3个合并的程序集,并用ILmerged程序集替换了它自己的输出,但这似乎根本不起作用。
有没有可靠的方法来做到这一点?
是的,我试过这样做,但无法得到我期待的效果。看起来ILMerge需要在发布之前保留最后一步,而不是编译时。 – 2010-05-08 21:00:08
我认为如果您的项目按照正确的顺序构建,就可以实现这一目标。您是否设置了项目依赖关系以确保构建顺序? – JoeBilly 2010-05-08 23:41:41