如何解决如何在 MS 代理上的 Azure 管道上运行的代码上查找目录
我有一个具有以下结构的 Visual Studio c# 项目:
SolutionFolder
|-Folder1
|- Project1
|- TestProject1
|-Folder2
|- Project2
|- TestProject2
|-TaskFolder
|-file
...etc
其中一个管道任务在 SolutionFolder 下创建一个文件夹并在其中写入一个文件。 (即任务文件夹/文件)
当测试项目运行时,我想读取这个文件。 我在代码中调用 GetCurrentDirectory,在我的机器中,这将返回 TestProject 文件夹的父级。即 (Folder1) 然后我可以转到父级(即 SolutionFolder)和相关文件。 任务文件夹/文件
然而,当它在管道中运行时,GetCurrentDirectory 返回 a/1 并且父项是 a。所以我必须添加 1/s/SolutionFolder/TaskFolder/File 才能访问该文件。
有没有办法获得适用于 MsAgent 和本地计算机的文件夹起点。 即(获取解决方案文件夹)然后 /TaskFolder/File。以便在每种环境下运行时代码都相同?
附言在本地运行时,文件应手动放置在 /TaskFolder/File 中,因为这主要用于调试。
提前致谢。
解决方法
我会检查环境变量 BUILD_SOURCEDIRECTORY
,如果 null
你在本地场景中并调用 GetCurrentDirectory
,如果不是使用 concat SolutionFolder/TaskFolder/File 到环境变量值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。