繁体   English   中英

关于NuGet包引用,“ aaa.dll”和“ bbb.dll”中都存在类型“ XXX”

[英]The type 'XXX' exists in both 'aaa.dll' and 'bbb.dll' concerning NuGet package references

我在VS 2015解决方案中有一个相当大的项目(是的,只有一个项目),它使用内部的NuGet包(以及该包中的许多命名空间)。

我有另一个(较新的)NuGet包,我只需要使用一个类,但是该类与现有(实际上是多个)NuGet包引入的名称空间之一冲突。

为了使事情变得更加有趣,同一新程序包引入了许多其他命名空间,这些命名空间用于多个其他NuGet程序包。

阅读了这些关于extern alias SO / blog帖子:

什么是Visual Studio 8中程序集引用的Aliases属性 https://blogs.msdn.microsoft.com/ansonh/2006/09/27/extern-alias-walkthrough/ http://geekswithblogs.net/bconlon/archive/2014/12/18/ambiguous-classes-in- c.aspx

我认为我可以简单地添加所需的NuGet程序包,将其别名从global更改为except (涉及异常日志记录),并且现在一切都应该像以前一样进行编译。 我之所以这样想是因为我相信,在我没有明确说要使用该程序包引入的新DLL中使用命名空间的任何地方,都将继续使用现有的DLL命名空间。

这种假设(无论如何了解)似乎是错误的,因为我添加了NuGet程序包,更改了它的DLL别名,并且重建无效。 报告exists in both构建错误中都exists in both大量错误。

原来,(旧式)解决方案依赖项是本地引用的DLL,而不是NuGet包。

此处的课程:检查您的参考。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM