升级PackageAzureDevOpsExtension@4后因文件名含空格打包失败求助
问题成因
- 新版打包任务的文件校验规则更严格:PackageAzureDevOpsExtension@4 相比旧版本,强化了对打包范围内文件的命名合规性检查,明确禁止文件名包含空格、
#^[]<>?等特殊字符,也不允许文件名以句号结尾。而旧版本的任务没有这么严苛的校验,所以之前包含空格的文件(如OpenSSL License.txt)能正常打包,新版本直接触发报错。 - 依赖包文件未被排除在打包范围外:当前打包任务的
rootFolder指向$(Build.SourcesDirectory)/AzurePipelinesTasks,默认会包含该目录下所有文件(包括node_modules子目录)。其中依赖包azure-pipelines-tasks-azure-arm-rest-v2里的OpenSSL License.txt文件名带空格,正好命中了新版本的校验规则。 - 任务升级后的逻辑变更:旧版本的PackageAzureDevOpsExtension任务可能存在隐含的排除逻辑,自动忽略
node_modules中不符合命名规则的文件,但升级到v4后该逻辑被移除,导致原本隐藏的问题暴露出来。
内容的提问来源于stack exchange,提问作者CodeMonkey
相关产品推荐
相关产品推荐

