Скрипт сборки TFS 2008

В TFS 2008 я пытаюсь изменить скрипт сборки (TFSBuild.proj). Я получаю следующее предупреждение:

The element 'PropertyGroup' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003' has invalid child element 'TeamProject' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'.

Что верно, элемент PropertyGroup действительно имеет дочерний элемент с именем TeamProject.

Я делаю предположение, что это вызвано из-за следующей строки:

<Project DefaultTargets="DesktopBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">

Насколько я могу судить, пространство имен Xml не существует, хотя выглядит как стандартное. Кто-нибудь может мне сказать, если это стандартное пространство имен XML, как или где я могу просмотреть его содержимое и может ли оно быть вызвано предупреждением, которое я вижу?

2 ответа

Решение

Ответ на ваш вопрос можно найти по этой ссылке и подвести итог:

Вы можете смело игнорировать это предупреждение. Так проверяет ли MSBuild файлы вашего проекта по схеме? Да, это так, но я не был уверен, как именно это было достигнуто, поэтому я отправил электронное письмо Бак Ходжесу. Он был достаточно хорош, чтобы передать его пока еще неназванному разработчику в команде MSBuild. Дев заявил, что

"...MSBuild пытается выполнить проверку на соответствие схеме. Однако проверка выполняется во время выполнения нашим кодом, а не загрузкой файла [project] с использованием средства чтения проверки с помощью xsd (в основном по соображениям перфорации). MSBuild должен дать сбой любой проекты, которые не придерживаются схемы ".

Вы редактируете файл SCRIPT в редакторе Visual Studio, он всегда будет пытаться найти отсутствующие элементы в пространствах имен. У меня та же "информация" (не ошибки), когда я использую пользовательские задачи или пользовательские библиотеки. Лучший способ ее решить - привыкнуть к ней:). Помните, что это только предупреждения от редактора.

Другие вопросы по тегам