【问题标题】:Code analysis CA0001 error for project using NSubstitute使用 NSubstitute 的项目的代码分析 CA0001 错误
【发布时间】:2012-07-06 10:09:35
【问题描述】:

我有一个(.NET 4)测试项目,它引用(.NET 4)NSubstitute.dll。

当我对项目运行 CodeAnalysis 时,我得到了一些 CA0001 错误:

运行代码分析...

MSBUILD:错误:CA0001:读取模块“NSubstitute”时遇到以下错误:无法解析类型引用:[mscorlib,版本=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089]System.Runtime.CompilerServices。扩展属性。

MSBUILD:错误:CA0001:Rule=Microsoft.Interoperability#CA1404,Target=arcplan.test.engage.admin.ecmFramework.CAppSettingsTest.#IsSettingsStoreReadyToUse_SettingsStoreIsNotReady_ReturnsFalse():读取模块“ECMFrameworkTest”时遇到以下错误:方法类型位置 0 的参数无效。

MSBUILD:错误:CA0001:Rule=Microsoft.Security#CA2122,Target=arcplan.test.engage.admin.ecmFramework.CAppSettingsTest.#IsSettingsStoreReadyToUse_SettingsStoreIsNotReady_ReturnsFalse():读取模块“ECMFrameworkTest”时遇到以下错误:方法类型位置 0 的参数无效。

(等等)

有人知道怎么解决吗?

【问题讨论】:

    标签: visual-studio-2010 code-analysis mscorlib nsubstitute


    【解决方案1】:

    您使用的是 1.4.1 版吗?此版本的构建存在由using ilmerge with .NET 4.5 installed 引起的问题。从 NSubstitute 的 1.4.2 版(此评论的最新版本)开始,此问题已得到修复。

    更多详情请访问the commit to fix this

    【讨论】:

    • 我正在使用 1.4.1 - 我将尝试使用 1.4.2。我没有安装 .NET 4.5。
    • 是的!我升级到 NSubstitute 1.4.2 并运行代码分析。非常感谢。
    • @GarethOwen 问题在于分布式二进制文件是在安装了 .NET45 的机器上构建的。很高兴你把事情解决了。很抱歉给您带来不便。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 2014-10-26
    • 2017-10-26
    • 2016-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多