我相信我完全理解两者之间的区别。
引用只是指向使用的某个程序集(无论是指定完整路径,还是在 GAC 中查找)。
ProjectReferences假定被引用项目与引用项目位于相同的 VS 解决方案中,并使用项目 GUID 来确定应引用哪个项目。
拥有ProjectReference的好处是 Visual Studio 可以检测依赖关系并在必要时重建它们(如果我引用项目 A 并且它没有构建,它将被重建)。此外,将采用引用的项目输出(基于当前活动配置等)。
这促使我们努力并采用“All ProjectReference”方法。
我的问题是这会导致包含许多依赖项项目的解决方案文件。如果依赖项本身有引用程序集,这些将作为 ProjectReferences 添加,强制它们由同一个 .sln 文件构建,而不是独立的。
我的问题是——在什么情况下应该毫无疑问地使用 ProjectReferences?在什么情况下应该绝对避免它们?(如果曾经)