简短描述:首次加载解决方案会将外部项目引用标记为无效,重新加载解决方案可解决问题。
详细说明:
我们的系统中有大量的 C# 项目,而几个不同的解决方案只包含少量项目。这些项目通过项目引用而不是直接引用 dll 相互引用。引用的项目不是解决方案的一部分。
我在使用这些解决方案时遇到了一个奇怪的行为:每次我第一次打开一个解决方案时,这些外部项目引用在引用树下被标记为无效,并且某些功能无法正常工作(例如代码分析、ReSharper 引用、等)构建解决方案是可能的,没有错误。但是,当我重新加载解决方案时,所有引用都将再次有效。
附加信息:
- 如果我更改了其中一个项目文件中的某些内容,这会触发解决方案中项目的重新加载,则引用再次被破坏,我必须重新加载解决方案两次才能修复它们。
- 如果我将外部项目添加到解决方案中,则不会出现问题。
- 如果我关闭 Visual Studio 并在下次启动时加载最后一个解决方案,则引用将有效。只有加载另一个解决方案才会触发问题。
虽然问题不是很关键,但是非常不方便和耗时。
我们正在使用 Visual Studio 2010 和 .NET 4.0(还安装了 Visual Studio 2012)。