'System.Web.Http、Version = 5.2.3.0?


87

MVC5プロジェクトを作成し、nugetからいくつかのパッケージを追加したのですが、プロジェクトをコンパイルすると、このエラーが発生しました。パッケージの1つは実際にはsystem.web.httpバージョン5.2.3.0に依存しているようですが、どこにも見つかりませんでした。system.web.httpの最新バージョンを入手するにはどうすればよいですか。

エラー2アセンブリ 'System.Web.Http.WebHost、Version = 5.2.3.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35'は 'System.Web.Http、Version = 5.2.3.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35'を使用します参照されているアセンブリよりも新しいバージョン 'System.Web.Http、Version = 5.0.0.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35' 
d:\ Backup 2014-12-25 \ Website-Projects \ www.ptsol.com.au \ packages \ Microsoft.AspNet.WebApi.WebHost.5.2.3 \ lib \ net45 \ System.Web.Http.WebHost.dll

回答:


117

パッケージマネージャーコンソール

Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3


実行しましたが、同じエラーが発生します<br/> <pre> PM> install-package microsoft.aspnet.webapi.core -version 5.2.3依存関係の解決を試みています 'Microsoft.AspNet.WebApi.Client(≥5.2.3 ) '。依存関係 'Newtonsoft.Json(≥6.0.4)'を解決しようとしています。「Microsoft.AspNet.WebApi.Core 5.2.3」はすでにインストールされています。www.ptsol.com.auには既に「Microsoft.AspNet.WebApi.Core 5.2.3」への参照があります。</ pre>
John Hadikusumo '19

4
@JohnHadikusumoは、すべてのプロジェクトでこれを行います。古いバージョンの依存プロジェクトがあるようです。
2015年

はい、これでうまくいきます。このコマンドを実行する前後の両方で、Web.configとpackages.configを注意深く読んでください。変更内容がわかります。
AlfredBr 2016年

私の問題を解決しました。
Phon Soyang

20

これを修正する1つの方法は、web.configファイルのアセンブリリダイレクトを変更することです。

以下を変更します。

<dependentAssembly>
        <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>

<dependentAssembly>
        <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="4.0.0.0" />
</dependentAssembly>

そのため、oldVersion属性は "...- 4.0.0.0"から "...- 5.2.3.0"に変更する必要があります。


これでうまくいきました。私たちは持っていたbindingRedirectとして、セットアップを<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />しかし使用するように変更しました4.0.0.0。それでも、私には意味がありません。GACバージョンではなく、NuGetパッケージDLLを使用する必要があるためですが、うまくいきました。
jamiebarrow

8

私はそうしましたInstall-Package Microsoft.AspNet.WebApi.Core -version 5.2.3が、それでもうまくいきませんでした。次に、プロジェクトのbinフォルダーを調べたところ、まだ古いSystem.Web.Mvcファイルが残っていることがわかりました。

そこで、新しいファイルをパッケージからbinフォルダーに手動でコピーしました。それから私は再び立ち上がって走りました。


7

インストールパッケージMicrosoft.AspNet.WebApi.Core -version 5.2.3

次に、プロジェクトで[参照の追加]-> [参照]をクリックします。参照ボタンを押して、C:\ Users \ UserName \ Documents \ Visual Studio 2015 \ Projects \ ProjectName \ packages \ Microsoft.AspNet.Mvc.5.2.3 \ lib \ net45に移動し、必要な.dllファイルを追加します


7

インストールしたパッケージは、ユーザーBracherが上で示したように、バージョン5.2.3.0 dllに依存関係をもたらしました。Microsoft.AspNet.WebApi.Corsはサンプルパッケージです。私が取る道は、MVCプロジェクトproirを任意のパッケージインストールに更新することです。

Install-Package Microsoft.AspNet.Mvc -Version 5.2.3

https://www.nuget.org/packages/microsoft.aspnet.mvc


3

NuGetパッケージのアンインストールと再インストールがうまくいきました。

  1. プロジェクトから古い参照を削除します。

パッケージマネージャーコンソールでこれを実行します。

  1. UnInstall-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
  2. Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3

これだけで私の問題は解決しました。私はとても多くのことをしてきました、そして勝利の行動はとても簡単でした。
George Lanetz 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.