【发布时间】:2013-01-05 22:01:23
【问题描述】:
我在 IKVM.Reflection 上看到 Marc Gravell 的帖子,这是我在 IKVM User's Guide 上找到的内容:
使用 IKVM.NET 主要有两种方式:
- 动态:在此模式下,Java 类和 jar 直接用于在 .NET 运行时执行 Java 应用程序。 Java 字节码被即时翻译成 CIL,不需要进一步的步骤。此模式支持完整的 Java 类加载器模型。
- 静态:...
我想用它在 WinRT 应用程序中发出和执行 IL。是否存在任何根本问题,为什么这是不可能的?像 Microsoft 的政策,或阻止从 IKVM 执行(可能已修补)反射和 IL 发射代码的技术限制?
如果这不可能,是否有任何选项可以在运行时加载程序集(假设我在外部服务器上发出它们并从那里下载到本地应用程序文件夹)?
【问题讨论】:
-
有趣的问题。但是,它确实首先提出了一个问题:您能否让 IKVM.Reflection 为该平台编译。我没有考虑元编程方面的选项,但就有效性而言,这听起来是一个边缘案例。
-
@Marc:我会尝试,但到目前为止,我很难在普通 .NET 上编译它,因为它依赖于 Visual Studio 2008,而我只有 2012。
-
你把我弄糊涂了;一旦 csproj 更新,我从未见过 2012 年与 2008 年的项目斗争
-
好的,答案是否定的。如果没有重大更改,它将无法为 WinRT 编译。可能我需要先了解一下它的设计和实现,也许可以联系作者。
-
我能够为 .NET 4.5 Client Profile 编译它,但在 WinRT 上缺少许多类型。
标签: windows-runtime reflection.emit il ikvm assembly-loading