假设您有两个项目:
- 主.csproj
- Main.Test.csproj
并且Main有一个属性
[assembly:InternalsVisibleTo("Main.Test")]
现在,我们想引用一个NuGet包,该包将其内容作为源代码(如MoreLinq)提供(https://code.google.com/p/morelinq/)在这两个项目中。
问题是,现在有两个Main.Test项目可见的源代码副本,因此编译器会抛出一个不明确的引用错误。
在不修改包放入每个项目的源代码的情况下,有什么方法可以避免这种情况吗?
附言:请不要使用诸如"不要使用InternalsVisibleTo,因为…"之类的参数。我可以在其他地方读到这些观点。
morelinq中的扩展方法将是公共的,因此如果您在main.csproj中有它们,则在main.test.csproj中不需要它们,但它们仍然可以在main.ttest.csproj.中访问