Когда я создаю A.sln, который включает в себя 2 проекта B.csproj и C.csproj, которые имеют внутренние ссылки на проекты, он вызывает опорные ошибки в MSBuild. Но когда я строю B.csproj и C.csproj отдельно в MSBuild, это не вызывает ошибок. А также создание A.sln в VS IDE также не вызывает ошибок. Я использую .NET 2.0 framework. Ниже вы найдете скрипты, используемые для создания sln и projs.
MSBuild "<path>/A.sln" /p:Configuration=Release /p:StartupObject="" /p:WarningLevel=4 /p:Optimize=true /t:rebuild /l:Filelogger,Microsoft.Build.Engine;logfile=F:\A.sln.log /verbosity:normal
MSBuild "<path>/B.csproj" /p:Configuration=Release /p:StartupObject="" /p:WarningLevel=4 /p:Optimize=true /t:rebuild /l:Filelogger,Microsoft.Build.Engine;logfile=F:\B.csproj.log /verbosity:normal
MSBuild "<path>/C.csproj" /p:Configuration=Release /p:StartupObject="" /p:WarningLevel=4 /p:Optimize=true /t:rebuild /l:Filelogger,Microsoft.Build.Engine;logfile=F:\C.csproj.log /verbosity:normal
Edit:
Все ошибки, которые вы выбрали, - это код для недостающих ссылок (все ссылки на проекты). Я получаю только три типа ошибок, как указано ниже.
error CS0012: Тип "X" определен в сборке, на которую не ссылаются. Вы должны добавить ссылку на сборку 'Y, Версия = 2.0.0.0, Культура = нейтральная, PublicKeyToken = aad4cbe5d7c27078'.
ошибка CS0234: тип или пространство имен имя 'X' не существует в namespace 'Y' (вам не хватает сборка?)
ошибка CS0246: тип или пространство имен имя "X" не найдено (вы отсутствует директива using или сборка?)
Я удалил все ранее построенные DLL из путей сборки до создания из IDE и MSBuild. Но IDE просто отлично работает и не показывает ссылочный отсутствующий индикатор в разделе "Refrences" для проекта.
Никаких ссылочных путей, добавленных вручную в среде IDE.
Другое обновление:
Я только заметил, что когда я открываю оба проекта из решения, ссылки правильно указывают на IDE. Но когда я открываю проекты отдельно в IDE, исчезают недостающие ссылки, о которых я упоминал в MSBuild. Очень странно.
Итак, чтобы подвести итог,
Buiilding.proj в MSBuild - хорошо
Buiilding.proj в IDE - Ошибка
Buiilding.sln в MSBuild - Ошибка
Buiilding.sln в IDE - хорошо
Выглядит очень странно для меня. Очень благодарен.