У меня есть проект Visual Studio 2010, предназначенный для .NET Framework 3.5. Проект прекрасно собирается из Visual Studio, но когда я пытаюсь скомпилировать его из командной строки или из TeamCity, я получаю следующую ошибку сборки:
C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.WinFX .targets (269,9): ошибка MC1000: неизвестная ошибка сборки, «невозможно разрешить зависимость от сборки» Microsoft.Windows.Design.Extensibility, версия = 4.0.0.0, культура = нейтральная, PublicKey Token = b03f5f7f11d50a3a ', поскольку он не был предварительно загружен. При использовании API ReflectionOnly зависимые сборки должны быть предварительно загружены или загружены по требованию через событие ReflectionOnlyAssemblyResolve. ' [C: \ Work \ MyProject \ MyProject.sln]
Компоновщик, похоже, жалуется на Microsoft.Windows.Design.Extensibility.dll
, но проект не зависит от этой библиотеки.
Бомбит при попытке скомпилировать XAML в проекте. Игнорируйте замечание о событии ReflectionOnlyAssemblyResolve в сообщении, это просто попытка помочь решить проблему. На самом деле проблема в том, что он просто не может найти сборку.
Этого следовало ожидать, Microsoft.Windows.Design.Extensibility является сборкой Visual Studio, хранящейся в папке Common7\IDE\PublicAssemblies. Она может быть найдена только в том случае, если эта папка находится в пути зондирования, чего не произойдет, если вы запустите msbuild.exe из инструмента сборки.
Не знаю, что посоветовать, вам придется выяснить, откуда берется эта зависимость. Вероятно, это следует начать с содержимого файла .xaml, ищите имя сборки. Также проверьте, воспроизводится ли проблема при запуске msbuild.exe из командной строки Visual Studio.