Code analysis CA0001 error for project using NSubstitute
我有一个 (.NET 4) 测试项目,它引用 (.NET 4) NSubstitute.dll。
当我对项目运行 CodeAnalysis 时,我得到了一些 CA0001 错误:
运行代码分析...
MSBUILD : error : CA0001 : The following error was encountered while reading module 'NSubstitute': Could not resolve type reference: [mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]System.Runtime.CompilerServices.ExtensionAttribute.
MSBUILD : error : CA0001 : Rule=Microsoft.Interoperability#CA1404, Target=arcplan.test.engage.admin.ecmFramework.CAppSettingsTest.#IsSettingsStoreReadyToUse_SettingsStoreIsNotReady_ReturnsFalse() : The following error was encountered while reading module 'ECMFrameworkTest': Method type parameter in position 0 is not valid.
MSBUILD : error : CA0001 : Rule=Microsoft.Security#CA2122, Target=arcplan.test.engage.admin.ecmFramework.CAppSettingsTest.#IsSettingsStoreReadyToUse_SettingsStoreIsNotReady_ReturnsFalse() : The following error was encountered while reading module 'ECMFrameworkTest': Method type parameter in position 0 is not valid.
(等)
有谁知道如何解决这个问题?
您使用的是 1.4.1 版吗?此版本的构建有一个问题,原因是使用安装了 .NET 4.5 的 ilmerge。从 NSubstitute 的 1.4.2 版开始,此问题已得到修复(此评论的最新版本)。
有关修复此问题的提交提供了更多详细信息。