2012-10-09 85 views
0

我試圖從使用MSBuild腳本的構建中刪除一個文件夾(其實,我認爲它更容易刪除其中的文件)。從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 &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 \微軟\ VisualStudio的\ V10.0 \網絡\ Microsoft.Web.Publishing.targets(1852,5):錯誤:複製文件的App_Data \電子郵件Templates \ BuyerRegistrationComplete.htm到obj \ Latest \ Package \ PackageTmp \ App_Data \ Email Templates \ BuyerRegistrationComplete.htm失敗。找不到路徑'App_Data \ Email Templates \ BuyerRegistrationComplete.htm'的一部分。 [C:\構建\入門\最新\編譯\網絡\ UI \ UI.csproj]

不要」真正知道它是否exluding與否

+0

對不起,格式不好,不知道該怎麼做。 – mitomed

回答

0

在githup名爲MsBuildTasks包含所有類型的項目你可以在你的項目

https://github.com/loresoft/msbuildtasks

從您的更新輕鬆集成定製的行動告訴了「新」的故事。

在您的項目文件中,您引用了WebDeployment想要複製到部署的App_Data文件夾中的文件。刪除App_Data會導致文件丟失,從而導致失敗。 將這些文件移動到項目中的其他位置或刪除對這些文件的引用。

我的建議是爲模板創建一個單獨的文件夾,App_Data具有不同的目的。

+0

那麼,據我所知,腳本導入 mitomed