F#和Silverlight的权限问题

时间:2016-03-01 22:19:11

标签: c# silverlight reflection f#

我有一个可移植的F#库,目标是Silverlight 5和.Net 4.5(特定的配置文件47)。我尝试使用FSharpType中的FSharpValueMicrosoft.FSharp.Reflection来处理来自另一个可移植库的联合和记录类型的序列化,尽管这个是在C#中并且针对相同的便携式轮廓。但是,从我的Silverlight应用程序中访问这些API会给我一个MethodAccessException,其调用堆栈的顶部位于下方。我试图确定是否可以从Silverlight 5.0应用程序访问这些F#反射API。

System.MethodAccessException occurred
  HResult=-2146233072
  Message=Attempt to access method Microsoft.FSharp.Core.CompilationMappingAttribute..ctor(Microsoft.FSharp.Core.SourceConstructFlags) in violation of security transparency rules failed.
  Source=mscorlib
  StackTrace:
       at System.RuntimeMethodHandle.CheckLinktimeDemands(IRuntimeMethodInfo method, RuntimeModule module, Boolean isDecoratedTargetSecurityTransparent)
       at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent)
       at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeType type, RuntimeType caType, Boolean inherit)
       at System.RuntimeType.GetCustomAttributes(Boolean inherit)

(编辑)我使用Microsoft.FSharp.Reflection中的元素并传递BindingFlags.Public;因此,没有任何尝试应该限制的事情,比如访问私人会员。

0 个答案:

没有答案