我有一个使用nhibernate,nhibernate.validator和其他库的winforms应用程序。
当我运行独立的winforms应用程序时,一切都像魅力一样。
但是当我尝试使用Nunit运行我的测试用例时,它无法加载程序集:
RManager.Tests.Model.AgentTest(TestFixtureSetUp): SetUp:System.TypeInitializationException:O inicializador de tipo de'NHibernate.Validator.Event.NHibernateSharedEngineProvider'acionouumaexponção。 ----> System.IO.FileLoadException:无法加载文件或程序集'NHibernate,Version = 3.3.1.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4'。 (ExceçãodeHRESULT:0x80131040)
奇怪的是,nhibernate几乎是对所有内容的依赖,但它们使用版本4.0.0.4000。
每个项目都有一个重定向:
<dependentAssembly>
<assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.4000" newVersion="4.0.0.4000" />
</dependentAssembly>
我怎样才能弄清楚出了什么问题?因为看起来只有在nunit下运行才会出现问题。
谢谢
答案 0 :(得分:-1)
尝试将oldVersion设置为3.3.1.4000,这应该将VS重定向到版本4.0.0.4000
<dependentAssembly>
<assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
<bindingRedirect oldVersion="3.3.1.4000" newVersion="4.0.0.4000" />
</dependentAssembly>