web-dev-qa-db-ja.com

VisualStudioとXamarinStudioの2つのmscorlibバージョン間の競合を解決するにはどうすればよいですか?

2日以上このエラーを修正しようとしましたが、成功しませんでした。

これはエラーです:

「mscorlib、Version = 2.0.5.0、Culture = neutral、PublicKeyToken = 7cec85d7bea7798e」と「mscorlib」の間の競合を解決する方法はありません。 「mscorlib、Version = 2.0.5.0、Culture = neutral、PublicKeyToken = 7cec85d7bea7798e」を任意に選択します。

私はそれについて検索し、非常に多くの人々がこの問題を抱えていましたが、私はそれの解決策を見つけることができませんでした。

最後に、これら2つの参照間の競合を解決する方法をどのように見つけることができますか?

25
Lord Phantom

答えはありませんが、次の情報を提供できます。

  1. Androidのみを対象とした空白のXamarin.Formsアプリがあります。これをエラーなしでビルドしてデプロイできます。
  2. Xamarin WebサイトからXamarin.Formsの例をダウンロードし、Androidバージョンのみを保持しました。この場合、エラーなしでソリューションを再構築できますが、デバッグなしで開始しようとすると、報告する正確なエラー。

これらの結果から、私は以下を収集します。

  1. Mscorlibバージョン間の競合は、Visual Studio 17の構成ではなく、アプリの構成に関連しています。
  2. 含まれているリンクの2番目は、newtonsoft.jsonの特定のバージョンのインストールについて言及しています。これはNugetパッケージなので、問題はこれらのパッケージの特定のバージョンにあると思いました。私のアプリは両方とも同じパッケージを使用していますが、デバッグプロセスが必ずしもそれらのパッケージの同じ機能を使用しているとは限りません。

これがお役に立てば幸いです。

1
Gaurang Trivedi

私が直面した問題:「mscorlib、Version = 4.0.0.0、Culture = neutral、.............。」間の競合を解決する方法がありません。

今まで根本的な原因を突き止めることはできませんでしたが、問題を解決するための手順に従いました。

  1. Androidデバイスマネージャーを開き、目的のAndroidシミュレーターを起動してみてください。
  2. 起動してエラーが表示された場合:「出荷時設定へのリセット」を実行するように指示し、シミュレータを停止して同じことを実行します。
  3. シミュレータを起動してみてください、それは動作します。

これがあなたにもうまくいくことを願っています!!!

設定ファイルのassemblyBindingセクションに追加してみてください。

bindingRedirectを追加して、どちらかが要求したときにロードするアセンブリのバージョンをフレームワークに指示できます(より高いバージョン番号を使用します)。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="mscorlib" publicKeyToken="7cec85d7bea7798e" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.5.0" newVersion="2.0.5.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
0
cly