自VS 2013更新以来,我的行为是无法添加对具有相同名称的2个项目的引用。我做了以下事情:
结果结构如下所示:
Solution
+ A
+ Core
+ B
+ Core
+ C
+ ConsoleApp
在A的项目属性中输入以下内容:
和B:
在C.ConsoleApp中添加对A.Core的引用后,我尝试将B.Core引用到控制台,我得到错误:
无法添加对'Core(B.Core)'的引用。项目中已存在对“核心”组件的引用。
该解决方案是使用VS 2012创建的,并在升级后显示此行为。我需要在控制台内设置什么?
编辑:我在Youtube上发布了一个截屏视频来解释问题并在Microsoft-Support放置了一个错误。我仍然认为,这是一个错误。
答案 0 :(得分:23)
问题是引用名称采用项目名称。它仍然通过适当的名称引用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>
将名称值更改为A.Core,您将被取消阻止。 (B.Core在您编辑之前仍会显示为“Core”。)
答案 1 :(得分:3)
删除对该dll的引用,然后重新应用它。它对我有用。
答案 2 :(得分:0)
如果您在一个屋顶下运行多个项目。如果您要访问主项目下的新项目,只需右键单击主项目并添加对新项目的引用。