2010-07-15 99 views
1

后,我已经在测试中声明为:错误从.NET3.5迁移到.NET4.0

[Test] 
    [ExpectedException(typeof(FaultException<ArgumentException>))] 
    public void ShouldNotBeAbleToDeleteASystemList() 

当我在VS2008中运行这个目标.NET 3.5这一切工作正常,测试通过的抛出异常。

我已经迁移解决VS2010,改变了目标框架4.0,现在的测试失败,以下细节:

System.ServiceModel.FaultException`1 [System.ArgumentException, mscorlib中,版本= 4.0.0.0, 文化=中立, 公钥= b77a5c561934e089]]被 预计

当我写的实际消息,它是控制台:

System.ServiceModel.FaultException`1 [System.ArgumentException]: 这是一个系统列表并且不能是 删除(故障详细等于 System.ArgumentException:值没有 未在预期范围之内。 )。

我已检查并且所有项目均以.net 4.0为目标。

到底哪里出问题了?

回答

1

对于任何可能遭受此类问题的人。造成此错误的原因是,该异常是由针对.net 2.0框架编译的第三方组件引发的,引发的异常是.net 2.0类。我的代码没有把它解释为同一个类。解决方案是更改第三方组件的配置,以将<supportedRuntime ... />行添加到<startup>部分。