Azure Pipelines报文件找不到错误(VS2019运行正常)
解决Azure Pipelines中测试用例路径找不到的问题
问题根源
你代码里硬编码了本地VS环境的绝对路径C:\Users\[myName]\source\repos\[SolutionName]\TestingProject\bin\Debug\JSON.json,但Azure Pipelines的构建代理环境和你本地机器的目录结构完全不同,代理服务器上不存在这个路径,所以抛出DirectoryNotFoundException。
解决方案
改用动态相对路径
通过程序获取测试项目的执行目录,再拼接JSON文件路径,适配任何运行环境:using System.Reflection; using System.IO; // 获取当前测试程序集的所在目录 string assemblyDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); // 拼接JSON文件的完整路径 public string sendProposalJSONFile = Path.Combine(assemblyDir, "JSON.json");确保JSON文件被复制到输出目录
在VS中右键点击JSON文件,打开「属性」面板:- 将「复制到输出目录」设置为「如果较新则复制」或「始终复制」
- 这样本地构建和Azure Pipelines构建时,文件都会被自动同步到bin目录,测试运行时能正常访问。
禁止硬编码本地路径
所有文件路径都要通过动态方式生成,比如使用Directory.GetCurrentDirectory()获取当前工作目录,或者结合项目结构拼接相对路径,避免依赖特定机器的目录结构。
内容的提问来源于stack exchange,提问作者kieranm007
相关产品推荐
相关产品推荐

