我正在使用 FSharp.Compiler.CodeDom (来自PowerPack)来动态创建 F# 类。问题是,我的计算机上同时有 VS2008 和 VS2010(它们工作正常),并且在此配置中使用 F# 充其量是错误的:
- 如果我不安装 InstallFSharp.msi,那么在 VS2008 下,构建的类会抱怨找不到 FSharp.Core(即使它们被引用)
如果我安装 InstallFSharp.msi,那么在 VS2008 下,构建的类将使用为 VS2010 构建的 F#,并且会抛出二进制不兼容异常,因为它将加载 .net4 变体:
FSC:错误 FS0219:引用的或默认的基本 CLI 库“mscorlib”与引用的 F# 核心库“C:\Program Files (x86)\Microsoft F#\v4.0\FSharp.Core.dll”二进制不兼容。考虑重新编译库或显式引用与您正在使用的 CLI 版本匹配的库版本。
如果我将在之前位置找到的F#替换为单独安装的dll-s,那么VS2010当然会抱怨二进制不兼容
我是否忽略了某些东西,或者他们不会简单地为这样的共享环境工作?当我部署应用程序时,这可能意味着真正的问题。
谢谢