NUnit无法加载程序集

时间:2015-01-27 20:23:42

标签: c# winforms nhibernate nunit

我有一个使用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下运行才会出现问题。

谢谢

1 个答案:

答案 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>