Azure devops Visual Studio团队服务-未找到发布项目PathtoPublish
我在TeamServices中有一个构建定义设置,它将web.config文件作为附加工件发布,以便我可以在其上运行标记器任务。在我的visual studio项目中,我在Web.Release.config文件中设置了令牌。运行构建时,令牌被插入到配置文件中,然后由每个环境的发布管理过程替换 这在过去几个月一直有效。但今天它开始失败,web.config文件出现错误“not found PathTopPublish”。在发布工件任务中,我有将安装程序发布为的路径Azure devops Visual Studio团队服务-未找到发布项目PathtoPublish,azure-devops,ms-release-management,azure-pipelines,azure-pipelines-build-task,Azure Devops,Ms Release Management,Azure Pipelines,Azure Pipelines Build Task,我在TeamServices中有一个构建定义设置,它将web.config文件作为附加工件发布,以便我可以在其上运行标记器任务。在我的visual studio项目中,我在Web.Release.config文件中设置了令牌。运行构建时,令牌被插入到配置文件中,然后由每个环境的发布管理过程替换 这在过去几个月一直有效。但今天它开始失败,web.config文件出现错误“not found PathTopPublish”。在发布工件任务中,我有将安装程序发布为的路径 "MyWebProject\o
"MyWebProject\obj\Release\Package\PackageTmp\Web.config".
看起来它现在期望的路径是
"SolutionFolder\Branch\MyWebProject\obj\Release\Package\PackageTmp\Web.config".
我想我需要为路径使用一个变量。但我不知道什么是正确的变量。我需要提取转换后的Web.config文件,以便令牌就位。奇怪的是,对于第二团队项目构建定义来说,旧方法运行良好 您可能已经更新了生成定义,并且任务已更新到最新版本,而您没有注意到(请查看任务历史记录中的版本号)。
我不知道您在寻找哪个变量,但是$(BuildConfiguration)将为您提供路径的“Release”或“Debug”部分。
$(build.stagingDirectory)将为您提供文件在作为工件收集之前复制的路径。
那么minimatch模式也可能是一个类似**\Web.Config的选项
祝您好运。这可能是由baywet提到的构建定义更改引起的,尤其是“存储库”选项卡下的“映射”部分 没有任何变量直接引用
web.config
文件的路径。另一种方法是:
$(Build.SourcesDirectory)
作为“复制根目录”,指定***\PackageTmp\Web.config
作为“内容”。这将搜索PackageTmp
文件夹下的web.config
文件并将其发布/p:outputpath=“$(build.artifactstagindirectory)\Temp”
参数,将输出文件复制到$(build.artifactstagindirectory)\Temp
文件夹中,然后在“发布工件任务”步骤中,您可以输入$(build.artifactstagindirectory)\Temp\\u PublishedWebsites\YourProjectName\Web.config
发布Web.config
文件是的,我确实更新了映射。选项1对我有效,