2017-09-28 5 views
0

社内で使用されている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ビルドエラーが報告されます。

答えて

0

(レガシー)ソリューションの依存関係は、NuGetパッケージではなく、ローカルで参照されるDLLであったことが分かります。

ここのレッスン:参考文献を確認してください。

関連する問題