在MSBUILD removedir的目标上找到正确的目录

在MSBUILD removedir的目标上找到正确的目录,msbuild,msdeploy,webdeploy,Msbuild,Msdeploy,Webdeploy,在MSBUILD的目标上查找正确的目录 你好, 我正在尝试在完成构建后远程清除网站上.pubxml文件中的“imagecache”文件夹。问题是,当我通过Web Deploy向远程服务器运行发布时,返回以下错误: 目录“App_Data/images/imagecache/w-400”不存在。跳过。 这是我当前的构建脚本: <PropertyGroup> <WebPublishMethod>MSDeploy</WebPublishMethod>

在MSBUILD的目标上查找正确的目录

你好,

我正在尝试在完成构建后远程清除网站上.pubxml文件中的“imagecache”文件夹。问题是,当我通过Web Deploy向远程服务器运行发布时,返回以下错误:

目录“App_Data/images/imagecache/w-400”不存在。跳过。

这是我当前的构建脚本:

  <PropertyGroup>
    <WebPublishMethod>MSDeploy</WebPublishMethod>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish>mysite.com</SiteUrlToLaunchAfterPublish>
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <MSDeployServiceURL>NotRealServer</MSDeployServiceURL>
    <DeployIisAppPath>mysite.com</DeployIisAppPath>
    <RemoteSitePhysicalPath />
    <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
    <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
    <EnableMSDeployBackup>True</EnableMSDeployBackup>
    <UserName>UserNameHere</UserName>
    <_SavePWD>True</_SavePWD>
</PropertyGroup>

<Target Name="AfterBuild">
   <RemoveDir Directories="App_Data/images/imagecache/w-400"/>
</Target>

MSDeploy
释放
任何CPU
mysite.com
真的
假的
NotRealServer
mysite.com
真的
WMSVC
真的
用户名在这里
真的
我也尝试过以下方法,但没有效果。我不确定如何在远程web服务器上为MSBuild提供需要删除的目录

<RemoveDir Directories="$( DeployIisAppPath)/App_Data/images/imagecache/w-400"/>



感谢您抽出时间。

这取决于您的web发布配置

如果要发布到文件共享,请使用UNC路径。如果要发布到FTP,则MSBuild将无法访问该文件夹

下面是UNC共享上的RemoveDir任务的示例


我在上面输入的Condition和ContinueOnError属性不是必需的,但它们是一个好主意。按照此任务的配置方式,如果文件夹不存在,并且确实存在并且出现错误,则将跳过RemoveDir,任务将发出警告,生成过程将继续

<RemoveDir Directories="/App_Data/images/imagecache/w-400"/>