我最常听到ilmerge
被用作将一堆dll合并为一个可执行文件的方法,以帮助分发桌面应用程序。
将它用作在类库中强制执行依赖链的方法是否也可行?
例如,假设我有三个组件:
* dllA
* dllB
* dllC
其依赖链是:
* dllA -> dllC
* dllA -> dllB
* dllB -> dllC
现在,如果dllC
被修改为v1
到v2
的新版本,dllA
是否有可能被强制使用dllC_v1
dllB
被迫使用dllC_v2
?
* dllA -> dllC_v1
(dllC_v1 is ilmerged into dllA)
* dllA -> dllB -> dllC_v2
(dllC_v2 is ilmerged into dllB)
此外,版本控制配置在这种情况下如何工作?如果dllC
依赖于web/app.config
中定义的配置部分,并且期望配置架构/密钥在dllC_v1
和dllC_v2
之间有所不同,那么会发生什么?