代码之家  ›  专栏  ›  技术社区  ›  Darren Wood

无法在.NET解决方案中加载程序集system.net.http.formatting

  •  7
  • Darren Wood  · 技术社区  · 6 年前

    尝试在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 文件包的版本是5.2.3 System.Net.Http.Formatting 以下内容:

    <package id="System.Net.Http.Formatting" version="5.2.3" targetFramework="net461"/>
    

    在引用的属性中,版本为4.1.1.2,运行时版本为 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版本如果这是一个依赖性的问题,我需要重新安装,但我不能。

    我对包装和裸体服装非常缺乏经验当一个同事更新了几个包并将这些更改放入git中时,所有这些问题都会出现,但我的项目没有编译。

    1 回复  |  直到 5 年前
        1
  •  16
  •   David Ferenczy Rogožan Hugo L.M    5 年前

    这就是我解决问题的方法我删除了DLL System.Net.Http.Formatting . 我确定它是从 .csproj 文件和 packages.config 文件。

    然后我卸载了软件包 Microsoft.AspNet.WebApi.WebHost , Microsoft.AspNet.WebApi.Core Microsoft.AspNet.WebApi.Client 使用NuGet。

    然后我使用nuget重新安装了这些包,但没有重新安装 system.net.http.formatting格式 包裹。

    最初需要的依赖代码现在是 Microsoft.aspnet.webapi.client客户端 是的。它安装了 System.Net.Http.Formatting格式 包和我的解决方案最初寻找的版本5.2.6,当它找不到时会抱怨。