如何在与MSDeploy一起使用的Parameters.xml中指定IIS Web应用程序名称

Wha*_*ool 20 msdeploy

我已经找到了如何设置应用程序池和默认值

<parameter name="applicationPool" defaultValue="MyDefaultValue" >
  <parameterEntry kind="DeploymentObjectAttribute" scope="application"
                  match="application/@applicationPool" />
</parameter>
Run Code Online (Sandbox Code Playgroud)

有谁知道如何设置"IIS Web应用程序名称"?它在SetParameters.xml文件中生成为

<setParameter name="IIS Web Application Name" value="Default Web Site/MySite_deploy" />
Run Code Online (Sandbox Code Playgroud)

我可以覆盖SetParameters.xml文件,但我宁愿在Parameters.xml文件中设置它,但我找不到parameterEntry类型.

谢谢

Ric*_*lay 35

您应该能够通过DeployIisAppPath在生成包时定义属性来覆盖存储在包中的默认值

或者,您可以声明DisableAllVSGeneratedMSDeployParameter=true并且Visual Studio将不再为您自动生成任何参数,您必须自己声明它们.

如果你自己宣称的网站参数时,那种ProviderPath.范围将取决于iisAppcontentPath正在使用的提供商.撕开包并查看archive.xml文件,该值将是根清单元素的直接子元素.

  • 谢谢理查德,两种方法都有效.`--Project file` <PropertyGroup <DisableAllVSGeneratedMSDeployParameter> true </ DisableAllVSGeneratedMSDeployParameter> </ PropertyGroup>``--Parameters.xml` <parameter name ="IIS Web Application Name"defaultValue ="MySite/MyApp"> <parameterEntry kind = "ProviderPath"scope ="IisApp"match ="@ defaultValue"/> </ parameter>或`--project file` <PropertyGroup>`<DeployIisAppPath> MySite/MyApp </ DeployIisAppPath>`</ PropertyGroup>我去了第二种方法. (6认同)
  • @Heinrich在`PropertyGroup`元素中或作为命令行参数`/ p:DisableAllVSGeneratedMSDeployParameter = true` (2认同)
  • @RichardSzalay如果我使用`<PropertyGroup>`元素,**文件**是否进入?我在我的`csproj`文件中尝试了这个,它只是给出了一个关于`DisableAllVSGeneratedMSDeployParameter`的编译错误.我正在使用`VS2013`. (2认同)
  • @Heinrich - 你的`.pubxml`将是你最好的选择,但你也可以把它放在你的`csproj`中.名为`ProjectName.wpp.xml`的XML文件也将在所有发布配置文件之间共享. (2认同)