2012-07-06 50 views
0

我有一個(.NET 4)測試項目引用(NET 4)NSubstitute.dll。代碼分析CA0001錯誤項目使用NSubstitute

當我運行CodeAnalysis反對該項目,我得到了一些CA0001錯誤:

運行代碼分析...

MSBUILD:錯誤:CA0001:讀取模塊時遇到下面的錯誤「 NSubstitute':無法解析類型引用:[mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089] System.Runtime.CompilerServices.ExtensionAttribute。

MSBUILD:錯誤:CA0001:規則= Microsoft.Interoperability#CA1404,目標= arcplan.test.engage.admin.ecmFramework.CAppSettingsTest#IsSettingsStoreReadyToUse_SettingsStoreIsNotReady_ReturnsFalse():在讀取模塊被遇到以下錯誤 'ECMFrameworkTest':方法位置0的類型參數無效。

MSBUILD:錯誤:CA0001:規則= Microsoft.Security#CA2122,目標= arcplan.test.engage.admin.ecmFramework.CAppSettingsTest#IsSettingsStoreReadyToUse_SettingsStoreIsNotReady_ReturnsFalse():在讀取模塊被遇到以下錯誤 'ECMFrameworkTest':方法位置0的類型參數無效。

(等)

有誰知道如何解決這個問題?

回答

2

您使用的是版本1.4.1嗎?此版本的構建有問題,由using ilmerge with .NET 4.5 installed引起。這是從NSubstitute 1.4.2版本(此評論的最新版本)中解決的。

更多詳細信息請見the commit to fix this

+0

我正在使用1.4.1 - 我會嘗試使用1.4.2.I沒有安裝.NET 4.5。 – GarethOwen 2012-07-06 12:38:33

+0

是的!我升級到NSubstitute 1.4.2並運行代碼分析。非常感謝。 – GarethOwen 2012-07-06 12:46:36

+0

@GarethOwen問題是分佈式二進制文件是在安裝了.NET45的機器上構建的。很高興你把事情解決了。抱歉給你帶來不便。 – 2012-07-06 13:08:25