Msbuild Web部署3.0韩元';无法在CI服务器上工作

Msbuild Web部署3.0韩元';无法在CI服务器上工作,msbuild,jenkins,webdeploy,microsoft-web-deploy,Msbuild,Jenkins,Webdeploy,Microsoft Web Deploy,从我的本地计算机到开发服务器,Web Deploy 3.0可以使用以下命令与Visual Studio 2012发布配置文件配合使用: msbuild。\myproj.csproj/verbosity:d/p:DeployOnBuild=true;PublishProfile=开发;VisualStudioVersion=11.0;AllowUntrustedCertificate=true;用户名=xx;密码=xx 从CI服务器运行此相同命令时(碰巧是Jenkins,但这应适用于任何服务器),

从我的本地计算机到开发服务器,Web Deploy 3.0可以使用以下命令与Visual Studio 2012发布配置文件配合使用:

msbuild。\myproj.csproj/verbosity:d/p:DeployOnBuild=true;PublishProfile=开发;VisualStudioVersion=11.0;AllowUntrustedCertificate=true;用户名=xx;密码=xx

从CI服务器运行此相同命令时(碰巧是Jenkins,但这应适用于任何服务器),该命令将成功完成,但从未部署任何网站

在比较日志输出时,生成服务器似乎跳过了很大一部分。它发生在下面列出的两行之后(这两行输出在本地或在CI服务器上运行时是相同的):

文件中的目标“PrepareForRun” project中的“C:\windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets” “C:_Application\proj\src\proj.Web\proj.Web.csproj”(目标 “核心构建”取决于它): 在项目“proj.Web.csproj”中完成了目标“PrepareForRun”的构建

在本地运行时,接下来将显示以下内容(再加上数百行日志记录):

由于条件错误,跳过目标“InsertAdditionalWebCofigConnectionString”; ($(InsertAdditionalWebCofigConnectionStrings)和'@(_ConnectionStringsToInsert)'!='') 被评估为(True和“”!=“”)。 文件“C:\Program Files”中的目标“\u cleanwppipfneedto” (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets“来自 项目“C:_Application\proj\src\proj.Web\proj.Web.csproj” (目标“PipelineCollectFilesPhase”取决于此): 任务“ReadLinesFromFile”

在CI服务器上,似乎缺少此目录:

C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets


丢失目标会导致它无声地失败吗?此文件夹来自何处(缺少CI服务器上的整个Web文件夹)?

是否在生成服务器上安装了Visual Studio?一开始,这似乎是一件奇怪的事情(严格来说并不是必要的),但它肯定是解决所有这些问题的最简单的方法

您可以手动将所需的目标文件从PC复制到构建服务器上,但要使其正常工作,您需要玩一个试错游戏

此外,如果MS发布了新的
带外
更新,如他们最近发布的
Asp.Net和Web Tool 2012.2
,则构建服务器的安装过程要比尝试找出哪些目标已更改并手动复制它们容易得多


请告诉我这是否有帮助。

VS已安装在生成服务器上,但仍缺少“Web”文件夹。我手动将“Web”中的所有文件复制到构建服务器,它工作正常。安装了VS的哪个SKU。我想我说得对,为了获得Web目标,您需要安装Web开发人员SKU。+11。经过48小时的GoogleFoo,这个答案最终让我的Jenkins实例绕过部署步骤悄悄退出。谢谢