在F#中使用字符串路径需要dll

ryu*_*ice 3 f# f#-fake

有没有办法在F#中这样做:

let fakeToolsPath = "D:\tools\FAKE\tools\FakeLib.dll"

#r fakeToolsPath
Run Code Online (Sandbox Code Playgroud)

假工具在不同的路径上,具体取决于构建代码的构建代理,因此我需要能够从环境变量或某个配置文件中动态设置它.

scr*_*wtp 6

三个想法,按照增加黑客的顺序 - 你将成为在你的场景中最有意义的判断:

  1. 在.fsx脚本中,您可以使用__SOURCE_DIRECTORY__获取脚本所在的目录.如果您的dll始终位于与脚本相同的目录中,则可以将其用作"钩子"来访问它.
  2. 有一个命令行--reference参数fsi.exe,应该做你想要的.如果您正在使用fake.exe,则可以使用--fsiargs它来传入(请查看链接以获取详细信息).
  3. 如果其他一切都失败了,请在CI作业配置中创建一个符号链接作为单独的构建步骤,并且只需对脚本中的路径进行硬编码.