F#:Microsoft.FSharp.Data.TypeProviders需要配置文件47吗?

时间:2015-05-23 09:00:34

标签: dll visual-studio-2013 f# f#-data

这是my post yesterday的后续行动。回顾一下,我在尝试构建项目时收到了此错误消息:

  

FSC:错误FS2024:静态链接可能不使用目标程序集   不同的个人资料

我在F#fpchat.com频道咨询了一些人,其中一人建议错误可能是因为我没有Profile 47,因为FSharp.Data使用了Profile 47.我试过了下载Profile 47的目标包,但被重定向到Microsoft主页。我在this SO page上尝试了第二个答案,但这也没有用。截至目前,我仍然无法获得Profile 47。

我咨询了FSharp.Data GitHub page,但我不清楚为什么需要使用Profile 47。我使用VS2013编译到FSharp.Core 4.3.0.0;不应该是足够的,因为GitHub页面将其列为支持的平台之一?

我创建了一个新项目,重新添加了所有源文件和引用,并尝试重新构建。我甚至尝试过卸载然后重新安装Microsoft VS,尽管我知道它可能无关紧要。

我认为最有可能的问题在于引用FSharp.Data.TypeProviders。在我排除对FSharp.Data.TypeProviders的引用的情况下,不会出现错误消息。最奇怪的是,过去一周左右我没有改变我的引用,但错误信息只出现在昨天。

所以,我的问题是:

  1. 真的需要Profile 47吗?如果是这样,我怎么能获得它呢?
  2. 即使我获取个人资料47,我仍然会在构建项目时遇到问题,因为我的其他参考资料并不针对个人档案47?
  3. 有没有我可能没有考虑的方法?

1 个答案:

答案 0 :(得分:0)

在尝试了我在网上找到的各种建议的解决方案之后,我发现解决问题的唯一方法是将我的目标框架从4.5更改为4.0,重新安装我的所有引用以确保兼容性.NET 4.0,然后重新构建我的解决方案。使用.NET 4.0意味着我不再能够使用Microsoft.Experimental.Collections,因为它只与.NET 4.5兼容。这意味着我将不得不重新编写使用Microsoft.Experimental.Collections的所有代码,但我认为这比不能构建我的项目要小一些。

因此,为了回答标题中提到的我自己的问题,Profile 47不需要使用FSharp.Data.TypeProviders。 : - )

编辑:

我找到了解决问题的另一种方法。我创建了一个新项目(再次),迁移了我的所有源文件,重新安装了我需要的所有DLL,这次我毫无困难地构建我的项目。我认为Carsten(他对这个答案写了第一条评论)说的是版本在原始解决方案文件中搞砸了。