VS 2013の更新以降、同じ名前の2つのプロジェクトへの参照を追加できないという動作があります。私は次のことをしました:
結果の構造は次のようになります。
Solution
+ A
+ Core
+ B
+ Core
+ C
+ ConsoleApp
Aのプロジェクトプロパティには、次のように入力されます。
とBで:
C.ConsoleAppでA.Coreへの参照を追加し、コンソールでB.Coreを参照しようとすると、次のエラーが発生します。
'Core(B.Core)'への参照を追加できませんでした。コンポーネント「コア」への参照は、プロジェクトにすでに存在します。
このソリューションはVS2012で作成され、アップグレード以降の動作を示しています。コンソール内で何を設定する必要がありますか?
編集:問題を説明するために Youtube にスクリーンキャストを公開し、 Microsoft-Support にバグを配置しました。私はまだ、これはバグだと思います。
問題は、参照名がプロジェクト名を引き継ぐことです。 DLLを適切な名前(A.Core.dllまたはB.Core.dll)で参照していますが、参照ではVS内のプロジェクト名が使用されています。
A.Coreへの参照を追加した後でプロジェクトファイルを見ると、次のことがわかります。
<ProjectReference Include="..\ClassLibrary1\Core.csproj">
<Project>{16c42795-f703-4673-98e4-98758c09f9e0}</Project>
<Name>Core</Name>
</ProjectReference>
Nameの値をA.Coreに変更すると、ブロックが解除されます。 (B.Coreは、編集するまで「Core」として表示されます。)
そのdllへの参照を削除してから、再適用します。それは私のために働いた。