相关疑难解决方法(0)

无法在MVC4 Web API中加载文件或程序集'System.Net.Http,Version = 2.0.0.0

我有一个奇怪的问题.
我使用MVC 4和新的Web API开发了一个应用程序,它在本地工作正常.我在服务器上安装了MVC4并部署了应用程序.现在我收到以下错误:

无法加载文件或程序集'System.Net.Http,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其来源的更多信息

有趣的是,我在本地包含在我的包文件夹或ASP.NET MVC 4\Assemblies文件夹中的System.Net.Http版本是1.0.0.0.我实际上从我的项目中删除了对System.Net.Http的引用,但我仍然得到相同的消息.我有点困惑的是它从哪里获得2.0.0.0参考,以及为什么它在本地工作但不在服务器上.

查看nuget依赖项:

ASP.NET WEb API核心库(Beta)依赖于System.Net.Http.Formatting.
System.Net.Http.Formatting依赖于System.Net.Http.
我猜这就是它的来源.但我确实安装了这个软件包的2.0.20126.16343版本,它只是内部的dll版本为1.0.0.0

我错过了什么吗?

更新:

这是另一个ASP.NET应用程序的子应用程序,但另一个仍然基于WebForms.所以,有些东西搞砸了.但是,如果我在web.config中的汇编部分下执行清理,如果甚至不再找到应用程序本身.

asp.net asp.net-mvc-4 asp.net-web-api

91
推荐指数
3
解决办法
16万
查看次数

无法使用ASP.NET(MVC 4)Web API OData Prerelease加载文件或程序集System.Net.Http,Version = 4.0.0.0

问题

安装Microsoft ASP.NET Web API OData包5.0.0-rc1预发布后,我最终得到以下异常:

无法加载文件或程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

我的MVC 4项目是全新的,非常小,没什么特别之处.我的目标是.NET framework 4.5

我需要这个nuget包使用Delta类实现PATCH (当我使用包的版本4.0.0.0时,Delta类不起作用).

我该如何解决这个问题?

我的System.Web.Http版本

GAC中,我有System.Web.Http的5.0.0.0

gacutil -l System.Web.Http全局程序集缓存包含以下程序集:System.Web.Http,Version = 5.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL

Visual Studio中,当我浏览程序集时,System.Web.Http的给定版本是4.0.0.0(为什么?)

我的项目中,对System.Web.Http的引用

  • 版本是5.0.0.0
  • 指向包的\ lib \net45 \文件夹
  • CopyLocal = true

我试过的事情

我试图在Web.config中将redirect v 4.0.0.0绑定到5.0.0.0

<dependentAssembly>
    <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="4.0.0.0-4.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

但它给了我另一个例外:

通过方法'System.Web.Http.GlobalConfiguration..cctor()'尝试访问字段'System.Web.Http.GlobalConfiguration.CS $ <> 9__CachedAnonymousMethodDelegate2'失败. …

assembly-resolution odata asp.net-mvc-4 asp.net-web-api

81
推荐指数
5
解决办法
15万
查看次数

在代码分析中使用Microsoft.Bcl.Async会导致错误

我正在尝试使用Microsoft.Bcl.Async和代码分析,但是当我运行代码分析时,我得到一个或多个错误.

我正在使用Visual Studio 2012和Update 2.

这对我来说很容易重现:

  1. 创建一个新的默认控制台应用程序.Net 4.
  2. 右键单击References然后选择Manage NuGet Packages...
  3. 单击OnlineasyncSearch Online框中键入.
  4. 你应该看到Async for .Net Framework 4 ....点击Install并接受所有问题.
  5. 添加到Main()一行说:TaskEx.Delay(1000);和ausing System.Threading.Tasks;
  6. 转到项目属性,代码分析部分并勾选Enable Code Analysis on Build.
  7. 编译程序.

我收到两个代码分析错误:

CA0052运行代码分析时出错CA0052:未选择任何目标.[错误和警告](全球)

CA0055运行代码分析CA0055时出错:无法加载ConsoleApplication2.exe.读取模块"ConsoleApplication2"时遇到以下错误:无法解析成员引用:[Microsoft.Threading.Tasks,Version = 1.0.12.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a] System.Threading.Tasks.TaskEx :: Delay.[错误和警告](全球)

我为其他测试程序得到了不同的代码分析错误.我试过的基本Windows窗体应用程序给了我:

CA0001错误运行代码分析CA0001:读取模块"AsyncForNet4"时遇到以下错误:无法解析成员引用:[Microsoft.Threading.Tasks,Version = 1.0.12.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a] System.Threading. Tasks.TaskEx ::延迟.[错误和警告](全球)

两个问题:

  1. 其他人可以重现这个问题吗?
  2. 有人有解决方案吗?

c# code-analysis fxcop base-class-library

20
推荐指数
1
解决办法
5477
查看次数

在VS2012中运行代码分析时出错

我尝试编译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\2.0 \组件\ Microsoft.Web.WebPages.OAuth.dll.[错误和警告](全球)

CA0001错误运行代码分析CA0001:读取模块"Microsoft.Web.WebPages.OAuth"时遇到以下错误:无法解析程序集引用:DotNetOpenAuth.AspNet,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 2780ccd10d57b246.[错误和警告](全球)

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

code-analysis oauth asp.net-mvc-4 visual-studio-2012

7
推荐指数
3
解决办法
4162
查看次数