2

Visual Studio 2008 Веб-развертывание проекта Team Build ASPPARSE ОшибкаОшибка сборки команды проекта развертывания веб-сайта

У меня, похоже, общая проблема; тот, который появляется, но не имеет четкого решения.

У меня есть структура проекта Visual Studio 2008, которая содержит несколько проектов, которые представляют собой библиотеки классов, проект веб-приложения и недавно добавленный проект веб-развертывания. Я слышал об этой проблеме с настройками MVC. Кроме того, решения, которые я видел, предполагают, что используется MVC.

Я проверил, что сборка работает правильно из среды IDE. Я не изменил значения по умолчанию проекта веб-развертывания, кроме имени сборки, которую он создает в результате слияния одной сборки.

Я установил свое решение для создания проекта развертывания в Интернете только тогда, когда решение создано для «Release». У меня есть скрипт пользовательской сборки, который захватывает эту ветвь кода и ветвь разработки кода. Сценарий сборки правильно строит версию выпуска этого кода и отладочную версию ветви разработки.

Проблема возникает при создании версии выпуска. Все проекты успешно завершены, за исключением проекта веб-развертывания. TFS сборки ошибок при создании этого проекта со следующей ошибкой:

/xx.csproj/global.asax(1): error ASPPARSE: Could not load type 'xxx.xx.Global'. 

xx.csproj является проект веб-приложения и «xxx.xx.Global» является кодом Global.asax за классом.

Из моего чтения кажется, что с TFS Build может возникнуть проблема с копированием. Я прочитал несколько ответов здесь о MVC. Это не настройка MVC, но я считаю, что это аналогичная проблема. Я не уверен, куда должен идти код копирования. Я попытался помещать некоторый предложенный код в мою цель AfterBuild в файл TFSBuild.proj, но найденный код не изменил эту ошибку.

<!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
     Other similar extension points exist, see Microsoft.WebDeployment.targets. 
    <Target Name="BeforeBuild"> 
    </Target> 
    <Target Name="BeforeMerge"> 
    </Target> 
    <Target Name="AfterMerge"> 
    </Target> 
    <Target Name="AfterBuild"> 
    </Target> 
    --> 

Приведенный выше код появляется в файле проекта, прокомментированном. Мое мышление заключается в том, что цель «BeforeMerge» позволила бы мне скопировать нужные вам двоичные файлы. Я не знаю, как писать сценарий для этого. Я консультировался с несколькими книгами TFS, но ни одна из них не содержит информации о проектах веб-развертывания. (К большому огорчению мне кажется, что я не могу найти много информации от Microsoft в отношении этой проблемы).

Видя, что я только видел решения, которые ссылаются на решения MVC, я должен сказать, что я изучал работу в целевой среде AfterBuild. Сценарий сборки выше непосредственно из deploy_csproj, где я пробовал его в скрипте TSBuild. Есть ли разница в попытке скопировать двоичные файлы в любом месте?

Может ли кто-нибудь объяснить, что происходит? Должен ли я писать отдельные скрипты сборки для каждого проекта, чтобы они копировали свои двоичные файлы в правильный каталог для выполнения слияния?

ответ

0

Я думаю, что вы сталкиваетесь с известной проблемой, которая сосредотачивается на том, что TFS TeamBuild перенаправляет выходы компиляции в одну папку (а не bin \ Release в каждом проекте).

Я хотел бы указать вам в направлении этого поста на блоге Аарона Халльберг, который объясняет этот вопрос и как временного решения:

http://blogs.msdn.com/aaronhallberg/archive/2007/07/02/team-build-and-web-deployment-projects.aspx

Смежные вопросы