2010-07-15 85 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>部分。