如何在 VSTS Build 中将 asp.net 项目发布到文件系统
Posted
技术标签:
【中文标题】如何在 VSTS Build 中将 asp.net 项目发布到文件系统【英文标题】:How to publish a asp.net project to filesystem in VSTS Build 【发布时间】:2018-02-14 14:18:33 【问题描述】:我有一个存储在 TFS 中的 aps.net 3.5 解决方案。通常我在 VS2015 中选择“发布”以仅将所需文件放入目标目录。我用来创建一个包以部署到网络服务器。 现在我想使用 buildserver 来创建那个包。我的问题是,我可以使用“Visual Studio Build”-Step 构建解决方案,但我无法通过“Copy Files”-Step 来确定要复制哪些文件。
我想使用 powershell 调用 msbuild.exe,但没有成功为现有配置文件设置目标目录。使用/p:OutDir
,它复制了错误的文件。
据我所知,“IIS 部署”-Step 没有简单的文件系统副本。
那么我怎样才能通过使用动态输出目录在 Build-Server 上“发布”目标文件系统来完成 VS2015 所做的事情。
【问题讨论】:
【参考方案1】:参考以下步骤:
-
单击新建以创建新的构建定义
选择ASP.NET构建模板
选择Visual Studio Build task,在Visual Studio Version输入框中选择对应的VS版本
(可选)删除 Visual Studio 测试和发布符号路径任务。
使用 ASP.NET 构建模板,你可以发现,有这样的 MSBuild Arguments,用于创建 web 部署包并将其放入 artifact 目录:
/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
【讨论】:
这对我有帮助。我在 msbuild 的文档中找不到“WebPublishMethod”。以上是关于如何在 VSTS Build 中将 asp.net 项目发布到文件系统的主要内容,如果未能解决你的问题,请参考以下文章
由于 HttpStatusCode.TemporaryRedirect 导致 VSTS 管道中的 ASP.NET Core 单元测试失败