我使用IKVM將Java應用程序編譯到C#dll。我試圖在一個使用.Net Framework 2.0的C#項目中使用這個DLL,但由於轉換後的dll框架明顯更高,所以失敗了。我查看了IKVM編譯器的參數,但沒有找到關於該框架的任何信息。現在使用IKVM指定.Net Framework
我的問題是:
我只能對指定編譯DLL/EXE與IKVM框架版本?如果是這樣,怎麼樣?
在此先感謝。
我使用IKVM將Java應用程序編譯到C#dll。我試圖在一個使用.Net Framework 2.0的C#項目中使用這個DLL,但由於轉換後的dll框架明顯更高,所以失敗了。我查看了IKVM編譯器的參數,但沒有找到關於該框架的任何信息。現在使用IKVM指定.Net Framework
我的問題是:
我只能對指定編譯DLL/EXE與IKVM框架版本?如果是這樣,怎麼樣?
在此先感謝。
當前版本的IKVM 7.1與框架2.0一起構建。如果你用IKVMC創建一個dll,那麼它默認使用框架2.0。另一件事是如果你建立IKVM自我。
如果你想編譯一個dll有較高的框架2.0,那麼你需要使用命令行參數:
-nostdlib
而且你需要設置所有所需的引用(如mscorlib.dll中)到使用命令行參數目標框架:
-r:<file name>
我正在使用當前版本的IKVM(我沒有自己編譯它)。但是,默認情況下,Dll使用的Framework版本似乎爲3.5,這就是爲什麼我有點困惑。 – kaiser
即使是7.2測試版引用2.0。你能證明你爲什麼認爲你的目標是3.4嗎? –
根據通過所有的IKVM版本我搜索IKVM 0.38.0.2及更高版本都包含有框架3.5內置IKVM二進制文件。
0.36.0.11是取決於2.0的最後一個版本。該版本僅支持Java 6,並且方式太舊了。
只是爲了清理一些東西 - IKVM不生成C#DLL - 它生成用Java編寫的.NET程序集。 –