azure-devops - Visual Studio Team Services - 未找到发布工件 PathtoPublish

标签 azure-devops ms-release-management azure-pipelines azure-pipelines-build-task

我在 Team Services 中有一个构建定义设置,它将 web.config 文件作为附加工件发布,以便我可以在其上运行标记生成器任务。在我的 Visual Studio 项目中,我在 Web.Release.config 文件中设置了 token 。运行构建时, token 将插入到配置文件中,然后由每个环境的发布管理流程替换。

这在过去几个月一直有效。但今天它开始失败,并出现 web.config 文件的错误“未找到 PathtoPublish”。在“发布工件”任务中,我将发布设置的路径设置为

"MyWebProject\obj\Release\Package\PackageTmp\Web.config". 

看起来现在它正在期待这样的路径

"SolutionFolder\Branch\MyWebProject\obj\Release\Package\PackageTmp\Web.config".

我想我需要使用路径变量。但我不知道什么是正确的变量。我需要获取转换后的 Web.config 文件,以便 token 就位。奇怪的是,旧路径对于第二个团队项目构建定义运行良好。

最佳答案

这可能是由于 baywet 提到的构建定义更改引起的,尤其是“存储库”选项卡下的“映射”部分。

没有任何变量直接引用web.config文件的路径。另一种方法是:

  1. 使用“复制并发布构建工件”任务,指定 $(Build.SourcesDirectory) 作为“复制根”和 **\PackageTmp\Web.config 作为“内容”。这将搜索 PackageTmp 文件夹下的 web.config 文件并将其发布。

  2. 或者您可以在“Visual Studio Build”步骤中添加 /P:outputpath="$(build.artifactstagingdirectory)\Temp" 参数,将输出文件复制到 $ (build.artifactstagingdirectory)\Temp 文件夹,然后在“发布工件任务”步骤中,您可以输入 $(build.artifactstagingdirectory)\Temp\_PublishedWebsites\YourProjectName\Web.config 来发布 web.config 文件。

关于azure-devops - Visual Studio Team Services - 未找到发布工件 PathtoPublish,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37880228/

相关文章:

azure - 如何使用相同的 ADO 管道来部署到开发、登台和生产

azure-devops - VSTS 发布管理 : filter by branch on artifact source

azure-devops - 如何创建 Azure DevOps 管道以部署到 SharePoint?

azure - 找不到容器 XXX 中的项目 MY_ARTIFACT_NAME

azure - 哪个测试运行程序可与 VSTS 和 ASP.NET Core 配合使用?

azure-devops - dotnet run 命令卡在 azure 管道中

azure - azure pipeline资源有批处理参数吗?

azure-devops - 自定义 Azure Pipelines 构建任务的本地化

azure-devops - AzurePS 系统功能在新安装的 vsts-agent 上不可用

ms-release-management - DSC:如何停止和启动 Windows 服务