web-dev-qa-db-ja.com

ファイルまたはアセンブリをロードできませんでした 'Newtonsoft.Json、Version = 7.0.0.0

私は以下のエラーに直面しています

ファイルまたはアセンブリ「Newtonsoft.Json、Version = 7.0.0.0、Culture = neutral、PublicKeyToken = 30ad4fe6b2a6aeed」またはその依存関係の1つをロードできませんでした。検出されたアセンブリのマニフェスト定義は、アセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)

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>

だから私はそれを

   <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
        <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.1.0" />
      </dependentAssembly>

Packeges.configで以下のエントリを確認できました

しかし、それでも私は同じ問題に直面しています。助けてください

17
Midhun Murali

多くのことが間違っている可能性があり、このエラーメッセージは何も伝えません。

しかし、それでも私は同じ問題に直面しています。

たぶん最も簡単な方法は、パッケージを再試行することです。

TOOLS> NuGet Package Managerに移動し、Package Manager Consoleを選択します。次の2つのコマンドを実行します。

uninstall-package newtonsoft.json -force
install-package newtonsoft.json

これを実行してもエラーが発生する場合は、最終的には、.configファイルからJson.Netのセクションを削除したことが効果的です。再インストールすると、再インストールされていない場合は削除されます。パッケージ自体に通常の解決策が見つかるまで、この手動の手順は必須だと思います。パッケージマネージャーコンソールで再度実行します。

Update-Package –reinstall Newtonsoft.Json

また、ソリューション内のプロジェクトの 。Netバージョン もご覧ください。

これは、プロジェクトをアンロードする Microsoftソリューション です。

39
ekostadinov

同じ問題がありました。 ekostadinovの強制的なアンインストール/再インストール手順に従いましたが、1つの追加手順を追加する必要がありました。

ソリューションをFramework 4.5.2にアップグレードしていました。私の古いWeb.Configファイルには、構成タグに名前空間がありました。

<configuration xmlns="http://schemas.Microsoft.com/.NetConfiguration/v2.0">

に更新しました:

<configuration>

次に、使用しているNewtonSoftのバージョンに関係なく、bindingRedirectが機能します。

<runtime xmlns="">
  <assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
  </dependentAssembly>
</assemblyBinding>
1
KAW

私は同じ問題を抱えていて、アンインストールと再インストールをしても解決しませんでした。当時、Newtonsoft.Jsonの最新バージョン(10.0.3)をインストールしようとしていました。 7.0.1バージョンをインストールした後、その.dllを:\ Program Files(x86)\ Microsoft Visual Studio 14.0\Common7\IDEにコピーすることを提案する別の記事に出くわしました。私がやった。

インストールを開始REST APIプロセスを再度実行し、別のエラーを受け取りました。Microsoft.Rest.ClientRuntime2.3.2をインストールしようとして失敗しました。このため、NuGetに移動してインストールしました私がインストールされたプロジェクトにREST API。

REST= APIインストールを再度開始し、今回はインストールしました。

ああ、それが検索でだれにも役立つなら、Windows Server 2012R2でVS2015を使用してAzure Immersion 02-APIアプリチュートリアルを行っていました。

0
PHBeagle

これは、package.configに異なるバージョンの2つの同じパッケージ名が含まれている場合に発生する可能性があります。

例えば、

<package id="System.Spatial" version="5.6.2" targetFramework="net45" />
<package id="System.Spatial" version="5.6.4" targetFramework="net45" />

ありがとうございました。

ありがとう@ekostadinov。 @ekostadinovのソリューションで動作させることができました。私の場合、デフォルトのWeb MVCテンプレートにはNewtonSoft JSONバージョン6がありました。クラスライブラリを追加して、NugetパッケージマネージャーからNewtonSoft JSONバージョン9をインストールしました。

Webプロジェクト、パッケージ構成、依存関係から参照を削除しようとしましたが、それでもエラーが発生していました。現在、Newtonsoft JSONバージョン6が見つからないというエラーメッセージが表示されていました。最初は、Newtonsoft JSONバージョン9が見つからないというエラーメッセージが表示されていました。

その後、@ ekostadinovの手順に従いました。

uninstall-package newtonsoft.json -force
install-package newtonsoft.json

パッケージマネージャーコンソールで、Web.Grease dllのバージョンとの依存関係について言及している依存関係に関する警告が表示されました。とにかく、成功しました。

念のため、上記の投稿で言及した最後のコマンドを実行しました

Update-Package –reinstall Newtonsoft.Json

警告もなく実行されました。

これで、すべてのプロジェクトでバージョン9を使用できるようになりました。

0
sam113

私の場合、ソリューションには複数のプロジェクトがあり、それぞれが異なるバージョンのNewtonSoft.jsonを使用していました。先に進み、各プロジェクトのpackage.configのバージョンを最新バージョンと一致するように変更する必要がありました(まあ、プロジェクト間で同じであるべきバージョンであれば何でもかまいません)。すべてのpackage.configが同じバージョンをポイントしたら、私がしなければならなかったことは

Update-Package –reinstall Newtonsoft.Json

さて、プロジェクトの1つでweb.configアセンブリエントリのバージョンを手動で変更する必要があることに注意してください。しかし、それは仕事をしました。

0
Lost

私は同じエラーを受け取り、自分のソリューションで「クリーン」を実行して修正しました。 UWPアプリでNewtonsoft.Jsonを使用しています。

0
Stephanvs

ほとんどの場合、このエラーは、異なるアセンブリが他のアセンブリの特定のバージョンに依存しているために発生します。

最も簡単な修正方法は、nugetパッケージマネージャーを使用して、Newtonsoft.Jsonに依存するすべてのパッケージを更新することです。

プロジェクト内のすべての設定ファイルが自動的に設定されます。

0
SHM