2016-02-18 2 views
3

найти правильный каталог на цели для MSBUILDнайти правильный каталог на цели для MSBuild RemoveDir

Здравствуйте,

Я пытаюсь удаленно очистить папку «Imagecache» на моем сайте в моем файле .pubxml после того, как я сделаю свою сборку. Проблема в том, что когда я делаю это при запуске моего публикации на удаленном сервере через 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> 

Я также попытался следующие безуспешно. Я не уверен, как я могу предоставить MSBuild каталог на удаленном веб-сервере, который мне нужно удалить.

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

И

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

Спасибо за ваше время.

ответ

1

Это зависит от настройки вашего веб-публикации.

Если вы публикуете общий доступ к файлу, используйте UNC-путь. Если вы публикуете на FTP, то у MSBuild не будет доступа к этой папке.

Ниже приведен пример задачи RemoveDir на общем ресурсе UNC.

<RemoveDir Directories="\\Server\Share\folder" Condition="Exists('\\Server\Share\folder')" ContinueOnError="WarnAndContinue"/>

Состояние и ContinueOnError атрибуты я введенные выше, не требуется, но они являются хорошей идеей. Как эта задача настроена, RemoveDir будет пропущен, если папка не существует, и если она существует, и есть ошибка, задача выдает предупреждение, и процесс сборки будет продолжен.

Смежные вопросы