gpt4 book ai didi

tfs - 如何使用保存的发布配置文件获取 TFS 构建以预编译 Web 应用程序?

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

我目前正在运行 CI 构建和部署,使用 TFS 2013 进行构建和发布管理 2013 进行部署,但我需要对我正在部署的 Web 应用程序 (WebForms) 进行预编译。我希望在将输出复制到放置位置之前使用发布配置文件来驱动预编译,但我还没有找到任何能够做到这一点的东西。

找到后How do I configure MSBuild to use a saved publishProfile for WebDeploy? , 我在我的 web 应用程序中设置了一个发布配置文件,如果我使用 msbuild.exe 使用 VS2013 的开发人员命令提示符,它将预编译 web 应用程序

msbuild.exe WebSite.csproj /p:DeployOnBuild=true /p:PublishProfile=TfsPrecompile

https://stackoverflow.com/a/13267694/595473 的帮助下发布名为 TfsPrecompile 的配置文件
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<ExcludeApp_Data>False</ExcludeApp_Data>
<PublishUrl>$(MSBuildProjectDirectory)\PublishDirectory</PublishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles>
<PrecompileBeforePublish>True</PrecompileBeforePublish>
<EnableUpdateable>False</EnableUpdateable>
<DebugSymbols>False</DebugSymbols>
<WDPMergeOption>DonotMerge</WDPMergeOption>
</PropertyGroup>
</Project>

在本地运行 MSBuild,我最终在一个新的 PublishDirectory 中得到了预编译站点。文件夹,一切似乎都很顺利。

为了链接 TFS 和 Release Management,我使用了 ReleaseTfvcTemplate.12.xaml 模板。

构建 > 项目: $/Insert_Directory_Here/WebSite.csproj
高级 > MSBuild 参数: /p:DeployOnBuild=true /p:PublishProfile=TfsPrecompile
当我使用 MSBuild 参数运行构建时,与没有预编译参数的构建相比,九分钟左右的构建没有显着的时间差异。当我在本地运行 MSBuild 时,我看到对 ASPNETCOMPILER 的引用滚动,尽管我在任何 TFS 诊断日志中都没有看到对 ASPNETCOMPILER 或 aspnet_compiler 的引用。

最佳答案

事实证明,构建框没有执行发布所需的所有目标,因此它只是忽略了它。
回答来自 https://social.msdn.microsoft.com/Forums/vstudio/en-US/c2d10c74-ed44-4635-acb9-ab08612701e2/deployonbuild-not-working?forum=tfsbuild

Finally! I have the solution. Whether deploying from Team Build or you are using MSBuild directly you will need to copy the MSBuild targets onto your build machine in order for publishing to succeed.

We do not install Visual Studio onto our build machine (waste of a license) - however we do install the Visual Studio Shell. It seems the shell installs some of the MSBuild targets - but not all - and certainly not Publishing.

Therefore on a machine with VS installed go to C:\Program Files (x86)\MSBuild\Microsoft

Copy this entire folder to your build machine and replace the same folder there. Maybe back up the original first. You could also probably figure out exactly which targets you actually need...

This fixed it for me!

关于tfs - 如何使用保存的发布配置文件获取 TFS 构建以预编译 Web 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27074014/

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