Когда я собираю 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:
Все ошибки вызываются из кода для отсутствующих ссылок (все являются ссылками проекта). Я получаю только три типа ошибок, как указано ниже.
ошибка CS0012: определен тип 'X'
в сборке, на которую нет ссылок.
Вы должны добавить ссылку на сборку
'Y, версия = 2.0.0.0, культура = нейтральная,
PublicKeyToken = aad4cbe5d7c27078' .
ошибка CS0234: тип или пространство имен
Имя «Х» не существует в
пространство имен 'Y' (вы пропустили
ссылка на сборку?)
ошибка CS0246: тип или пространство имен
имя 'X' не может быть найдено (вы
отсутствует директива использования или
ссылка на сборку?)
Я очистил все ранее созданные библиотеки от путей сборки перед сборкой из IDE и MSBuild. Но IDE просто отлично работает и не показывает отсутствующий индикатор ссылки в разделе «Ссылки» для проекта.
В IDE вручную не добавлены ссылочные пути.
Еще одно обновление:
Я только что заметил, что, когда я открываю оба проекта из решения, ссылки правильно указываются в IDE. Но когда я открываю проекты отдельно в IDE, недостающие ссылки, о которых я упоминал, встречаются в MSBuild. Очень странный.
Итак, подведем итог,
Buiilding .proj в MSBuild - Хорошо
Создание .proj в IDE - Ошибка
Buiilding .sln в MSBuild - Ошибка
Buiilding .Sln в IDE - Хорошо
Выглядит очень странно для меня. Помощь очень ценится.