0

我有一个具有以下结构的 Visual Studio c# 项目:

SolutionFolder
  |-Folder1
      |- Project1
      |- TestProject1
  |-Folder2
      |- Project2
      |- TestProject2
  |-TaskFolder
      |-file
 ...etc

其中一个管道任务在 SolutionFolder 下创建一个文件夹并在其中写入一个文件。(即任务文件夹/文件

当测试项目正在运行时,我想读取这个文件。我在代码中调用 GetCurrentDirectory,在我的机器中这将返回 TestProject 文件夹的父级。即(Folder1)然后我可以转到父级(即SolutionFolder)和有问题的文件。 任务文件夹/文件

但是,当它在管道中运行时,GetCurrentDirectory 返回a/1并且父级. 所以我必须添加1/s/SolutionFolder/TaskFolder/File才能访问该文件。

有没有办法获得适用于 MsAgent 和本地计算机的文件夹起点。即(获取 SolutionFolder)然后/TaskFolder/File。以便在每种环境下运行时代码都相同?

PS 在本地运行时,文件应手动放置在/TaskFolder/File中,因为这主要用于调试。

提前致谢。

4

1 回答 1

0

BUILD_SOURCEDIRECTORY如果null您在本地场景中,我会检查环境变量并调用GetCurrentDirectory,如果不使用 concat SolutionFolder/TaskFolder/File 到环境变量值。

于 2021-04-22T11:48:25.320 回答