2010-10-18 4 views
0

Я пытаюсь добавить пользовательские файлы в наш пакет развертывания веб, в этом блоге: http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspxMSBuild Пакет задача - Web Deploy

<Target Name="CustomCollectFiles"> 
    <Message Text="AppBuildFolder = $(AppBuildFolder)"/> 
    <ItemGroup> 
     <_CustomFiles Include="..\*Repository*\**\*.dll;..\*Repository*\**\*.pdb" Condition="'$(AppBuildFolder)' == ''" /> 
     <_CustomFiles Include="$(AppBuildFolder + '*.dll');$(AppBuildFolder + '*.pdb')" Condition="'$(AppBuildFolder)' != ''" /> 
     <FilesForPackagingFromProject Include="%(_CustomFiles.Identity)"> 
     <DestinationRelativePath>bin\%(Filename)%(Extension)</DestinationRelativePath> 
     </FilesForPackagingFromProject> 
    </ItemGroup> 
    <Message Text="Files found: @(_CustomFiles)"/> 
    </Target> 

Мы некоторые другие ссылки, расположенные на AppBuildFolder, что мы должны копироваться в пакет, но я никогда не вижу ни одного файла, найденного в сообщении. Есть идеи?

Благодаря Энди

ответ

1

Хорошо, проблема была в этом. Мы используем задачу Nant's MsBuild для создания проекта Web Deploy.

Видимо, при вызове задачи, как это:

<msbuild> 
    <property name="AppBuildFolder" value="${Some.Path.Ending.In.Backslash}" /> 
</msbuild> 

MsBuild заканчивается этим значением c:\myfolder". Обратите внимание на двойную кавычку в конце, а не на c:\myfolder\.

Исправление должно было изменить <property /> и передать значение с помощью элемента <arg />.

Итак, проблема заключалась в задаче MsBuild в NantContrib.

Надеюсь, это сэкономит кому-то еще некоторое время.

0

Вы пропускаете PropertyGroup, который вводит эту цель в сборку. Вы должны также включить это, я подозреваю, что эта цель не выполняется, поэтому они никогда не добавляются. Также вы можете следить за моим блогом, потому что есть более простой способ сделать это, я буду вести блог в ближайшее время, когда у меня будет время.

+0

Говорит, спасибо, но цель выполняется, так как я вижу сообщения «AppBuildFolder = c: \ myfolder» и «Найденные файлы:' (но ничего не отображается). Есть ли что-то, что я могу сделать, чтобы заставить это работать прямо сейчас, чтобы я мог поразить наш крайний срок? Я подозреваю, что у моей проблемы нет правильного формата для 'Include' в' _CustomFiles', потому что иначе это копия и вставка из вашего блога. :-) – Andy

+0

Если сообщение «Найденные файлы:», вы не создали объявление Include для этого правильно. Вам нужно заставить эту часть работать, иначе она не будет работать, потому что вы не добавите ничего в список элементов FilesForPackagingFromProject. –

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

  • Нет связанных вопросов^_^