Visual Studio中使用FSharp的相对目录路径

时间:2015-05-23 18:38:19

标签: visual-studio f#

我有一个位于解决方案目录中的文件,如下所示:

enter image description here

我想将其中一个.txt文件的内容读入FSI中的字符串:

open System.IO

[<Literal>]
let path = "../Data/Build_Keynote2014.txt"

let buildKeynote =  File.ReadAllText(path)

问题在于它抛出异常:

System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\jamie\AppData\Local\Data\Build_Keynote2014.txt'.

有没有办法在不使用完整路径的情况下引用文件?

谢谢

1 个答案:

答案 0 :(得分:5)

经过一些研究,我发现了this帖子

let baseDirectory = __SOURCE_DIRECTORY__
let baseDirectory' = Directory.GetParent(baseDirectory)
let filePath = "Data\Build_Keynote2014.txt"
let fullPath = Path.Combine(baseDirectory'.FullName, filePath)
let buildKeynote =  File.ReadAllText(fullPath)

就像一个魅力。谢谢所有提交的人。