gpt4 book ai didi

msbuild - Web Deploy 3.0 不适用于 CI 服务器

转载 作者:行者123 更新时间:2023-12-01 01:11:05 27 4
gpt4 key购买 nike

从我的本地机器到开发服务器,Web Deploy 3.0 可以使用以下命令与 Visual Studio 2012 发布配置文件一起正常工作:

msbuild .\myproj.csproj /verbosity:d /p:DeployOnBuild=true;PublishProfile=Develop;VisualStudioVersion=11.0;AllowUntrustedCertificate=true;username=xx;password=xx



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

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

Target "PrepareForRun" in file "C:\windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets" from project "C:_Application\proj\src\proj.Web\proj.Web.csproj" (target "CoreBuild" depends on it): Done building target "PrepareForRun" in project "proj.Web.csproj".



在本地运行时,接下来是如下所示的内容(加上数百行日志记录):

Target "InsertAdditionalWebCofigConnectionStrings" skipped, due to false condition; ($(InsertAdditionalWebCofigConnectionStrings) And '@(_ConnectionStringsToInsert)' != '') was evaluated as (True And '' != ''). Target "_CleanWPPIfNeedTo" in file "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets" from project "C:_Application\proj\src\proj.Web\proj.Web.csproj" (target "PipelineCollectFilesPhase" depends on it): Task "ReadLinesFromFile"



在 CI 服务器上,此目录似乎丢失:

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



丢失的目标会导致它静默失败吗?这个文件夹来自哪里(缺少 CI 服务器上的整个 Web 文件夹)?

最佳答案

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

您可以手动将所需的目标文件从您的 PC 复制到构建服务器上,但您将通过反复试验来使其工作。

此外,如果 MS 发布新的 out of band更新,例如 Asp.Net and Web Tool 2012.2他们最近所做的,对于构建服务器来说,安装程序比尝试找出哪些目标已更改并手动复制它们要容易得多。

如果这有帮助,请告诉我。

关于msbuild - Web Deploy 3.0 不适用于 CI 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15529845/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com