5

次のスキップ ルールをプロジェクトに追加しましたが、Web Deploy を使用してコンテンツを公開すると、/config フォルダー内のファイルが消去されます。

ここにあるプロセスを使用していますが、以前は機能していたことを誓います。

プロジェクト ファイルに以下を追加しました。

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

スキップ ルールが追加されているように見えますが、New Text Document.txt が削除されていることに注意してください。どうすればこれを防ぐことができますか? 何か不足していますか?

4

2 に答える 2

3

2番目のスキップ行では、ファイルを選択しているため、DirPathではなくfilePathを使用する必要があると思います。

于 2012-06-21T14:14:19.220 に答える
3

absolutePath属性の値は正規表現であるため、質問に示されている 2 つのスキップ設定の例の値の代わりに、'\\config'またはのような値が必要になる可能性があります。'\\config$'

于 2013-05-03T17:04:13.070 に答える