Dar*_*ood 9 .net package .net-assembly nuget
尝试在NuGet控制台上更新包时出现以下错误
At line:1 char:1
+ Update-Package Microsoft.AspNet.WebApi -reinstall
+ CategoryInfo : InvalidOperation: (:) [Update-Package],
InvalidOperationException
+ FullyQualifiedErrorId :
NuGetMissingPackages,
NuGet.PackageManagement.PowerShellCmdlets.UpdatePackageCommand
Run Code Online (Sandbox Code Playgroud)
当我尝试安装NuGet.PackageManagement.PowerShellCmdlets时,我收到错误
An error occured while trying to restore packages:Unable to find version '5.2.3' of package 'System.Net.Http.Formatting'.
Run Code Online (Sandbox Code Playgroud)
在.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>
Run Code Online (Sandbox Code Playgroud)
在packages.config文件中,System.Net.Http.Formatting的版本为5.2.3
<package id="System.Net.Http.Formatting" version="5.2.3" targetFramework="net461"/>
Run Code Online (Sandbox Code Playgroud)
在引用的属性中,版本为4.1.1.2,运行时版本为v4.0.30319,用于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)'
Run Code Online (Sandbox Code Playgroud)
它是从哪个版本5.2.6.0获得的?如果它是一个依赖,这是我需要重新安装的问题,但我不能.
我对包和NuGet非常缺乏经验.当同事更新了一些软件包并将这些更改放在git中但我的项目没有编译时,所有这些问题都出现了.
Dar*_*ood 16
这就是我解决问题的方法.我删除了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 dll.
最初需要它的依赖代码现在是Microsoft.AspNet.WebApi.Client的一部分.它安装了System.Net.Http.Formatting dll和我的解决方案最初寻找的版本5.2.6,并抱怨它无法找到它.
我只需要将Microsoft.AspNet.WebApi.ClientNuGet 更新到最新版本 5.2.7,它System.Net.Http.Formatting也会更新。
清理您的项目并重建。