社内で使用されているVS 2015ソリューション(はい、ただ1つのプロジェクト)NuGetパッケージリファレンスに関する 'aaa.dll'と 'bbb.dll'の両方に 'XXX'タイプが存在します
私は別の(より新しい)NuGetパッケージを使用していますが、クラスは1つしか使用しませんが、そのクラスは1つの名前空間と衝突します(実際には実際にはより多くの)既存のNuGetパッケージを提供します。
物事をもっと楽しくするために、他の複数のNuGetパッケージにまたがって使用されている同じ新しいパッケージによって多くの名前空間が取り込まれています。
What use is the Aliases property of assembly references in Visual Studio 8:
はextern alias
の主題でこれらのSO /ブログの記事を読みました。
https://blogs.msdn.microsoft.com/ansonh/2006/09/27/extern-alias-walkthrough/
http://geekswithblogs.net/bconlon/archive/2014/12/18/ambiguous-classes-in-c.aspx
私は単にそれがglobal
からexcept
へのエイリアスです(それは例外のロギングを必要とする)と、それは以前と同様に、すべてが今コンパイルする必要があります変更、必要なNuGetパッケージを追加することができることを考え出しました。私はこれを考えました。なぜなら、そのパッケージによってもたらされた新しいDLLからの名前空間を明示的に使用しないとどこでも、現在のDLL名前空間を使用し続けると信じていたからです。
NuGetパッケージを追加したため、DLLのエイリアスを変更して再構築しなかったため、この前提は間違っています。多数のexists in both
ビルドエラーが報告されます。