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> 

相关问题