0

在目標服務器上,我想要刪除App_Data文件夾下的文件夾(及其所有文件)。 它應該在我將新文件推送到目標服務器之前發生。WebDeploy到IIS - 如何刪除目標服務器上的文件夾?

我該怎麼辦?

當前配置

<PropertyGroup> 
    <WebPublishMethod>MSDeploy</WebPublishMethod> 
    <LastUsedBuildConfiguration>QA</LastUsedBuildConfiguration> 
    <LastUsedPlatform>Any CPU</LastUsedPlatform> 
    <SiteUrlToLaunchAfterPublish>http://qa.mysite.test:80/</SiteUrlToLaunchAfterPublish> 
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish> 
    <ExcludeApp_Data>False</ExcludeApp_Data> 
    <MSDeployServiceURL>https://my-server:8172/msdeploy.axd</MSDeployServiceURL> 
    <DeployIisAppPath>qa.mysite.test</DeployIisAppPath> 
    <RemoteSitePhysicalPath /> 
    <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer> 
    <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod> 
    <EnableMSDeployBackup>True</EnableMSDeployBackup> 
    </PropertyGroup> 

回答

1

WebDeploy到IIS - 如何刪除目標服務器上的文件夾?

您可以的MSBuild檢查出刪除任務

http://msdn2.microsoft.com/en-us/library/7wd15byf.aspx

你可能會創建一個PropertyGroup將包含要刪除的文件的文件夾,然後添加delate任務到AfterBuild目標:

<PropertyGroup> 
     <AppDataFolder>AppdataFoler</AppDataFolder> 
    </PropertyGroup> 

要做到這一點,卸載你的項目,編輯項目文件.csproj。然後,在項目的最後,剛剛結束標記之前,請將下面的腳本:

<?xml version="1.0" encoding="utf-8"?> 
<Project DefaultTargets="Test" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 

    <PropertyGroup> 
    <AppdataFolder>\\YourServer\Appdata</AppdataFolder> 
    </PropertyGroup> 


    <Target Name="AfterBuild"> 
    <Delete Files="$(AppdataFolder)\YourDeleteFile" /> 
    </Target> 

</Project> 

相關問題