我需要能够在AppSettings部分中将一个参数添加到在使用MSDeploy进行部署的TFS构建期间生成的SetParameters.xml文件中.目前只有连接字符串被标记化.
如何从AppSettings部分添加密钥?
有人可以解释(比technet/msdn docs更好)汽车提供商究竟做了什么,它是如何工作的,以及何时使用它.
这与Web部署有关.我看过很多文档指定-dest:auto,这对我来说并没有多大意义.
自动提供程序指定目标上的提供程序与源提供程序相同.
例
msdeploy.exe -verb:sync -source:appHostConfig ="MySite"-dest:auto,computername = Server1
当destination参数与-source参数相同时,auto提供程序使您可以避免输入-dest参数的完整路径.它还消除了从存档或包中单独复制清单文件的需要.
自动提供程序获取您指定的源并使用目标计算机上的相应位置.例如,如果指定appHostConfig = Site1作为源,则目标计算机上的目标将为Site1.当您希望"按原样"将网站同步到远程计算机时,这非常有用.
technet docs for auto provider
没有意义的例子:
msdeploy.exe -verb:sync -source:package=myapp.zip -dest:auto
Run Code Online (Sandbox Code Playgroud)
为什么要将目标确切地设置为源?有什么意义?你不是简单地用iteslf覆盖源代码吗?
在VS2010中发布包生成的生成的cmd文件生成如下内容:
"C:\Program Files\IIS\Microsoft Web Deploy V2\\msdeploy.exe" -source:package='MySourcePath' -dest:auto"
Run Code Online (Sandbox Code Playgroud)
不自动意味着源只会覆盖自己吗?但事实并非如此,它实际上更新了IIS网站(基于清单中的设置)
我已经尝试使用包作为目标,在这种情况下,它确实更新了源包而不是IIS站点.
这个问题的催化剂是我正在实施CI,我过去总是使用msbuild/xcopy.我想现在使用msdeploy.我想理解它,而不是简单地调用从visual studio生成的myproject.cmd.
例如,此SO链接指定使用自动提供程序作为dest参数.
谢谢
我一直在使用VS2010中的发布向导来部署我的MVC应用程序,我没有遇到任何问题,但间歇性地发布将失败并出现以下错误.
错误23 Web部署任务失败.(无法完成对远程代理URL'https:// webserver:8172/msdeploy.axd?site = mysite'的请求.)
无法完成对远程代理URL'https:// webserver:8172/msdeploy.axd?site = mysite'的请求.请求已中止:请求已取消.无法使用已与其基础RCW分离的COM对象.
这似乎是随机发生但是我开VS的时间越长越有可能发生它并且保证修复它的方法是重启VS但是如果我让VS长时间打开(全天或者一夜之间开始变得非常沮丧,每次发生时都要重启VS. 老实说,我不记得错误号码是否总是23,我会在下次发生的时候寻找它,但是有其他人有这个问题或者知道可能是什么原因引起的吗?
更新: 使用VS2012时仍然存在问题.
visual-studio-2010 webdeploy microsoft-web-deploy visual-studio-2012
我一直在使用web.config转换一段时间,以便在我们的一些项目上进行部署.我现在想要实现的是,让Web Deploy的"导入包"屏幕提示检查和更新几个变量,并针对每个环境进行调整.
我知道我可以使用Parameters.xml来引入这些可编辑的变量,但我还没有找到如何为不同的环境目标更新默认值.
考虑以下整洁但非重叠的示例,希望让用户编辑" specialServer "AppSetting,并在为NewEnv目标编译时为其提供不同的默认值:
Parameters.xml中的示例条目:
<parameter name="Special server" description="" tags="" defaultValue="server1-dev.domain">
<parameterEntry kind="XmlFile" scope="\\web.config$" match="/configuration/appSettings/add[@key='specialServer']/@value" />
</parameter>
Run Code Online (Sandbox Code Playgroud)
Web.NewEnv.config的示例转换,为其设置不同的值
<appSettings>
<add key="specialServer"
value="other-server.domain2"
xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)
Web部署中的提示示例:

