由于名称相同,无法添加引用

时间:2013-11-22 17:06:50

标签: c# visual-studio visual-studio-2013 .net-4.5

自VS 2013更新以来,我的行为是无法添加对具有相同名称的2个项目的引用。我做了以下事情:

  1. 添加了3个解决方案文件夹A,B和C.
  2. 在A和B文件夹中添加了类库“Core”的项目。
  3. 向文件夹C添加了一个类型为ConsoleApplication的项目。
  4. 结果结构如下所示:

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

    在A的项目属性中输入以下内容:

    • 大会名称:A.Core
    • 默认命名空间:A.Core

    和B:

    • 大会名称:B.Core
    • 默认命名空间:B.Core

    在C.ConsoleApp中添加对A.Core的引用后,我尝试将B.Core引用到控制台,我得到错误:

      

    无法添加对'Core(B.Core)'的引用。项目中已存在对“核心”组件的引用。

    该解决方案是使用VS 2012创建的,并在升级后显示此行为。我需要在控制台内设置什么?

    编辑:我在Youtube上发布了一个截屏视频来解释问题并在Microsoft-Support放置了一个错误。我仍然认为,这是一个错误。

3 个答案:

答案 0 :(得分:23)

问题是引用名称采用项目名称。它仍然通过适当的名称引用DLL(A.Core.dll或B.Core.dll),但引用使用VS中的项目名称:

enter image description here

如果在添加对A.Core的引用后查看项目文件,您将看到:

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

将名称值更改为A.Core,您将被取消阻止。 (B.Core在您编辑之前仍会显示为“Core”。)

答案 1 :(得分:3)

删除对该dll的引用,然后重新应用它。它对我有用。

答案 2 :(得分:0)

如果您在一个屋顶下运行多个项目。如果您要访问主项目下的新项目,只需右键单击主项目并添加对新项目的引用。