Iai*_*way 44 code-analysis visual-studio-2010 assemblybinding visual-studio
我在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>
Run Code Online (Sandbox Code Playgroud)
一切正常,除了代码分析,它给我以下错误: -
CA0001:读取模块X时遇到以下错误:无法解析程序集引用:System.Web.Mvc,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35.
和
CA0058:找不到引用的程序集"System.Web.Mvc,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35".此程序集是分析所必需的,并引用:X.
有没有办法让代码分析工具尊重程序集绑定重定向?
pet*_*ven 64
只是为了补充更精确的答案:
您需要运行FxCopCmd.exe:
fxcopcmd.exe /assemblyCompareMode:StrongNameIgnoringVersion
Run Code Online (Sandbox Code Playgroud)
或修改每个构建配置的属性组的Visual Studio项目文件,如下所示:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
...
<CodeAnalysisAdditionalOptions>/assemblyCompareMode:StrongNameIgnoringVersion</CodeAnalysisAdditionalOptions>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
请参阅http://davesbox.com/archive/2008/06/10/reference-resolution-changes-in-code-analysis-and-fxcop-part-1.aspx和http://davesbox.com/archive/2008 /06/14/reference-resolutions-changes-in-code-analysis-and-fxcop-part-2.aspx获取一些背景信息.
在VS2010/FxCop 10.0中,有一个用于fxcopcmd.exe的新/ assemblyCompareMode命令行开关,它允许您指定比较模式而不会与.config文件混淆.您可以使用CodeAnalysisAdditionalOptions MSBuild属性在VS项目中指定此项.
| 归档时间: |
|
| 查看次数: |
9313 次 |
| 最近记录: |