当我尝试在Jenkins中构建多分支项目时,构建失败,因为msbuild用“\”替换转义“%2F”
示例错误:
“C:\ Program Files(x86)\ Jenkins \ jobs \ ProjectBranches \ branches \ branches%2FBranch-229 \ workspace \ project \ project \ project.csproj”(默认目标)(1) - > C:\ Program Files(x86 )\ MSBuild \ 14.0 \ bin \ Microsoft.CSharp.CurrentVersion.targets(321,5):错误MSB4019:导入的项目“C:\ Program Files(x86)\ Jenkins \ jobs \ ProjectBranches \ branches \ branches \ Branch-229未找到\ workspace \ project \ packages \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.CSharp.Core.targets“ . 确认声明中的路径是否正确,以及该文件是否存在于磁盘上 . [C:\ Program Files(x86)\ Jenkins \ jobs \ ProjectBranches \ branches \ branches%2FBranch-229 \ workspace \ project \ project \ project.csproj]
2 回答
关于Jira #34564中的分支名称编码有一个完整的讨论 .
对我有用的推荐解决方法是change workspace dir in Jenkinsfile:
我今天刚遇到这个问题 . 我最终通过覆盖服务器配置中的build和workspace文件夹来解决问题
我将“工作区根目录”设置为“c:/ ws / $ / work”,将“构建记录根目录”设置为“c:/ ws / $ / builds”
ITEM_FULL_NAME是作业的名称,由于作业名称有“/”而不是%2F,因此最终会使文件夹类似于c:\ ws \ project \ branch \ name \ work . 这应该可以解决您的问题 .