2014-10-16 84 views
1

我有一個正常工作的庫項目,它使用流利的nhibernate,npgsql,enyim.caching dll文件,我使用ilmerge將所有文件合併爲一個,然後合併的dll文件被另一個項目引用,然後它不起作用,它抱怨找不到enyim.caching.dll的組件,並且缺少nhibernate的配置。 命令我使用合併低於使用ILMerge合併多個dll文件到一個dll,一些dll文件不能使用

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 

從該項目引用它的錯誤:

Message =「'FluentNHibernate.Automapping.IAutoClasslike,testmerged,Version = 2.12.0.0,Culture = neutral,PublicKeyToken = null'缺少無參數構造函數。」

消息=「無法加載文件或程序集」Enyim.Caching「或它的某個依賴項,系統找不到指定的文件。

我注意那些2個dll文件使用的是運行時版本v2.0.50727,運行時版本v4.0.30319下的所有文件都正常工作。

那麼,你們可以給我們一些建議如何解決這個問題嗎? 感謝

回答

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"/>