0

我正在尝试从使用 MSBuild 脚本的构建中删除一个文件夹(好吧,实际上我认为删除其中的文件更容易)。

我认为方法是将它们从复制任务本身中删除,但我认为它会很简单地看到它不起作用(我敢肯定,因为我对这些东西不太了解,只是昨天阅读了文档和今天)。这是我尝试删除文件夹(或其中的文件)的方式 ..App_Data/Email Templates 与这个空间(空间有什么用吗?)。

<ItemGroup>
  <SourceRootFiles Include="$(BuildFolder)/**/*.*" Exclude="$(BuildFolder)/**/App_Data/Email Templates/*.*">
  </SourceRootFiles>
</ItemGroup>

<Target Name="PrepareBuild" DependsOnTargets="CleanUp">
  <Message Text="Preparing the build directory : $(LocalBuild)"></Message>
  <MakeDir Directories="$(LocalBuild)" />

  <Copy SourceFiles="@(SourceRootFiles)" DestinationFolder="$(LocalBuild)\%(RecursiveDir)">
  </Copy>
  <Exec Command="FOR /r &quot;$(LocalBuild)&quot; %%f IN (.svn) DO RD /s /q &quot;%%f&quot;" IgnoreExitCode="true" />
</Target>

<Target Name="Build" DependsOnTargets="PrepareBuild">
  <MSBuild Projects="$(LocalBuild)\Getting.sln" />
</Target>

更新。

詹金斯提出这个错误

:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(1852,5): 错误:将文件 App_Data\Email Templates\BuyerRegistrationComplete.htm 复制到 obj\Latest\Package\PackageTmp \App_Data\Email Templates\BuyerRegistrationComplete.htm 失败。找不到路径“App_Data\Email Templates\BuyerRegistrationComplete.htm”的一部分。[C:\Builds\Getting\Latest\Build\Web\UI\UI.csproj]

真的不知道它是否排除了它

4

1 回答 1

0

在 githup 上有一个名为 MsBuildTasks 的项目,其中包含所有类型的自定义操作,您可以轻松地将它们集成到您的项目中

https://github.com/loresoft/msbuildtasks

从您的更新中讲述了一个“新”故事。

在您的项目文件中,您引用 WebDeployment 想要复制到部署的 App_Data 文件夹中的文件。删除 App_Data 会导致文件丢失并因此失败。将这些文件移动到项目中的另一个位置或删除对这些文件的引用。

我的建议是为模板创建一个单独的文件夹,App_Data 有不同的用途。

于 2012-10-09T10:20:40.897 回答