【发布时间】:2010-05-27 21:28:06
【问题描述】:
我正在使用 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当然会报二进制不兼容
我是否忽略了某些东西,或者它们不会简单地适用于这样的共享环境?当我部署应用程序时,这可能意味着真正的问题。
谢谢
【问题讨论】:
标签: f# compilation compatibility codedom side-by-side