web-dev-qa-db-ja.com

エラーCS1703:同等のIDを持つ複数のアセンブリがインポートされました-Xamarin + VSTS

Visual Studio 2015(Community Edition)の最新のXamarinにアップグレードし、プロジェクトを再コンパイルし、いくつかの小さなコード変更をチェックインすると、VSTSビルドサーバーが次のエラーメッセージで失敗します。

[エラー] CSC(0,0):エラーCS1703:同等のIDを持つ複数のアセンブリがインポートされました: 'C:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll' 「C:\ Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll」重複する参照の1つを削除します。

インターネット検索では、一般にこの問題に関する詳細はほとんど表示されず、VSTSおよびXamarinのコンテキストでは貴重な情報はまったく表示されません。

私が問題に関連すると考えている唯一のコード変更は、プロジェクトファイルでVisual Studioによって行われました。

enter image description here

私はAndroid向けにのみ開発し、Xamarin 4.2を使用しており、JDK 8 u101を使用しています。

この問題を解決する方法はありますか?

22

問題を解決しました。ソリューション自体の内部の参照フォルダーからmscorlib.dllを削除してみてください。以下の強調表示されたフォルダー(参照フォルダー)を参照してください。 Xamarinは、ビルド中にデフォルトでmscorlib.dllを含めるようです。それが役に立てば幸い :)

enter image description here

37
DriLLFreAK100

.csprojに対して次の変更を行い、トリックを行いました:

   <PackageReference Include="System.Reflection.Emit">
      <Version>4.3.0</Version>
      <ExcludeAssets>All</ExcludeAssets>
      <IncludeAssets>none</IncludeAssets>
    </PackageReference>
4
Jasper H Bojsen

すべてのSystem。*ライブラリを明示的にインストールする.net core nugetのインストール中にエラーが発生しました。私のMicrosoft.Net.Compilersパッケージのアップグレードが必要な場合、このエラーはなくなりました。

4
David Faivre

7.1を6.0に戻すことでこれを自分で修正し、コンパイルが再び機能するようになりました。問題は、コンパイルエージェントにのみ表示されます。

Compilation settings

1
Adrián Romero

私の場合、参照プロジェクトの1つにパッケージ参照「Microsoft.NETCore.Portable.Compatibility」がありました。それを削除して、AndroidとiOSプロジェクトが正常にビルドされました。

1
Adil H. Raza

すべてのMicrosoftパッケージを更新しましたが、コンパイラエラーはなくなりました。したがって、この種のコンパイラエラーの一般的な解決策は次の2つのステップで構成されていると思います。

  1. 関連するNuGetパッケージをアップグレードします。
  2. 第1ステップが十分でない場合、すべてのMicrosoft NuGetパッケージをアップグレードします。
0
Ovidiu Caba

同様の問題がありました。

次のエラーはjenkinsコンソールの出力にありました

Multiple assemblies with equivalent identity have been imported: 'C:\Program Files (x86)\Jenkins\jobs\...\lib\net461\System.ComponentModel.Annotations.dll' and 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\Facades\System.ComponentModel.Annotations.dll'. 
Remove one of the duplicate references.

私は自分のプロジェクトの1つで重複した参照を削除しましたが、うまくいきました。

0
hormberg