- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
作为构建过程的一部分,我们使用 MSDeploy 部署 Web 应用程序。直到几周前,这一切都还很完美(我想当我们将构建/TFS 服务器更新到 TFS 2010 的 SP1 时)。
在我们的构建定义中,有一个调用流程的步骤。此过程将调用生成的deploy.cmd 文件并传入几个附加参数。这在很长一段时间内都运行良好,但现在我们得到了这个:
错误:无法识别参数“-skip:objectName=filePath,absolutePath=.*cmsservices.config”。所有参数必须以“-”开头。
如帮助中所述,我们用引号传递附加参数:
WebApplication.deploy.cmd/Y/M:sv-ad-iis02 -allowUntrusted "-skip:objectName=filePath,absolutePath=.*cmsservices.config""-skip:objectName=filePath,absolutePath=.*servicemodel。 client.config""-skip:objectName=dirPath,absolutePath=app_data"
但是,这个技巧不再起作用了。删除引号也会删除所有字符,例如 = 和 ,这些字符将被空格替换。
我将其追溯到(通过将旧的deploy.cmd与新版本进行比较)到这一行:
第 76 行:
@rem Any addition flags, pass through to the msdeploy
set _ArgMsDeployAdditionalFlags=%_ArgMsDeployAdditionalFlags% %_ArgCurrentOriginal%
在之前的版本中,这是:
@rem Any addition flags, pass through to the msdeploy
set _ArgMsDeployAdditionalFlags=%_ArgMsDeployAdditionalFlags% %_ArgCurrent%
_ArgCurrentOriginal 使用 %1 而不是 %~1,如果我更改此代码,一切都会再次起作用。然而,deploy.cmd 文件每次都会自动生成(至少看起来是这样)
知道为什么会发生这种变化以及如何处理这个问题吗?
<小时/>更新;我通过使用环境变量传递这些值来解决这个问题。它仍然没有解决新的deploy.cmd文件以不同的方式转义引号的问题。
我现在放置在部署流程工作流程中的解决方案:
<mtbwa:InvokeProcess Arguments="[String.Format("/Y /M:{0} -allowUntrusted", DeploymentServerName)]" DisplayName="Deploy selected Web Application using MSDeploy" EnvironmentVariables="[New Dictionary(Of String, String) From {{"_MsDeployAdditionalFlags", DeploymentParameters}}]" FileName="[String.Format("{0}\Packages\{1}\{2} {3}\{4}.deploy.cmd", BuildDetail.DropLocation, platform.Configuration, ApplicationName, VersionString, DeploymentPackageName)]" sap:VirtualizedContainerService.HintSize="464,420" Result="[ExitCode]">
最佳答案
这是 SP1 版本中引入的错误。您可以通过编辑 %ProgramFiles(x86)%\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets
(注意 64 位路径)来解决此问题。更改第3238-3258行以匹配旧deploy.cmd文件中的相应内容;差异应该只有 3 行,删除 _ArgCurrentOriginal 并使用 _ArgCurrent。
最近还发布了一个关于此问题的知识库:http://support.microsoft.com/kb/2537134 。其中包括更新的 .targets 文件,因此您不必自己进行编辑。
关于tfsbuild - MSDeploy 批处理文件不再处理引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5539968/
我知道 the -skip parameter ,但是有没有办法告诉 MSDeploy 跳过多个目录?多次调用参数似乎不起作用。 最佳答案 如果您的文件夹C:\Data\Personal\My Rep
我们正在尝试使用 Web Deploy 来改进我们的部署。 一切都在内部运行,但一旦我们尝试部署到我们的在线环境,msdeploy 就会挂起大于 1 MB 的文件。 如果我们删除这些文件,同步将与 m
任何人都可以确认(最好通过文档链接)在文件同步之前是否完整上传了 MSDeploy 包,或者同步是否发生在 msdeploy.exe 和 msdeploy.axd 之间(仅上传修改过的文件)? 或者,
使用 msdeploy 和 msdeploy.axd 处理程序时,任何部署到我的远程服务器的尝试都会遇到 401 未授权错误,并且服务器会记录 IISWMSVC_AUTHORIZATION_SERVE
我向 msdeploy 传递了几个跳过参数,以便不同步(删除和更新)某些目录和文件 -skip:skipAction='Update',objectName='filePath',absoluteP
我可以使用MSDeploy的配置转换机制来转换其他文件吗? 最佳答案 (另一种方法) msdeploy 打包是在项目的 MSbuild 运行期间调用的。 TransformXml 是 .csproj
有人可以解释(比 technet/msdn 文档更好)汽车供应商究竟是做什么的,它是如何工作的,以及何时使用它。 这与 Web 部署有关。我看过很多指定 -dest:auto 的文档,但对我来说并没有
我有一个 Web Deploy 3.5 包,我想将其部署到远程服务器。如何在 MSDeploy.exe 命令行上指定站点名称? 这是我到目前为止所拥有的: C:\Program Files (x86)
是否可以将文件夹(纯 Html 文件)的内容部署到远程 IIS6/7 服务器上的特定 Web 应用程序? 以下命令不会出错,但也不会将任何文件发布到远程服务器: msdeploy.exe -verb
我无法让它工作 call "%MSDeployPath%msdeploy" -verb:sync -source:runCommand='backup.bat param1' -dest:auto,c
我有一个 psake 脚本来管理我的部署,过程如下: 编译并运行测试 使用 msbuild 生成部署包 检查我们是在内部还是外部部署 如果是内部的,则执行生成的cmd文件 如果是外部的,则提示输入用户
我已经为 MVC 项目创建了一个包含 Bamboo 的 CI。构建工作正常,但问题在于使用 msdeploy 进行部署。下面是Bamboo中部署的配置 问题在于发送到 msdeploy 的参数,如下所
我有一个 Web 应用程序,我正在尝试使用 MSDeploy.exe (Web Deploy 2) 将其部署到 Web 服务器上 我尝试了4种情况: 通过VS2010发布方法,设置如下: 发布方式:W
是否可以使用 MSDeploy 修改(或替换)现有站点的 web.config? 最佳答案 可以替换 Web 配置文件的某些部分(使用 xPath 查询或正则表达式指定)。为此,请使用 -declar
我有一个 .zip 包,我想将其从我的开发计算机安装到开发服务器上。所以我使用 msdeploy 来自动执行此操作。 msdeploy.exe -verb:sync -source:package=D
我正在使用 MSDeploy 移动许多 IIS 网站,我遇到了一个问题,我试图在移动过程中包含 3 个注册表项,但并非所有 3 个注册表项都存在于每个网站上。 所以问题是:是否有办法让 MSDeplo
这看起来应该非常简单,但它对我不起作用而且我没有想法。 我想做的就是在使用 msdeploy 部署包时设置物理路径,这样它就不会转到默认的 inetpub\wwwroot 位置。 msdeploy -
我有一个包含大量文件的网站,使用团队构建并通过 Web 部署包进行部署。我遇到的问题是,软件包是从农场的一台机器构建的,时间戳并不总是匹配。默认情况下,Web 部署意味着完整的站点滚动,并且有如此多的
要求:我有 zip 包,需要将其部署到 IIS 下的特定站点(例如 dev.sitename.org)。 之前,我们在默认网站(IIS 下)下有站点,我们使用以下命令来部署它。>>msdeploy -
我已经找到了如何设置应用程序池和默认值 有人知道如何设置“IIS Web应用程序名称”吗?它在 SetParameters.xml 文件中生成为 我可以覆盖SetParameters.xm
我是一名优秀的程序员,十分优秀!