我試圖使用MSDeploy與參數設置文件選項,所以我可以構建一次並通過覆蓋不同文件的參數部署到多個環境。從PowerShell中,我打電話給msdeploy。MSDeploy setParamFile不識別參數
msdeploy.exe -verb:sync `
-source:"contentPath='$SourceLocalPath'" `
-dest:"contentPath='$TargetLocalPath',computername='$TargetServer'"
-setParamFile:"$ParamFilePath" `
-verbose
這會導致關於不識別參數的錯誤。
msdeploy.exe : Error: The declared parameter 'SqlConnString' is not recognized.
如果我刪除「setParamFile」路線,它部署精細,但後來使用默認值。另外,如果我嘗試手動導入從IIS的包,它會顯示已填充默認的參數
我在Web項目的根Parameter.xml文件:
<parameters>
<parameter name="SqlConnString" description="Please provide the SQL connection string" defaultValue="...;Initial Catalog=xxx;server=xxx;" tags="">
<parameterEntry kind="XmlFile" scope="\\web.config$" match="/configuration/connectionStrings/add[@name='Sql']/@connectionString" />
</parameter>
</parameters>
包是在包內部創建一個... SetParameters.xml文件,其中包含我的Parameters.xml文件中的條目和標準條目。
<parameters>
<setParameter name="SqlConnString" value="...Initial Catalog=xxx;server=xxx;"/>
...
</parameters>
謝謝
您是否嘗試過使用由打包程序創建的.cmd文件?這是我做到這一點的方式,沒有任何問題找到參數。 – BNL 2012-08-01 14:13:00
.cmd文件正在工作。謝謝你指點我。我想我擺脫了捱打的道路。 – 2012-08-01 14:33:02