微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 MS 代理上的 Azure 管道上运行的代码上查找目录

如何解决如何在 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 举报,一经查实,本站将立刻删除。