Can't load Assembly System.Net.Http.Formatting in .Net 解决方案
Posted
技术标签:
【中文标题】Can\'t load Assembly System.Net.Http.Formatting in .Net 解决方案【英文标题】:Can't load Assembly System.Net.Http.Formatting in .Net SolutionCan't load Assembly System.Net.Http.Formatting in .Net 解决方案 【发布时间】:2018-12-28 05:27:25 【问题描述】:尝试在 NuGet 控制台上更新包时出现以下错误:
At line:1 char:1
+ Update-Package Microsoft.AspNet.WebApi -reinstall
+ CategoryInfo : InvalidOperation: (:) [Update-Package],
InvalidOperationException
+ FullyQualifiedErrorId :
NuGetMissingPackages,
NuGet.PackageManagement.PowerShellCmdlets.UpdatePackageCommand
当我尝试安装 NuGet.PackageManagement.PowerShellCmdlets
时出现错误:
An error occured while trying to restore packages:Unable to find version '5.2.3' of package 'System.Net.Http.Formatting'.
.csproj 文件中 System.Net.Http.Formatting 的版本为 5.2.3
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Http.Formatting.Extension.5.2.3.0\lib\System.Net.Http.Formatting.dll</HintPath>
</Reference>
...在packages.config
文件中,包System.Net.Http.Formatting
的版本是5.2.3:
<package id="System.Net.Http.Formatting" version="5.2.3" targetFramework="net461"/>
在引用的属性中,版本是 4.1.1.2,运行时版本是 v4.0.30319 for System.Net.Http.Formatting
。
所以我的问题是我无法重新安装System.Net.Http.Formatting
,因为它现在显然是Microsoft.AspNet.WebApi
的一部分,当我尝试安装它时,我得到了原始错误。我在兜圈子。
如果我只是按原样运行项目,它会编译并出现运行时错误:
Could not load file or assembly 'System.Net.Http.Formatting, Version=5.2.6.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
The located assembly's manifest definition does not match the assembly
reference. (Exception from HRESULT: 0x80131040)'
从哪里得到这个 5.2.6.0 版本?如果这是一个依赖项,我需要重新安装,但我不能。
我对包和 NuGet 非常缺乏经验。当一个同事更新了一些包并将这些更改放入 git 但我的项目没有编译时,所有这些问题都出现了。
【问题讨论】:
【参考方案1】:这就是我解决问题的方法。我删除了 DLL System.Net.Http.Formatting
。我确保它已从 .csproj
文件和 packages.config
文件中删除。
然后我使用 NuGet 卸载了包 Microsoft.AspNet.WebApi.WebHost
、Microsoft.AspNet.WebApi.Core
和 Microsoft.AspNet.WebApi.Client
。
然后我使用 NuGet 重新安装了这些包,但我没有重新安装 System.Net.Http.Formatting
包。
原来需要它的依赖代码现在是Microsoft.AspNet.WebApi.Client
的一部分。它安装了 System.Net.Http.Formatting
包和我的解决方案最初寻找的 5.2.6 版本,并在找不到它时抱怨。
【讨论】:
【参考方案2】:我只需要将 NuGet 中的 Microsoft.AspNet.WebApi.Client
更新到最新版本 5.2.7,System.Net.Http.Formatting
也会更新。
清理您的项目并重建。
【讨论】:
今天,你是我的英雄。谢谢,这对我有用。以上是关于Can't load Assembly System.Net.Http.Formatting in .Net 解决方案的主要内容,如果未能解决你的问题,请参考以下文章
json.load() 函数给出奇怪的 'UnicodeDecodeError: 'ascii' codec can't decode' 错误
Delphi Can't load package 找不到指定的模块
can't load blender model on threeJS 场景未定义