2013-01-05 51 views
2

我看到一個帖子上IKVM.Reflection由Marc Gravell,這裏就是我在IKVM User's Guide發現:IKVM.Reflection在運行時爲Windows Store應用程序發出IL?

有使用IKVM.NET的方式主要有兩種:

  • 動態:在這種模式下, Java類和jar被直接用來在.NET運行時上執行Java應用程序。 Java字節碼被即時翻譯成CIL,不需要進一步的步驟。此模式支持完整的Java類加載器模型。
  • 靜:...

我想用它發射和執行的WinRT應用內IL。有沒有根本的問題,爲什麼這是不可能做到的?像來自微軟的政策,或阻止執行(可能已修補)的技術限制反射& IL從IKVM發出代碼?

如果這是不可能的,是否有裝載組件在運行時(假設我發出他們在外部服務器上,並從那裏下載到本地app文件夾)的任何選項?

+0

有趣的問題。但是,它確實首先提出這個問題:您能否爲該平臺獲取IKVM.Reflection來編譯*。我沒有考慮元編程方面的選項,但它在有效性方面聽起來是一個邊緣案例。 –

+0

@Marc:我要去嘗試,但到目前爲止,我用它編譯正常.NET鬥爭,因爲它依賴於Visual Studio 2008和我只有2012 –

+0

你搞糊塗了那裏。我從來沒有見過2012年與2008年的項目鬥爭,一旦csproj更新 –

回答

7

IKVM.NET的動態模式無關與IKVM.Reflection。 IKVM.Reflection僅由靜態編譯器使用。

雖然可以爲.NET核心配置文件編譯IKVM.Reflection(有一些調整),但這並沒有讓你更接近動態生成代碼,除非你打破.NET核心配置文件「沙箱「(這是可能的,但我認爲會違反Window Store政策)。

+0

你剛纔救了我一天的工作:) –

相關問題