簡単な説明:ソリューションを最初に読み込むと、外部プロジェクトの参照が無効としてマークされ、ソリューションを再読み込みすると問題が修正されます。
詳細な説明:
システムには大量の C# プロジェクトがあり、いくつかの異なるソリューションには少数のプロジェクトしか含まれていません。プロジェクトは、dll への直接参照ではなく、プロジェクト参照を介して相互に参照しています。参照されているプロジェクトはソリューションの一部ではありません。
これらのソリューションを使用すると、奇妙な動作が発生します。ソリューションを初めて開くたびに、これらの外部プロジェクト参照は参照ツリーの下で無効としてマークされ、一部の機能が正しく動作しません (コード分析、ReSharper 参照、など) ソリューションのビルドはエラーなしで可能です。ただし、ソリューションをリロードすると、すべての参照が再び有効になります。
追加情報:
- プロジェクト ファイルの 1 つで何かを変更すると、ソリューションでプロジェクトのリロードがトリガーされ、参照が再び壊れてしまい、修正するためにソリューションを 2 回リロードする必要があります。
- 外部プロジェクトをソリューションに追加すると、問題は発生しません。
- Visual Studio を閉じて、次回の起動時に最後のソリューションを読み込むと、参照が有効になります。別のソリューションをロードするだけで問題が発生します。
問題は重大ではありませんが、非常に不便で時間がかかります。
Visual Studio 2010 と .NET 4.0 を使用しています (Visual Studio 2012 もインストールされています)。