Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F#.NET标准库项目_F#_.net Standard - Fatal编程技术网

F#.NET标准库项目

F#.NET标准库项目,f#,.net-standard,F#,.net Standard,我有一个Xamarin表单解决方案,包含几个F#可移植类库 为了使用Microsoft.Azure.MobileClient的最新版本(4.0.0),我需要升级到FSharp.Core 4.2.1,但这似乎与配置文件78不兼容: 无法安装程序包“FSharp.Core 4.2.1”。你是想 将此包安装到目标为的项目中 “.NETPortable,Version=v4.5,Profile=Profile78”,但该包不支持 不包含任何不可用的程序集引用或内容文件 与该框架兼容。有关更多信息,请联系

我有一个Xamarin表单解决方案,包含几个F#可移植类库

为了使用Microsoft.Azure.MobileClient的最新版本(4.0.0),我需要升级到FSharp.Core 4.2.1,但这似乎与配置文件78不兼容:

无法安装程序包“FSharp.Core 4.2.1”。你是想 将此包安装到目标为的项目中 “.NETPortable,Version=v4.5,Profile=Profile78”,但该包不支持 不包含任何不可用的程序集引用或内容文件 与该框架兼容。有关更多信息,请联系 包作者

可以使用Xamarin项目中的.NET标准类库,但是可以在F#中创建.NET标准类库吗


这方面最好的方法是什么?

错误消息告诉您的是,项目的目标是PCL目标。Core 4.2.x不再有PCL目标,只包含.NET Framework和.NET标准1.6二进制文件。两者都与F#在这里使用的PCL目标不兼容

FSharp.Core的发行说明最近更新了开发人员指南:

这是项目的重要一点:

对于针对.NET Framework 4.0或更低版本和PCL的现有包,请使用FSharp.Core 4.1或更低版本


到目前为止,.NET标准还没有普及到所有的东西.NET。正如@傻瓜所说,您确实可以使用F#today创建一个.NET标准类库。但是,在.NET的所有版本都完全支持.NET标准之前,它无法与.NET生态系统的其他部分兼容。

您可以尝试将Xamarin.Forms(和F#)项目从.NET Portable转换为.NET Standard 2.0,因为这两个包都可以添加到.NET标准中

如何将Xamarin.Forms转换为.NET标准
  • 创建新的Xamarin.Forms项目(跳过已创建的项目)
  • 在同一解决方案中创建新的.NET标准库项目
  • 添加对Xamarin.Forms包的引用
  • 将您的内容从Xamarin.Forms共享项目复制到新的库项目
  • 将所有引用(从Android、iOS、UWP)更改为指向库项目而不是共享项目

我不知道您是否可以在Xamarin项目中使用.NET标准,但您可以在F#中创建.NET标准库。“dotnet new classlib-lang F#”这似乎在您回答后有所改变,因为您添加的链接现在提到了
netstandard1.6(netstandard1.6)