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
.net 预发布集合。不可变_.net_F#_Immutability - Fatal编程技术网

.net 预发布集合。不可变

.net 预发布集合。不可变,.net,f#,immutability,.net,F#,Immutability,是否有人成功地从F#中的NuGet打开了预发布的System.Collections.Immutable 我得到了这个错误: 此处需要类型“IEnumerable”1,但该类型不可用。必须添加对程序集“System.Runtime,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”的引用 尽管我的项目是.NET4.5 尝试显式打开System.Runtime,但也不起作用。我引用的是.NETCore\v4.5\Syst

是否有人成功地从F#中的NuGet打开了预发布的
System.Collections.Immutable

我得到了这个错误:

此处需要类型“IEnumerable”1,但该类型不可用。必须添加对程序集“System.Runtime,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”的引用

尽管我的项目是.NET4.5


尝试显式打开System.Runtime,但也不起作用。我引用的是
.NETCore\v4.5\System.Runtime.dll

这是一个已知的问题,Microsoft的相关团队正在对此进行调查。同时,以下是解决方法步骤:

  • 创建一个针对.NETFramework4.5的F#应用程序项目
  • 安装软件包Microsoft.Bcl.Immutable-pre
  • 添加对“%ProgramFiles%\reference Assembly\Microsoft\Framework.NETFramework\v4.5\Facades\System.Runtime.dll”的引用
  • 从框架中添加对System.ComponenModel.Composition.dll程序集的引用
  • 之后,早期测试表明F#可以很好地处理不可变集合。

    您可以从NuGet安装“System.collections.immutable”组件,该组件将解决您的问题

    看看这个网址

    IEnumerable
    通常在mscorlib.dll中定义,因此它在System.Runtime.dll中查找它的事实告诉我这一定是某种WinRT/Phone程序集。它不是电话程序集,但它是一个“可移植”程序集,目标是Phone、Windows Store、,和.NET Framework 3.5。如果这个答案是作为评论发布的,或者,如果这确实是一个答案,为什么不添加一些权威链接、来源,或者仅仅添加一些解释,说明这将如何解决最初的问题呢?@bytebuster在我写被问到的软件时,我认为我的权威性很好。;-)此外,字面上回答这个问题意味着答案是“否”,这可能比解释微软意识到有人在调查阻止问题更没有帮助。@AndrewArnott-当你让这个库与F#一起工作时,有没有计划创建一个兼容层来公开F#现有的不可变列表、集合、和,字典等,作为System.Collections.Immutable中适当的接口实现?也许有些模块允许我们以与内置不可变集合一致的方式使用这些接口?@JoelMueller我们希望看到这种情况发生。很高兴听到F#程序员讲述您希望看到的内容。考虑到一年中每个人的OOF,但希望下个月初我们能对这个问题和其他与F#有关的关于这些不变集合的问题有更好的答案。@AndrewArnott谢谢。您的解决方案已建立,因此我可以开始。我计划在新年前发布一些这方面的基准测试。由于这是预发布软件,我认为解决方案是一个解决方案。