【发布时间】:2011-09-19 15:16:59
【问题描述】:
Windows 8 Metro 下的 WinRT 是否允许动态加载和执行代码?例如,是否可以将 dll 下载到内存或隔离存储并从中运行代码? JIT 将脚本语言编译为本地汇编语言(例如第三方浏览器)的代码是否能够在 WinRT 中执行相同的操作,还是作为“不安全”操作被禁止?
对于在 WinRT 中运行的“托管”代码,此问题的答案是否不同?例如,在托管代码中,您是否可以从 Internet 下载程序集并使其在 MEF 中可发现,或者能够在运行时加载它?你能以某种形式使用 Reflection.Emit 吗?在 C++ 中,您可以运行应用程序在运行时生成的汇编代码,还是在运行时动态加载 DLL(可能是某种形式的 WinRT DLL)?
【问题讨论】:
-
对于托管,至少,我看不到
System.Reflection.Emit,但Expression<T>.Compile在那里并且似乎正在工作,因此至少可以使用某种形式的运行时代码生成。 -
要详细了解您可以在 Windows 应用商店应用中使用 C++ 做什么,请查看此Roadmap for Windows Store apps using C++。
标签: c# c++ dll windows-8 windows-runtime