我已将以下跳过规则添加到我的项目中,但是当我使用Web Deploy发布内容时,/ config文件夹中的文件正在被删除。
我正在使用找到的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).
看起来正在添加跳过规则但是会删除通知New Text Document.txt。我怎么能阻止这个?我错过了什么吗?
答案 0 :(得分:3)
我认为你的第二个跳过行需要使用filePath而不是DirPath,因为你在那里选择文件。
答案 1 :(得分:3)
absolutePath
属性的值是正则表达式,因此您可能需要'\\config'
或'\\config$'
之类的值,而不是问题中显示的两个示例跳过设置的值。< / p>