Устранение неполадок построений Team Foundation для веб-проектов
Обновлен: Ноябрь 2007
В следующем разделе описаны распространенные сценарии устранения неполадок при построении веб-проектов с помощью Team Foundation Build.
Построение веб-проектов не выполняется
Для построения только веб-проектов должна быть задана конфигурация построения «.NET», а для построения как веб-, так и других управляемых проектов в Visual Studio — «Смешанные платформы».
Если указана неверная конфигурация построения, в файл журнала построения заносится предупреждение:
Warning MSB4126: The specified solution configuration "Release|Any CPU" is invalid. Specify a valid solution configuration using the Configuration and Platform properties (e.g, MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU") or leave those properties blank to use the default solution configuration.
Решение
Измените конфигурацию на «Смешанные платформы» или «.NET» в определении построения. В качестве альтернативы можно при создании нового файла TFSBuld.proj выбрать «.NET» или «Смешанные платформы» в качестве конфигурации на странице Выбор конфигурация для построенияМастера создания файла проекта MSBuild. Дополнительные сведения см. в разделе Создание определения построения.
Конфликтующие структуры каталогов
По умолчанию при создании веб-проекта в Visual Studio файлы решения и файлы веб-узла хранятся в двух разных местах. Для веб-проекта SampleWS файлы решения хранятся в следующей папке:
- <корень>:\Documents and Settings\пользователь\My Documents\Visual Studio 2008\Projects\SampleWS
Файлы веб-узла хранятся в следующей папке:
- <root>:\Documents and Settings\пользователь\My Documents\Visual Studio 2008\Websites\SampleWS
Файл решения веб-проекта содержит свойство PhysicalPath, указывающее на папку веб-узла, чтобы находить ее при компиляции. Однако при возврате решения веб-проекта в систему управления версиями файл решения хранится в корневой папке, а веб-узлы — в ее непосредственных подпапках. Результатом этого являются неверные свойства PhysicalPath в файле решения из системы управления версиями. В процессе построения Team Foundation Build синхронизирует файлы веб-проекта, используя структуру папки системы управления версиями. Ошибки компиляции возникают из-за того, что структура каталогов в системе управления версиями отличается от структуры папок решения.
При наличии конфликтующих структур каталогов в файле решения и системе управления версиями эта ошибка записывается в файл журнала построения:
ASPNETCOMPILER(0,0): ошибка 1003: Каталог d:\<builddirectory>\MyTeamProject\SampleWS\WebSites\SampleWS\' не существует.
Решение
Создайте пустое решение в Visual Studio, а затем создайте в том же расположении веб-узлы.
Измените свойства Debug.AspNetCompiler.PhysicalPath и Release.AspNetCompiler.PhysicalPath в файле решения, чтобы они указывали на папку веб-узла из системы управления версиями.
См. также
Другие ресурсы
Администрирование Team Foundation Build