2012-05-10 4 views
5

Я добавил в проект следующее правило пропуска, но когда я использую Web Deploy для публикации содержимого, файлы в папке/config уничтожаются.MS Web Deploy Skip Delete Правило не пропускает

Я использую полученный процесс here, и я клянусь, что он работал ранее.

Я добавил следующее в мой файл проекта:

<PropertyGroup> 
    <OnBeforePackageUsingManifest>AddCustomSkipRules</OnBeforePackageUsingManifest> 
</PropertyGroup> 
<Target Name="AddCustomSkipRules"> 
    <ItemGroup> 
     <MsDeploySkipRules Include="SkipConfigFolder"> 
     <SkipAction>Delete</SkipAction> 
     <ObjectName>dirPath</ObjectName> 
     <AbsolutePath>.*\\config\\$</AbsolutePath> 
     <XPath></XPath> 
     </MsDeploySkipRules> 
     <MsDeploySkipRules Include="SkipConfigSubFolders"> 
     <SkipAction>Delete</SkipAction> 
     <ObjectName>dirPath</ObjectName> 
     <AbsolutePath>.*\\config\\.*$</AbsolutePath> 
     <XPath></XPath> 
     </MsDeploySkipRules> 
    </ItemGroup> 
</Target> 

Когда я публикую (с помощью командной строки, используя CMD файл, созданный с помощью пакета), следующий выдаваемый:

------------------------------------------------------- 
Start executing msdeploy.exe 
------------------------------------------------------- 
"C:\Program Files\IIS\Microsoft Web Deploy V2\\msdeploy.exe" 
    -source:package='<MyPackageFile>' 
    -dest:auto,includeAcls='False' 
    -verb:sync 
    -disableLink:AppPoolExtension 
    -disableLink:ContentExtension 
    -disableLink:CertificateExtension 
    -skip:skipaction='Delete',objectname='dirPath',absolutepath='.*\\config\\$' 
    -skip:skipaction='Delete',objectname='dirPath',absolutepath='.*\\config\\.*$' 
    -setParamFile:"<MySetParameters.xml>" 
Info: Deleting filePath (Default Web Site/uPPK_32\config\New Text Document.txt). 

Похоже, что правило скипа добавляется, но заметьте, что новый текст Document.txt удаляется. Как я могу это предотвратить? Я что-то упускаю?

+0

Привет, Бен. Не могли бы вы исправить это? У меня такая же проблема! – fcaldera

+0

Я не нашел решение. Я продолжал пока, но я хотел бы понять, почему это не работает. Я напишу исправление здесь, если найду одно ... :) –

+0

Я понимаю, что эти SkipRules не запускаются при использовании Package/Web Deploy, см. Https://stackoverflow.com/a/5659390/1339347 – uniquelau

ответ

3

Я думаю, что ваша вторая строка пропуска должна использовать filePath вместо DirPath, поскольку вы выбираете файлы там.

3

Значения атрибутов absolutePath являются регулярными выражениями, поэтому вы, вероятно, хотите получить значение, например '\\config', или '\\config$' вместо значений для двух примерных параметров пропусков, указанных в вашем вопросе.

+0

У меня было та же проблема, и это то, что исправило это для меня. Благодаря! – Alexandre

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

  • Нет связанных вопросов^_^