2017-05-23 4 views
0

従来の.net 4 Webアプリケーションを構築しようとしていますが、サイトを訪問しようとするとビルドに成功しますが、アセンブリがありません。System.Net.Http.PrimitivesとSystem.Net.Http.Extensions.dllがビルドされています

 Could not load file or assembly 'System.Net.Http.Primitives' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 

または

 Could not load file or assembly 'System.Net.Http.Extensions' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 

私は手動でバックアップからこれらのファイルを追加することができますし、サイトが動作しますが、どのように私はビルド出力の一部であることを得ることができますか?

解決方法のNugetには、既に「Microsoft.Net.Http.2.0.20710.0」と「System.Net.Http.2.0.20505.0」が含まれていますが、これらのいずれも不足しているDLLを含んでいません。

これは、別々のビルドサーバーで動作する必要があります。そのため、ランダムなDLLのハードコードされたパスを持つ必要がありません。

コードはかなり古く、どちらのアセンブリのコードでもどこの参照も参照できません。

バックアップに比べてもう1つ欠けているDllがありますが、「System.Web.ApplicationServices.dll」に関連しているかどうかはわかりません.Nugetパッケージが含まれている可能性はありません。

+0

、Binフォルダからそれを取るので、.csprojファイルには、すべての参照されるアセンブリのために含まれていることを検証し、それはMVC 4アプリですか?プログラムファイルフォルダの下にビットをインストールし、それらのアセンブリをGACにインストールするMVC4 msiがあります。そのため、Webサーバーにmsiがインストールされているかどうかを確認することができます。 System.Web.ApplicationServices.dllは.Netフレームワークの一部です。 – mattfei

+0

アプリケーションをデプロイすると、以前にデプロイされたサイトの上にデプロイしているのですか、またはデプロイメント前にクリーンアップされていますか? – Mick

+0

が削除されました。ただweb.configを維持してください – rob

答えて

0

1)アンインストールされたWeb API NuGetパッケージ。

2)Web API(Beta)NuGetパッケージを再度インストールしました。

3)それは常に

関連する問題