我有一个正常工作的库项目,它使用流畅的nhibernate,npgsql,enyim.caching dll文件,我使用ilmerge将所有文件合并为一个,然后合并的dll文件被引用另一个项目,然后它没有工作,它抱怨无法找到enyim.caching.dll的程序集,以及缺少nhibernate的配置 我用于合并的命令在
之下ilmerge /targetplatform:v4 /target:library /out:testmerged.dll Release/Enyim.Caching.dll Release/FluentNHibernate.dll Release/Iesi.Collections.dll Release/log4net.dll Release/Mono.Security.dll Release/NHibernate.Caches.SysCache.dll Release/NHibernate.dll Release/Npgsql.dll Release/mylib.dll
引用它的项目中的错误:
消息="' FluentNHibernate.Automapping.IAutoClasslike,testmerged,Version = 2.12.0.0,Culture = neutral,PublicKeyToken = null'缺少无参数构造函数。"
消息="无法加载文件或程序集' Enyim.Caching'或其中一个依赖项。系统找不到指定的文件。"
我注意那两个dll文件正在使用运行时版本v2.0.50727,运行时版本v4.0.30319下的所有文件都正常工作。
那么,你们可以提出任何建议如何解决这个问题吗? 感谢
答案 0 :(得分:1)
好的,最后,我找到了enyim.caching.dll的解决方案 我必须添加
<sectionGroup name="enyim.com">
<section name="memcached" type="Enyim.Caching.Configuration.MemcachedClientSection, testmerged"/>
</sectionGroup>
<section name="memcached" type="Enyim.Caching.Configuration.MemcachedClientSection, testmerged"/>
在我的配置文件
中