如何避免对internalsvisibleto的两个项目中包含的nuget源代码包的模糊引用

时间:2015-04-10 18:16:43

标签: c# .net nuget nuget-package morelinq

我们假设您有两个项目:

  • Main.csproj
  • Main.Test.csproj

Main有一个属性

[assembly:InternalsVisibleTo("Main.Test")]

现在我们想引用一个NuGet包,它在两个项目中都将其内容作为源代码(例如MoreLinq(https://code.google.com/p/morelinq/)。

问题是Main.Test项目现在有两个源副本,因此编译器会出现一个不明确的引用错误。

有没有办法在不修改软件包放入每个项目的源代码的情况下避免这种情况?

P.S。请不要使用诸如“不要使用InternalsVisibleTo”之类的论据,因为......'。我可以在其他地方读到这些观点。

1 个答案:

答案 0 :(得分:1)

来自morelinq的扩展方法将是公共的,所以如果你在main.csproj中有它们,你在main.test.csproj中不需要它们但是它们仍然可以在main.test.csproj中访问