2012-05-10 6 views
5

Ich habe meinem Projekt die folgende Überspringungsregel hinzugefügt, aber wenn ich Web Deploy zum Veröffentlichen des Inhalts verwende, werden die Dateien im Ordner/config gelöscht.MS Web Deploy Überspring-Regel nicht überspringen

Ich benutze den Prozess gefunden here und ich schwöre, es hat früher funktioniert.

Ich habe folgendes meine Projektdatei hinzugefügt:

<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> 

Wenn ich (über die Befehlszeile mit dem cmd-Datei durch das Paket generiert) veröffentlichen, wird die folgende ausgegeben:

------------------------------------------------------- 
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). 

Es sieht so aus, als ob die Skip-Regel hinzugefügt wird, aber beachten Sie, dass Neue Text Document.txt gelöscht wird. Wie kann ich das verhindern? Fehle ich etwas?

+0

Hallo Ben.Könntest du es reparieren? Ich habe das gleiche Problem! – fcaldera

+0

Ich habe keine Lösung gefunden. Ich bin jetzt weiter, aber ich würde gerne verstehen, warum das nicht funktioniert. Ich werde hier einen Fix posten, wenn ich einen finde ... :) –

+0

Mein Verständnis ist, dass diese SkipRules nicht ausgeführt werden, wenn Sie Package/Web Deploy verwenden, siehe: https://Stackoverflow.com/a/5659390/1339347 – uniquelau

Antwort

3

Ich denke, Ihre zweite Überspringzeile muss filePath anstelle von DirPath verwenden, da Sie Dateien dort auswählen.

3

Die Werte der absolutePath Attribute sind Regexes, also möchten Sie wahrscheinlich einen Wert wie '\\config' oder '\\config$' anstelle der Werte für die zwei Beispiel überspringen Einstellungen in Ihrer Frage gezeigt.

+0

Ich hatte das gleiche Problem und das ist es, was es für mich repariert hat. Vielen Dank! – Alexandre

Verwandte Themen