Reference could not be added because of same name

百般思念 提交于 2019-12-29 06:39:26

问题


Since the update to VS 2013 I have the behaviour that I cannot add a reference to 2 projects with the same name. I did the following:

  1. Added 3 solution folders A, B and C.
  2. Added a project of type class library "Core" to both A and B folder.
  3. Added a project of type ConsoleApplication to folder C.

The resulting structure looks like this:

Solution
 + A
   + Core
 + B
   + Core
 + C
   + ConsoleApp

In the project properties of A the following is entered:

  • Assembly name: A.Core
  • Default namespace: A.Core

and in B:

  • Assembly name: B.Core
  • Default namespace: B.Core

After I added a reference to A.Core in C.ConsoleApp and I try to reference to B.Core to the console I get the error:

A reference to 'Core (B.Core)' could not be added. A reference to the component 'Core' already exists in the project.

The solution was created with VS 2012 and shows this behavior since upgrade. What do I have to setup inside the console?

Edit: I published a screencast on Youtube to explain the problem and placed a bug at Microsoft-Support. I still think, this is a bug.


回答1:


The issue is that the reference name takes on the project name. It's still referencing the DLL by the appropriate name (A.Core.dll or B.Core.dll), but the reference uses the project name inside VS:

If you look at the project file after adding a reference to A.Core, you'll see this:

<ProjectReference Include="..\ClassLibrary1\Core.csproj">
  <Project>{16c42795-f703-4673-98e4-98758c09f9e0}</Project>
  <Name>Core</Name>
</ProjectReference>

Change the Name value to A.Core and you'll be unblocked. (B.Core will still show up as "Core" until you edit it as well.)




回答2:


Remove the reference to that dll and then reapply it. it worked for me.



来源:https://stackoverflow.com/questions/20150496/reference-could-not-be-added-because-of-same-name

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!