【问题标题】:Web Deploy and Parameters.xml: How to share parameters among multiple projectsWeb Deploy 和 Parameters.xml:如何在多个项目之间共享参数
【发布时间】:2012-12-05 15:20:44
【问题描述】:

我在一个套件中有许多网络应用程序。我使用 Web Deploy 发布使用 Visual Studio 构建的部署包。这些包附带了一个 SetParameters.xml 文件,可用于修改 web.config 中的值。有几个值是自动完成的,例如连接字符串,但可以将 parameters.xml 文件添加到项目中,以指定应该可参数化的值:

 <?xml version="1.0" encoding="utf-8" ?>
     <parameters>
         <parameter name="Sharepoint service principal name"
                    description="The principal name of the Sharepoint service."
                    defaultValue="host/108.125.111.137">
              <parameterEntry kind="XmlFile"
                              scope="\\Web\.config$"
                              match="/configuration/system.serviceModel/client/endpoint/identity/servicePrincipalName/@value"/>
         </parameter>
    </parameters>

我的问题是:如果我所有的 Web 应用程序在 web.config 中都有一个应用程序设置,并且我想在部署时修改相同的键和值,我怎样才能避免在每个 parameters.xml 文件中重复特定参数?有没有办法把这个标签放在一个位置,让每个 parameters.xml 引用那个公共位置?

【问题讨论】:

    标签: asp.net xml iis parameters msdeploy


    【解决方案1】:

    如果您使用的是 VS2010 RTM Web Publishing,那么没有。

    但是,如果您使用的是 VS2012(或 VS2010 + Azure SDK),您可以简单地定义参数文件,在项目文件 wpp.targets 或发布配置文件中声明额外的 ParametersXMLFiles

    <ItemGroup>
      <ParametersXMLFiles Include="$(SolutionDir)\CommonParameters.xml" />
    <ItemGroup>
    

    这些将与每个项目根目录中的 Parameters.xml 以及使用 MsDeployDeclareParameters 在“包”发布配置文件中声明的任何参数合并。

    【讨论】:

    • 谢谢,理查德。不幸的是,我们正在使用 VS2010。但我只是快速浏览了 Microsoft.Web.Publishing.targets 文件,我不明白为什么相同的解决方案不起作用。我应该注意,我正在构建服务器上查看它,该服务器上只有一个 Visual Studio Shell。所有的构建/部署都是通过使用自定义构建脚本调用 MSBuild 来完成的。
    • 是的,它也适用于我的 VS2010 RTM。我把它放到我的项目文件中,它就像一个魅力。最后!谢谢!
    • 仅供参考,找出此类新内容的最佳方法是在%programfiles%\msbuild\Microsoft\VisualStudio\v11.0\Microsoft.Web.Publish.targets 中搜索您所知道的最接近的内容(在这种情况下为“Parameters.xml”)。
    • 更新:目标文件位于 VS 2010 SP1 中的“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets”跨度>
    猜你喜欢
    • 2022-09-07
    • 1970-01-01
    • 2017-05-15
    • 2010-09-25
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 2012-07-22
    • 1970-01-01
    相关资源
    最近更新 更多