我正在尝试使用MSBuild脚本从构建中删除一个文件夹(好吧,实际上我认为删除里面的文件更容易)。
我认为这样做是将它们从复制任务本身中移除,但是我认为它看起来非常简单,它不起作用(我很确定因为我对这些东西不太了解,只是阅读昨天和今天的文件)。这是我试图删除文件夹(或其中的文件)..App_Data /电子邮件模板与这个空间(空间做的事情?)。
<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 "$(LocalBuild)" %%f IN (.svn) DO RD /s /q "%%f"" 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:\构建\获取\最新\生成\网络\ UI \ UI.csproj]
不要'真的知道它是否正在排除
答案 0 :(得分:0)
on githup是一个名为MsBuildTasks的项目,其中包含可以轻松集成到项目中的所有自定义操作
https://github.com/loresoft/msbuildtasks
从您的更新中讲述一个“新”故事。
在项目文件中,您引用App_Data文件夹中的文件,WebDeployment要将其复制到部署中。删除App_Data会导致丢失文件,从而导致失败。 将这些文件移动到项目中的其他位置或删除对这些文件的引用。
我的建议是为模板创建一个单独的文件夹,App_Data有不同的用途。