Задача пакета MSBuild - веб-развертывание - PullRequest
0 голосов
/ 19 октября 2010

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

  <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, которые нам нужно скопировать в пакет, но я никогда не вижу найденных файлов в сообщении. Есть идеи?

Спасибо Andy

Ответы [ 2 ]

1 голос
/ 19 октября 2010

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

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

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

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

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

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

Надеюсь, это спасет кого-то еще.

0 голосов
/ 19 октября 2010

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

...