修复Azure DevOps中含C#与TypeScript/k6的VS解决方案构建失败
Azure DevOps 管道构建失败修复方案
问题1:VSBuild 任务中 njsproj 提示“TypeScript compiler is not installed”
尽管执行了npm install --save-dev typescript,但VSBuild默认会尝试调用全局的TypeScript编译器,而本地安装的tsc仅在项目目录下可用,以下是修复步骤:
- 在VSBuild任务之前,添加一个
npm install任务,将工作目录设置为SalesforceCache.PerformanceTest.njsproj所在的文件夹,确保依赖安装到项目本地的node_modules中。 - 修改VSBuild任务的
msbuildArgs参数,强制指定使用本地安装的TypeScript编译器:
(比如你装的是5.2版本,就填/p:TypeScriptToolsVersion=你的TypeScript版本号 /p:TypeScriptCompilerPath=$(System.DefaultWorkingDirectory)/SalesforceCache.PerformanceTest/node_modules/typescript/bin/tsc.js5.2) - 检查
SalesforceCache.PerformanceTest.njsproj文件,若存在<TypeScriptCompilerPath>节点,确认其指向本地node_modules中的tsc路径,而非全局路径。
问题2:dotnet pack 生成包成功但进程退出码为1
这种情况通常是构建过程中的警告被当作错误处理导致的,修复方式如下:
- 在
dotnet pack命令中添加--no-warn参数,忽略非致命警告:dotnet pack --no-warn - 或者通过MSBuild参数禁用“警告视为错误”的规则,在dotnet pack的参数中添加:
/p:TreatWarningsAsErrors=false - 查看管道日志的详细输出,确认是否存在版本冲突(比如相同版本的NuGet包已存在)或输出路径权限问题,针对性处理。
内容的提问来源于stack exchange,提问作者Brian Kessler
相关产品推荐
相关产品推荐

