Windows runtime Windows应用商店应用程序在运行时发出IL的反射?

Windows runtime Windows应用商店应用程序在运行时发出IL的反射?,windows-runtime,reflection.emit,il,ikvm,assembly-loading,Windows Runtime,Reflection.emit,Il,Ikvm,Assembly Loading,我在上看到了Marc Gravell的一篇帖子,以下是我在IKVM上发现的内容: 使用IKVM.NET有两种主要方式: 动态:在这种模式下,Java类和JAR直接用于在.NET运行时上执行Java应用程序。Java字节码被动态地翻译成CIL,不需要进一步的步骤。此模式支持完整的Java类装入器模型 静态地: 我想用它在WinRT应用程序中发出和执行IL。有没有什么根本性的问题,为什么这是不可能做到的?比如微软的政策,或者阻止执行IKVM的反射和IL代码(可能是经过修补的)的技术限制 如果这不

我在上看到了Marc Gravell的一篇帖子,以下是我在IKVM上发现的内容:

使用IKVM.NET有两种主要方式:

  • 动态:在这种模式下,Java类和JAR直接用于在.NET运行时上执行Java应用程序。Java字节码被动态地翻译成CIL,不需要进一步的步骤。此模式支持完整的Java类装入器模型
  • 静态地:
我想用它在WinRT应用程序中发出和执行IL。有没有什么根本性的问题,为什么这是不可能做到的?比如微软的政策,或者阻止执行IKVM的反射和IL代码(可能是经过修补的)的技术限制


如果这不可能,那么在运行时是否有加载程序集的选项(假设我在外部服务器上发出程序集并从那里下载到本地应用程序文件夹)?

IKVM.NET的动态模式与IKVM.Reflection无关。反射仅由静态编译器使用


虽然可以为.NET核心概要文件编译IKVM.Reflection(经过一些调整),但这并不能使您更接近动态生成代码,除非您打破.NET核心概要文件的“沙箱”(这是可能的,但我认为会违反窗口存储策略)。

有趣的问题。然而,它确实首先提出了一个问题:您能为该平台编译IKVM.Reflection吗。我没有考虑过元编程方面的选项,但就有效性而言,这听起来是一个边缘案例。@Marc:我要尝试一下,但到目前为止,我很难在普通的.NET上编译它,因为它依赖于Visual Studio 2008,而我只有2012年。你把我弄糊涂了;我从未见过2012年在2008年的项目中挣扎,一旦csproj被更新,答案是否定的。如果没有重大更改,它将无法为WinRT编译。可能我需要先了解它的设计和实现,也许还需要联系作者。我能够为.NET 4.5客户端概要文件编译它,但在WinRT上缺少许多类型。