C# System.Web.Http.WebHost 和 NewtonSoft.Json 无法使用正确的程序集。

18 浏览
0 Comments

C# System.Web.Http.WebHost 和 NewtonSoft.Json 无法使用正确的程序集。

当我尝试运行一个C# Web API项目时,出现了以下错误:

无法加载文件或程序集“Newtonsoft.Json”或其某个依赖项。所定位程序集的清单定义与程序集引用不匹配。(HRESULT 异常: 0x80131040)

所以我去包管理器更新了NewtonSoft.Json,这个错误就解决了。但是当我再次运行项目时,出现了以下错误:

附加信息:无法加载文件或程序集“System.Web.Http.WebHost,版本=5.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其某个依赖项。所定位程序集的清单定义与程序集引用不匹配。

从这个链接Could not load file or assembly 'System.Web.Http 4.0.0 after update from 2012 to 2013,我尝试了以下操作:

Update-Package Microsoft.AspNet.WebApi -reinstall

但现在我又遇到了第一个错误。看起来我陷入了一个循环,不知道如何解决。有什么想法吗?似乎System.Web.Http.WebHost使用了NewtonSoft.Json的早期版本。

0
0 Comments

问题出现的原因是因为C#的System.Web.Http.WebHost和NewtonSoft.Json无法使用正确的程序集。解决方法是通过安装特定版本的包来解决问题。

解决第一个消息后,第二个消息要求您安装特定版本的特定包,您可以通过点击NuGet包管理器查看包的版本,或者在解决方案资源管理器中的引用上右键单击并选择属性。

要找到包的特定版本,您可以使用关键字"nuget PACKAGENAME"进行谷歌搜索。

在这种情况下,我们搜索"nuget System.Web.Http.WebHost",并点击第一个结果进入。

滚动页面,您将找到许多旧版本的包。

打开5.0.0.0版本的链接,您将看到安装命令:

要安装Microsoft ASP.NET Web API 2 Web Host,请在Package Manager Console中运行以下命令:Install-Package Microsoft.AspNet.WebApi.WebHost -Version 5.0.0。

我认为在安装消息要求的特定版本的包之后,问题将得到解决。

0
0 Comments

问题出现的原因是因为NewtonSoft.Json的版本不匹配,以及System.Web.Http.WebHost的版本也不匹配。解决方法是删除NewtonSoft.Json包,并删除项目中对它的引用,然后根据项目的packages.json文件查找所需的NewtonSoft.Json的特定版本,并从Package Manager Console重新添加它。另外,还需要检查webconfig文件中System.Web.Http.WebHost的版本是否与Ninject所需的版本匹配。如果不匹配,需要更新webconfig文件中的版本为所需版本。以下是解决方法的具体步骤:

1. 进入packages文件夹,删除包含NewtonSoft.Json名称的文件夹。如果有任何引用了NewtonSoft.Json的项目,在References中会显示黄色感叹号,需要移除这个引用。

2. 检查项目的packages.json文件,找到所需的NewtonSoft.Json的版本号。

3. 打开Package Manager Console,在控制台中输入以下命令重新添加NewtonSoft.Json的特定版本:

Install-Package Newtonsoft.Json -Version [版本号]

将[版本号]替换为步骤2中找到的版本号。

4. 检查webconfig文件中System.Web.Http.WebHost的版本号。如果版本号与Ninject所需的版本不匹配,需要进行更新。

通过按照以上步骤进行操作,就可以解决C# System.Web.Http.WebHost和NewtonSoft.Json无法使用正确程序集的问题。

0
0 Comments

问题的原因是使用了C#的System.Web.Http.WebHost和NewtonSoft.Json时,无法正确使用正确的程序集。

解决方法如下:

1. 打开当前项目中的packages.config文件。

2. 删除行:package id="Newtonsoft.Json"。

3. 保存。

4. 从NuGet重新添加Newtonsoft.Json。构建并运行项目。

0