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

如何从.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

好消息是它现在是开源的,因为这一切都不是我想要的,我现在正在构建一个分支.我可能会将其重命名为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"
点赞