Can’t load Assembly System.Net.Http.Formatting in .Net 解決方案
嘗試在 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.3System.Net.Http.Formatting:<package id="System.Net.Http.Formatting" version="5.2.3" targetFramework="net461"/>在引用的屬性中,版本是 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)'它從哪裡得到這個版本 5.2.6.0?如果這是一個依賴項,我需要重新安裝,但我不能。
我對包和 NuGet 非常缺乏經驗。當一位同事更新了一些包並將這些更改放入 git 但我的項目沒有編譯時,所有這些問題都出現了。
這就是我解決問題的方法。我刪除了 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 版本,並在找不到它時抱怨。