2016-06-07 57 views
0

我们将MsDeploy与Manifest提供程序一起使用,并使用declareParamFile和setParamFiles。 我们希望在打包的'runDeploy.cmd'文件中替换下面的字符串: 'SET SrvrName=Dev-ServerName'(不包括引号)。 所以DeclareParam.xml文件具有PARAM项如下MsDeploy TextFile provider

<parameter name="DbServer" defaultValue="Prod-Server" > 
    <parameterEntry kind="textFile" scope="runDeploy\.cmd$" match="Dev-ServerName" /> 
</parameter> 

然而,我们得到的是 参数输入 'DBSERVER/2' 不能被应用到“C错误:\ SRC \ BLD \ runDeploy。 CMD”。部署将继续使用原始数据。详细信息: 搜索字符串'Dev-ServerName'(类型'TextFile')找不到匹配项。“ 不知道这里的纯文本有什么问题,我也尝试过各种正则表达式,但没有工作。 ?暗示什么是错的

感谢 雅鼎

+0

runDeploy.cmd文件是源文件还是生成文件的一部分?如果在生成时生成? – chief7

+0

rundeploy.cmd文件是contentprovider的一部分。 它是包的一部分,并且正在部署到目的地。 只是为了测试,我试图将匹配更改为ServerName(而不是Dev-ServerName),该字符串被替换。这是导致问题的连字符。我没有看到需要使用正则表达式匹配的'\'来转义它。但即使我这样做(这将使Dev \ -ServerName),它不起作用。 – Yshah00

+0

MsDeploy版本是7.1.1955.0。 – Yshah00

回答

0

在比赛中的正则表达式表达的连字符可能会导致一个问题,请尝试以下的比赛正则表达式来代替:

Dev.ServerName 

期间代表任意字符,并应匹配连字符