程序集绑定重定向和代码分析

2024-02-25

我在 Visual Studio 2010 的 Mvc 3.0.0.0 项目中使用 DotNetOpenAuth (引用 System.Web.Mvc 版本 1.0.0.0)。

我正在使用程序集绑定重定向,如下所示:-

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

一切正常,除了代码分析,它给了我以下错误:-

CA0001:读取模块 X 时遇到以下错误:无法解析程序集引用:System.Web.Mvc、Version=1.0.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35。

and

CA0058:找不到引用的程序集“System.Web.Mvc,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”。该程序集是分析所必需的,并被以下引用:X.

有没有办法让代码分析工具尊重程序集绑定重定向?


只是补充一点更精确的答案:

您需要使用以下命令运行 FxCopCmd.exe:

fxcopcmd.exe /assemblyCompareMode:StrongNameIgnoringVersion

或者修改每个构建配置的属性组的 Visual Studio 项目文件,如下所示:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
  ...
  <CodeAnalysisAdditionalOptions>/assemblyCompareMode:StrongNameIgnoringVersion</CodeAnalysisAdditionalOptions>
</PropertyGroup>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

程序集绑定重定向和代码分析 的相关文章

随机推荐