Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F# 跨伪fsx脚本共享常量变量_F#_F# Fake - Fatal编程技术网

F# 跨伪fsx脚本共享常量变量

F# 跨伪fsx脚本共享常量变量,f#,f#-fake,F#,F# Fake,有没有办法通过在另一个fsx脚本中包含一个fsx脚本来共享变量 e、 g脚本buildConsts.fsx包含 let buildDir = "./build/" 我想在其他构建脚本中引用它,例如 #load @".\buildConsts.fsx" let testDlls = !! (buildDir + "*Test*.dll") 当我尝试运行脚本“buildDir”变量时,脚本无法编译 这是一种相当常见的方法,可与MSBuild和PSAKE等工具一起使用,以生成脚本。这是使用FAKE

有没有办法通过在另一个fsx脚本中包含一个fsx脚本来共享变量

e、 g脚本buildConsts.fsx包含

let buildDir = "./build/"
我想在其他构建脚本中引用它,例如

#load @".\buildConsts.fsx"
let testDlls = !! (buildDir + "*Test*.dll")
当我尝试运行脚本“buildDir”变量时,脚本无法编译


这是一种相当常见的方法,可与MSBuild和PSAKE等工具一起使用,以生成脚本。这是使用FAKE的正确方法吗?

您所做的应该是有效的-您收到的错误消息到底是什么

我怀疑问题在于F#会自动将文件内容放入模块中,您需要打开模块才能访问常量。模块是根据文件名命名的,因此在您的示例中,
buildConsts.fsx
将生成一个名为
buildConsts
的模块。您应该能够按如下方式使用它:

#load @".\buildConsts.fsx"
open BuildConsts

let testDlls = !! (buildDir + "*Test*.dll")
您还可以将显式模块声明添加到
buildconsts.fsx
,这可能是一个更好的主意,因为它不那么脆弱(重命名文件时不会更改):


看来这就是问题所在。。。错误是未定义命名空间或模块“buildConsts”
moule BuildConstants

let buildDir = "./build/"