我无法让 msdeploy
仅跳过根 web.config(我想保留根目录下子文件夹中存在的任何 web.config 文件)
这是我正在使用的参数:
-skip:objectName=filePath,absolutePath=^\\web\.config
我尝试过 ^\\web\.config
、\\web\.config
和文件的绝对路径,例如:C:\\Some Path\\web\.config
。这些似乎都不起作用。
最佳答案
我设法解决了这个问题。
您必须使用完整的源路径才能仅跳过目标根web.config。 msdeploy
似乎使用此正则表达式过滤器的源路径。
像这样:
-skip:objectName=filePath,absolutePath=\\\\servername\\c\$\\syncpath\\web\.config
希望这可以帮助其他人将来摆脱困境。
编辑 - 其他信息
除此之外,如果您要跳过子目录中的 web.config 文件,您还需要正则表达式中的目标目录和 web.config,如下所示:
-skip:objectName=filePath,absolutePath=\\\\servername\\c\$\\syncpath\\web\.config|TargetFolder\\web\.config
这将阻止 msdeploy 在目标 web.config 上发出删除指令。
请注意,正则表达式比较不区分大小写。
关于MSDeploy 跳过 root web.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16431439/