VS2010 + NUnit无法加载程序集?

时间:2010-08-11 08:04:02

标签: c# nhibernate visual-studio-2010 nunit c#-4.0

我在一个项目中使用VS2010,C#4.0,NHibernate和NUnit正在进行中..在进行数据库测试时我遇到了一个奇怪的问题。当我运行我的测试时,nunit-agent.exe崩溃没有明显原因..我从那时起发现,当我调试我的测试时,我在TestFixtureSetup方法中得到以下异常:

  

TypeInitializationException:类型   初始化器   'NHibernate.ByteCode.Castle.ProxyFactory'   抛出一个例外。   无法加载文件或程序集   “Castle.DynamicProxy2,   版本= 2.1.0.0,文化=中立,   PublicKeyToken = 407dd0808d44fbdc'或   其中一个依赖项。位于   程序集的清单定义   与程序集引用不匹配。   (HRESULT的例外情况:   0x80131040) “:” Castle.DynamicProxy2,   版本= 2.1.0.0,文化=中立,   公钥= 407dd0808d44fbdc

现在,在我看来,它所寻找的东西与它找到的相同?

我已经进行了双重检查,并且在测试项目中引用了程序集。我也试过读取引用,但无济于事..有什么想法吗?

UPDATE2:我尝试将目标框架更改为所有项目的.net 3.5,现在所有测试都失败并出现上述错误。

更新:有些测试有效,有些则不行..我有客户类:

public class Customer : IEntity<string>
{
  private readonly string id;
  public virtual string Id
  {
    get { return id; }
  }

  public virtual string Name { get; set; }
  public virtual Address Address { get; set; }
}

测试运行完全正常..但我的产品类测试:

public class Product : IEntity<string>
{
  private readonly string id;

  public virtual string Name { get; set; }
  public virtual decimal Price { get; set; }

  public virtual string Id 
  {
    get { return Id; }
  }
}

不起作用(我之前得到了异常)..而有趣的是,两个类的测试都使用包含所有数据库访问代码的完全相同的基类。

1 个答案:

答案 0 :(得分:2)

我解决了问题..看起来Nhibernate正在寻找DynamicProxy 2.1.0,而我引用了2.1.1 ..