【ASP.NET】’Newtonsoft.Json’ 見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。 (HRESULT からの例外: 0x80131040)

【ASP.NET】’Newtonsoft.Json’ 見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。 (HRESULT からの例外: 0x80131040)

ASP.NETの開発を始めようということで、VS2015でサンプルを作成して
いざ、テスト実行って時に!

エラーがでました。
ビルドはOKなんですが、実行してみると上記のメッセージ

詳細なエラーはブラウザー上に出てくるので、なんとなくわかります。
読み込んだ’Newtonsoft.Json’がバージョン不一致らしい。

binフォルダーのDLLを見てみると
案の定、6.0.4・・・となっていた。

なので、web.configの設定を変更してみました。

web.config
      <dependentAssembly>
        <assemblyIdentity name=”Newtonsoft.Json” culture=”neutral” publicKeyToken=”30ad4fe6b2a6aeed” />
        <bindingRedirect oldVersion=”0.0.0.0-7.0.0.0″ newVersion=”7.0.0.0” />
      </dependentAssembly>

変更後

web.config
      <dependentAssembly>
        <assemblyIdentity name=”Newtonsoft.Json” culture=”neutral” publicKeyToken=”30ad4fe6b2a6aeed” />
        <bindingRedirect oldVersion=”0.0.0.0-7.0.0.0″ newVersion=”6.0.0.0” />
      </dependentAssembly>

 

サンプルは起動してくれました。

詳細は以下・・・

ファイルまたはアセンブリ ‘Newtonsoft.Json’、またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。 (HRESULT からの例外:0x80131040)

=== 事前バインド状態情報 ===
ログ: DisplayName = Newtonsoft.Json
(Partial)
警告: 部分的バインドの情報がアセンブリに提供されました:
警告: アセンブリ名: Newtonsoft.Json | ドメイン ID: 2
警告: アセンブリの表示名の一部分のみが提供されると、部分的なバインドが発生します。
警告: これにより、不適切なアセンブリをバインダーが読み込む場合があります。
警告: アセンブリの完全に指定されたテキスト ID を提供することをお勧めします。
警告: このような ID は、簡易名、バージョン、カルチャ、および公開キー トークンで構成されます。
警告: この問題の詳細および解決策については、ホワイトペーパー (http://go.microsoft.com/fwlink/?LinkId=109270) を参照してください。
ログ: Appbase = file:///C:/VS_project/WebApplication7/WebApplication7/
ログ: Initial PrivatePath = C:\VS_project\WebApplication7\WebApplication7\bin
呼び出しているアセンブリ: (Unknown)
===
ログ: このバインドは default の読み込みコンテキストで開始します。
ログ: アプリケーション構成ファイル C:\VS_project\WebApplication7\WebApplication7\web.config を使用します。
ログ: ホスト構成ファイル C:\Users\ankan01\Documents\IISExpress\config\aspnet.config を使用します。
ログ: C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config からのコンピューター構成ファイルを使用します。
ログ: 現時点でポリシーは参照に適用されません (プライベート、カスタム、部分的、または場所ベースのアセンブリ バインド)。
ログ: 新しい URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/bfa95081/2c87966/Newtonsoft.Json.DLL をダウンロードしようとしています。
ログ: 新しい URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/bfa95081/2c87966/Newtonsoft.Json/Newtonsoft.Json.DLL をダウンロードしようとしています。
ログ: 新しい URL file:///C:/VS_project/WebApplication7/WebApplication7/bin/Newtonsoft.Json.DLL をダウンロードしようとしています。
ログ: アプリケーション構成ファイル C:\VS_project\WebApplication7\WebApplication7\web.config を使用します。
ログ: ホスト構成ファイル C:\Users\ankan01\Documents\IISExpress\config\aspnet.config を使用します。
ログ: C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config からのコンピューター構成ファイルを使用します。
ログ: アプリケーション構成ファイルにリダイレクトが見つかりました。6.0.0.0 は 7.0.0.0 にリダイレクトされました。
ログ: ポリシー後の参照: Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed
ログ: 新しい URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/bfa95081/2c87966/Newtonsoft.Json.DLL をダウンロードしようとしています。
ログ: 新しい URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/bfa95081/2c87966/Newtonsoft.Json/Newtonsoft.Json.DLL をダウンロードしようとしています。
ログ: 新しい URL file:///C:/VS_project/WebApplication7/WebApplication7/bin/Newtonsoft.Json.DLL をダウンロードしようとしています。
警告: アセンブリ名の比較の結果、Major Version の不一致が見つかりました。
エラー: アセンブリのセットアップを完了できませんでした (hr = 0x80131040)。調査は中止しました。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です