由于名称相同,无法添加引用
自从VS 2013更新以来,我的行为是我无法添加对具有相同名称的2个项目的引用。 我做了以下事情:
- 添加了3个解决方案文件夹A,B和C.
- 在A和B文件夹中添加了类库“Core”的项目。
- 向文件夹C添加了ConsoleApplication类型的项目。
结果结构如下所示:
Solution + A + Core + B + Core + C + ConsoleApp
在A的项目属性中输入以下内容:
- 大会名称:A.Core
- 默认命名空间:A.Core
在B:
- 大会名称:B.Core
- 默认命名空间:B.Core
在C.ConsoleApp中添加对A.Core的引用之后,我尝试将B.Core引用到控制台,我得到错误:
无法添加对“核心(B.Core)”的引用。 项目中已存在对组件“Core”的引用。
该解决方案是使用VS 2012创建的,并在升级后显示此行为。 我在控制台内设置了什么?
编辑:我在Youtube上发布了一个截屏video来解释这个问题并在Microsoft支持中添加了一个错误。 我仍然认为,这是一个错误。
问题是引用名称采用项目名称。 它仍然通过适当的名称引用DLL(A.Core.dll或B.Core.dll),但引用使用VS中的项目名称:
如果在添加对A.Core的引用后查看项目文件,您将看到:
{16c42795-f703-4673-98e4-98758c09f9e0} Core
将名称值更改为A.Core,您将被解除阻止。 (B.Core在您编辑之前仍会显示为“Core”。)
删除对该dll的引用,然后重新应用它。 它对我有用。
- entity framework实体不在DataSpace.OSpace(_workspace.GetItemCollection(DataSpace.OSpace))中,而是在DataSpace.CSpace中
- 如何使用System.Net.HttpListener在WebSocket中启用SSL
- 如何在Windowsapp store应用中打印WebView内容?
- 并行运行异步方法8次
- 如何配置protobuf-net的RuntimeModel.Default以支持序列化/反序列化SessionSecurityToken?
- 尽管UseColumnTextForButtonText设置为true,但DataGridView按钮文本仍未显示
- IL中的属性getter / setter的方法命名是否标准化?
- 为什么IPAddress.Parse(“192.168.001.001”)有效,而IPAddress.Parse(“192.168.001.009”)没有?
- 在C#中,是否可以在后台打开URL而无需打开浏览器?