在 F# Interactive 中引用最新的 Microsoft.Build GAC 程序集?

Reference latest Microsoft.Build GAC assembly in F# Interactive?

如何从 .fsx 引用 GAC 中的最新 Microsoft.Build

当我执行 #r "Microsoft.Build" 时,我总是得到版本 4.0.0,但我希望加载 12.0.0

#r "Microsoft.Build"
open Microsoft.Build.Evaluation
printfn "%s" typeof<ProjectCollection>.Assembly.Location

这对我有帮助 solve this issue

编辑#1:

完全限定的程序集名称对我不起作用:

编辑#2:

我需要最新的可能在不同的系统上有所不同。我希望这会奏效。 :(

#I @"C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Build\v4.0_14.0.0.0__b03f5f7f11d50a3a"
#I @"C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Build\v4.0_12.0.0.0__b03f5f7f11d50a3a"
#r "Microsoft.Build"
open Microsoft.Build.Evaluation
printfn "%s" typeof<ProjectCollection>.Assembly.Location

好消息是它现在是开源的,因为 none 它可以按我的意愿工作,我目前正在构建一个分支。我可能会重命名它 SourceLink.MSBuild 以避免冲突。

我从来没有尝试过这个,但我希望你可以使用 fully-qualified assembly name:

#r "Microsoft.Build, Version=12.0.0.0 ...

编辑:

好吧,那行不通,但这行得通:

#r @"C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Build\v4.0_12.0.0.0__b03f5f7f11d50a3a\Microsoft.Build.dll"