7

当我尝试编译我的 MVC4 Web 项目时收到以下两个错误:

CA0058 错误运行代码分析 CA0058:找不到引用的程序集“DotNetOpenAuth.AspNet,Version=4.0.0.0,Culture=neutral,PublicKeyToken=2780ccd10d57b246”。此程序集是分析所必需的,并由以下位置引用:C:\Users\bflynn\Visual Studio Sites\mnp\bin\mnp.dll、C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\ v2.0\Assemblies\Microsoft.Web.WebPages.OAuth.dll。[错误和警告](全球)

CA0001 错误运行代码分析 CA0001:读取模块“Microsoft.Web.WebPages.OAuth”时遇到以下错误:无法解析程序集引用:DotNetOpenAuth.AspNet,版本=4.0.0.0,文化=中性,PublicKeyToken=2780ccd10d57b246。[错误和警告](全球)

我最近将DotNetOpenAuth.AspNet包添加到应用程序中,它似乎与此相关。我已经清理、重建、打开/关闭程序、卸载/重新安装包,但错误仍然存​​在。

4

6 回答 6

5

我也遇到了这个。

不要将 DOA 升级到 4.1

看起来 aspnet dll 引用了一个特定的版本。尽管它的 .nuspec 文件说 4.0+ 还可以...

解决方案:

卸载包 - 强制每个 DotNetOpenAuth 包(核心 /aspnet /oauth/openid 等)

安装包 DotNetOpenAuth.AspNet -版本 4.0.4.12182

于 2012-11-12T10:39:15.450 回答
5

我用它来解决这个问题:

1. Uninstall-Package Microsoft.AspNet.WebPages.OAuth –RemoveDependencies
2. Install-Package DotNetOpenAuth.AspNet -Version 4.0.4.12182
3. Install-Package Microsoft.AspNet.WebPages.OAuth
于 2013-07-09T06:45:03.680 回答
1

前几天我遇到了同样的问题并报告了它http://aspnetwebstack.codeplex.com/workitem/443

于 2012-09-27T02:27:42.457 回答
0

Code Analysis error Could not load file or assembly 'System.Net.Http, Version=2.0.0.0 in MVC4 Web API

See Yao's answer. The only solution I found that actually works for this.

于 2013-07-14T21:16:45.337 回答
0

2012 年 9 月 21 日报告了问题。(http://aspnetwebstack.codeplex.com/workitem/443

它于 2013 年 6 月 5 日关闭,消息如下:

下一版本的 MVC 将不再依赖 DotNetOpenAuth。使用下面推荐的解决方法。

所以我使用了解决方法https://stackoverflow.com/a/12847018/1016682

于 2013-06-21T12:47:33.043 回答
0

我遇到过同样的问题。虽然代码分析问题得到了解决,但由于以下错误,Web 应用程序无法运行。

无法加载文件或程序集“DotNetOpenAuth.AspNet”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

事实证明,web.config 没有在卸载过程中被清理。我必须从 runtime/assemblyBinding 部分下的 web.config 中删除以下dependentAssembly。

 <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" />
        <bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" />
        <bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
      </dependentAssembly>
      <dependentAssembly>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

详情可在http://www.bigcode.net/2013/07/error-running-code-analysis-in-vs2012.html阅读

于 2013-07-15T22:42:12.557 回答