2016-06-07 41 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 

期間代表任意字符,並應匹配連字符