我使用msdeploy通過teamcity部署asp.net-mvc Web應用程序。MSDeploy - 允許參數在parameters.xml中爲可選/空的
我正在使用paramaters.xml文件來操縱我的應用程序的web.config,特別是應用程序settings部分。
我有一些設置,它只是有效的一個特定的環境值,其餘的時間值應該是空白的(即屬性應該只有一個生產值)。然而,MSDeploy給了我這個例外,當我做不指定值:
Microsoft.Web.Deployment.DeploymentException:
The 'facebookUserToken' argument cannot be null or empty.
at Microsoft.Web.Deployment.DeploymentSyncParameterValidation.Validate(String parameterName, String parameterValue)
at Microsoft.Web.Deployment.DeploymentSyncParameter.set_Value(String value)
at Microsoft.Web.Deployment.DeploymentSyncParameterCollection.LoadFromFile(XPathNavigator nav, String fileName, Boolean ignoreExtraSetParameters)
at Microsoft.Web.Deployment.DeploymentSyncParameterCollection.Load(Stream stream, String fileName, Boolean ignoreExtraSetParameters)
at Microsoft.Web.Deployment.DeploymentSyncParameterCollection.Load(String fileName, Boolean ignoreExtraSetParameters)
at MSDeploy.MSDeploy.HandleSetParameters(DeploymentObject sourceObject, Random random)
at MSDeploy.MSDeploy.ExecuteWorker()
at MSDeploy.MSDeploy.Execute()
at MSDeploy.MSDeploy.Main(String[] unusedArgs)
如何配置MSDeploy允許參數有一個空值?
的web.config:
<applicationSettings>
<SO.Example>
<setting name="FacebookUserToken" serializeAs="String">
<value></value>
</setting>
</SO.Example>
</applicationSettings>
parameters.config:
<parameter name="facebookUserToken" description="" defaultValue="">
<parameterEntry kind="XmlFile" scope="Web.config"
match="XPath removed for readability">
</parameterEntry>
</parameter>
感謝那些做到了!歡迎來到SO – 2014-09-04 11:25:38
我只想指出這[IIS.net頁面](http://www.iis.net/learn/develop/windows-web-application-gallery/reference-for-the-web-application -package)不能用於MsBuild 14.'parameterValidation'應該有'kind'屬性而不是'type'屬性。 – 2015-11-18 01:02:31