Я использую Visual Studio 2005, .NET 2.0
Я еще не совсем уверен, при каких обстоятельствах это происходит, но вот сценарий: у меня есть решение с такой структурой проекта: проект библиотеки Foo, проект библиотеки Bar, который ссылается на Foo, и проект библиотеки Quux, который ссылается на Foo и Бар.
Сбой компиляции с сообщением об ошибке «Файл метаданных 'Foo.dll' не может быть найден» из Bar, и «Не удалось найти файл метаданных 'Foo.dll'» и «Не удалось найти файл метаданных 'Bar.dll'» от Quux.
Заглянув в свой целевой каталог (у меня есть объединенный целевой каталог для всех трех проектов), он пуст, поэтому проект вообще не компилируется. Теперь я могу получить этот Bar, а Quux выйдет из строя, если Foo не выведет данные. Проблема в том, почему Foo молча терпит неудачу? В этом нет ошибки, и просто создание Foo вместо всего решения работает нормально.
"Забавно" то, что после простого нажатия кнопки сборки снова появляется файл Foo.dll, Bar больше не жалуется, но также не создает выходной файл, а Quux жалуется на отсутствие Bar.dll. При повторном нажатии на кнопку появляется Bar.dll, ошибок больше нет, но нет Quux.dll. Только после повторного нажатия кнопки появляется Quux.dll, снова без ошибок.
Все зависимости проекта настроены правильно, порядок сборки решения говорит именно то, что нужно.
Я даже попытался создать новое решение и новые файлы проекта, а затем снова добавить к ним источники. Никакой радости. Происходит то же самое.
Я в полном тупике. Кто-нибудь знает выход из этого бардака?