我在Windows Phone 8.1(通用)项目中使用F#PCL库。
我已将F#PCL库引用为项目。我还引用了FSharp.Core程序集,因为我需要使用它的一些类型(为了与我的F#PCL通信)。我使用对创建新F#PCL项目时默认使用的相同物理程序集(C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ FSharp.NETCore \ 3.259.3.1 \ FSharp.Core.dll)的引用
只要我构建除Release - ARM之外的任何其他配置,一切正常。但是,当我切换到Release - ARM配置(我认为是商店向用户提供的配置时,根据应用程序直接从商店下载时的行为),一切都会崩溃。
当我尝试访问List.sortBy函数时,出现以下错误:
错误代码:
-2146233036
错误讯息:
'FastGenericComparerTable`1'的类型初始化程序抛出了一个 异常。
行号:
FSharp.Core
Stack Trace:at Microsoft.FSharp.Core.LanguagePrimitives.FastGenericComparerCanBeNullT 在 Microsoft.FSharp.Primitives.Basics.Array.stableSortWithKeys [T,TKEY的](T [] 数组,TKey []键) Microsoft.FSharp.Primitives.Basics.Array.stableSortInPlaceBy [T,TKEY的](FSharpFunc
2 projection, T[] array) at Microsoft.FSharp.Collections.ListModule.SortBy[T,TKey](FSharpFunc
2 投影,FSharpList1 list) at TaskCrunch.Data.ChildEntityTransforms.reorderTree[a](FSharpFunc
2 sortFunc,FSharpList1 xs) at TaskCrunch.Data.ChildEntityTransforms.children(toDo x, FSharpList
1 是,FSharpList1 accumulated) at TaskCrunch.Data.ChildEntityTransforms.createTreeInternal@82(FSharpList
1 ys,FSharpList1 resultSoFar) at TaskCrunch.Universal.ViewModel.ProjectDetailViewModel.<SortTasks>d__5c.MoveNext() ----- INNER EXCEPTION ------ Message: The type initializer for '<StartupCode$FSharp-Core>.$Prim-types' threw an exception. Source: FSharp.Core StackTrace: at Microsoft.FSharp.Core.LanguagePrimitives..cctor$cont@2181-2[T](Type matchValue, Unit unitVar) at Microsoft.FSharp.Core.LanguagePrimitives.FastGenericComparerTable
1..cctor() HResult:-2146233036 HelpLink:未知----- INNER EXCEPTION ------消息:抛出了类型'System.Resources.MissingManifestResourceException'的异常。 来源:mscorlib StackTrace:at System.Resources.ResourceManager.GetString(String name,CultureInfo 文化)at。$ Prim-types..cctor() HResult:-2146233038 HelpLink:未知
奇怪的是,这似乎不是我第一次调用FSharp.Core,因为我之前调用了一个List.map函数,它似乎在执行。
我怀疑构建过程中出现了问题,但我不确定在哪里查看。我尝试从头开始重新创建F#PCL库无济于事。
答案 0 :(得分:0)
这可能是VS F#便携式配置文件支持中的错误。可能是一个编译器错误(不知何故,这个版本的FSharp.Core没有正确地安装到可移植的配置文件中),或者可能是一个项目系统错误(某些必需的构建输出没有为ARM正确创建)。
打开这个错误