Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 如何在VS publish profile和MSDeploy SetParameters.xml之间共享参数配置?_Visual Studio 2012_Msbuild_Msdeploy_Webdeploy - Fatal编程技术网

Visual studio 2012 如何在VS publish profile和MSDeploy SetParameters.xml之间共享参数配置?

Visual studio 2012 如何在VS publish profile和MSDeploy SetParameters.xml之间共享参数配置?,visual-studio-2012,msbuild,msdeploy,webdeploy,Visual Studio 2012,Msbuild,Msdeploy,Webdeploy,我在Visual Studio 2012中有一个web应用程序。我使用发布配置文件(.pubxml)将此网站发布到IIS MSDeploy 释放 任何CPU 假的 服务器 网站 假的 WMSVC 真的 域\用户名 我的价值 ... 除此之外,我还设置了一个CI以使用msbuild构建一个包,然后使用它使用msdeploy发布到不同的环境。两个步骤都是分开的,因此我可以多次重复使用同一个包。 为此,我需要使用一个SetParameters.xml,它的语法与VS使用的发布profile不同 &

我在Visual Studio 2012中有一个web应用程序。我使用发布配置文件(.pubxml)将此网站发布到IIS


MSDeploy
释放
任何CPU
假的
服务器
网站
假的
WMSVC
真的
域\用户名
我的价值
...
除此之外,我还设置了一个CI以使用msbuild构建一个包,然后使用它使用msdeploy发布到不同的环境。两个步骤都是分开的,因此我可以多次重复使用同一个包。 为此,我需要使用一个SetParameters.xml,它的语法与VS使用的发布profile不同

<?xml version="1.0" encoding="utf-8"?>
<parameters>
  <setParameter name="IIS Web Application Name" value="site" />
  <setParameter name="MyParam" value="MyValue" />
  ...
</parameters>

...
有没有办法在一个文件中共享参数配置,这样我就只能维护一个文件?
我从2014年开始了解,但我无法使其正常工作。

我对此进行了研究,无法找到在通过VisualStudio发布时覆盖SetParameters文件的方法。看起来MSBuild任务不支持这一点

我能提供的最佳选择是使用命令行,而不是右键单击发布。您可以通过调用包目标来创建MSDeploy包:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild /t:Package /p:PublishProfile=<profile-name>
以下博客文章提供了更多详细信息:


谢谢您的回答。这是我使用CI部署包的方式。我的问题是找到一种聪明的方法,将此解决方案与集成在VS中的clic once publish合并,以允许两种部署都使用较少的配置文件。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild /t:Package /p:PublishProfile=<profile-name>
"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:package=WebApplication7.zip -dest:manifest=WebApplication7.DestManifest.xml -setParamFile:SetParameters.custom.xml