有关如何更新不同构建目标的默认值的任何建议吗?
谢谢.
我刚从codeplex克隆OrchardCMS,构建它并尝试使用Visual Studio的'Publish'命令将其部署到我的Web托管服务.
没有文件发布,发布失败,并出现以下错误:
1>------ Publish started: Project: Orchard.Web, Configuration: Release Any CPU ------ 1>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(2352,5): Error : Could not open Source file: Could not find a part of the path 'C:\Users\Tim\targetsite.co.uk\src\Orchard.Web\Media\web.config;Media\web.config'. 1> ========== Build: 0 succeeded, 0 failed, 5 up-to-date, 0 skipped ========== ========== Publish: 0 succeeded, 1 failed, 0 skipped ==========
我检查了源代码,文件在那里,并在正确的文件夹中.那么这个错误信息实际上试图告诉我什么?这里发生了什么,我该如何解决?
我正在尝试在构建过程中设置网站的自动部署.我可以通过Visual Studio 2012发布,但是当我尝试使用TFS构建自动部署时,我收到超时错误.
这是我对TFS构建过程的命令:
/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:CreatePackageOnPublish=True
/p:MSDeployPublishMethod=WMSVC /p:MSDeployServiceUrl=http://<MyServer>
/p:DeployIisAppPath="InitiationTool" /p:UserName=BGRSDEV\admin /p:Password=<mypassword>
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets (4193): Web deployment task failed. (Could not complete the request to remote agent URL 'http://:8172/msdeploy.axd?site=InitiationTool'.) Could not complete the request to remote agent URL 'http://:8172/msdeploy.axd?site=InitiationTool'. The operation has timed out
我已经尝试运行msdeploy.exe dump命令并获得相同的行为.
这有效:
msdeploy.exe -verb:dump -source:iisapp="InitiationTool",computername=http://<MyServer>/MSDEPLOYAGENTSERVICE,username=BGRSDEV\admin,password=<mypassword>
Run Code Online (Sandbox Code Playgroud)
这次超时:
msdeploy.exe -verb:dump -source:iisapp="InitiationTool",computername="http://<MyServer>:8172/msdeploy.axd?site=InitiationTool",username=BGRSDEV\admin,password=<mypassword>,authType=basic -allowUntrusted
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢
不幸的是,我没有在服务器上使用Web Deploy的奢侈.如何在Visual Studio 2015中仅通过FTP更新已更改的文件?
听起来像一个已经回答的问题,对吧?好吧,我发现以前版本的问题没有好的答案但是可以发布单个文件.我仍然没有找到通过FTP发布更改文件的解决方案.这些年来还没有出现吗?
有这个选项允许在发布期间进行预编译.但这对默认设置没有任何影响.
我现在只是在本地发布它,然后使用FileZilla发布它,因为那个提供了一个选项,只有"覆盖更新".最好在VS中实现这种自动化.
是否有可能通过FTP使用Web Deploy的逻辑?
visual-studio webdeploy asp.net-web-api .net-core asp.net-core
看起来Web部署只是一种调用msdeploy的不同方式?我已阅读一些文档但仍然了解两者之间的区别.
它仍然被称为"Web部署工具",但我不明白它与msdeploy.exe的区别
当我在VS中发布时,它的消息是"Publish Failed".
输出:
启动Web部署将应用程序/包发布到https:// -myStite -... D:\ VisualStudio\MSBuild\Microsoft\VisualStudio\v15.0\Web\Microsoft.Web.Publishing.targets(4292,5):错误:Web部署任务失败.((30/10/2017 08:19:07)在远程计算机上处理请求时发生错误.)
(30/10/2017 08:19:07)在远程计算机上处理请求时发生错误.值不能为空.在System.Version.Parse(String输入),位于Microsoft的Microsoft.Web.Deployment.DeploymentAgentWorkerRequest.get_MaximumSupportedVersion()中的System.Version.ctor(String version),Microsoft的Microsoft.Web.Deployment.DeploymentAgent.HandleClientServerVersionMismatch(DeploymentAgentWorkerRequest workerRequest). Microsoft.Web.Deployment.DeploymentAgent.BeginProcessRequest(DeploymentAgentWorkerRequest workerRequest,AsyncCallback回调,Object extraData)上的Microsoft.Web.Deployment.DeploymentAgent.HandleRequest(DeploymentAgentAsyncData asyncData)中的Web.Deployment.DeploymentAgent.HandleRequestWorker(DeploymentAgentAsyncData asyncData)发布无法部署.
=========构建:1成功,0失败,0最新,0跳过========== =========发布:0成功, 1失败,0跳过==========
在服务器上的EventViwer中,此异常:
用户:-my user-客户端IP:10.0.0.138内容类型:版本:9.0.0.0 MSDeploy.VersionMin:MSDeploy.VersionMax:MSDeploy.Method:MSDeploy.RequestId:MSDeploy.RequestCulture:MSDeploy.RequestUICulture:ServerVersion:9.0.1955.0发生了传播到客户端的跟踪部署代理异常.请求ID''.索取时间戳:'30/10/2017 08:02:11'.错误详细信息:System.ArgumentNullException:值不能为null.参数名称:在Microsoft.Web.Deployment.DeploymentAgent.HandleClientServerVersionMismatch(DeploymentAgentWorkerRequest workerRequest)上的Microsoft.Web.Deployment.DeploymentAgentWorkerRequest.get_MaximumSupportedVersion()处的System.Version.ctor(String version)处输入System.Version.Parse(String input) )Microsoft.Web.Deployment.DeploymentAgent.HandleRequestWorker(DeploymentAgentAsyncData asyncData)at Microsoft.Web.Deployment.DeploymentAgent.HandleRequest(DeploymentAgentAsyncData asyncData)
在过去,他工作得很好(保存配置相同),现在有时会失败.
webdeploy ×10
msdeploy ×3
.net ×1
.net-4.0 ×1
.net-core ×1
asp.net ×1
asp.net-core ×1
ftp ×1
iis-8 ×1
msbuild ×1
msbuild-wpp ×1
orchardcms ×1
publish ×1
tfs ×1
windows ×1