System.Webのスタブを作成し、JavaコードでHttpContextを使用して、それを使用できるようにします。私は以下を試しました:
フォルダ構造
- プログラム[フォルダ]
- ikvm-7.0.4335.0[フォルダー]
- compile.bat
- test.java
- IKVM.OpenJDK.Core.dll
- IKVM.Runtime.dll
javaクラスtest.java
import cli.System.Web.HttpContext;
public class test
{
public static void main(String args[])
{
HttpContext.get_Current().get_Items().get_Item("MyKey");
System.out.println("Hello World!");
}
}
コンパイルcompile.bat
ikvm-7.0.4335.0\bin\ikvmstub mscorlib
ikvm-7.0.4335.0\bin\ikvmstub System.Web
javac test.java -classpath mscorlib.jar;System.Web.jar
ikvm-7.0.4335.0\bin\ikvmc -target:exe -reference:System.Web.dll test.class
test.exe
pause
compile.batを実行すると、次のように出力されます。
警告IKVMC0100:クラス "cli.System.Collections.IDictionary"が見つかりませんリンクエラー:メソッド "cli.System.Web.HttpContext.get_Items()Lcli.System.Collection s.IDictionary;" 「test。 「」
また、「C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Web.dll」のスタブを直接作成しようとしましたが、次のエラーが発生します。
エラー:アセンブリ'C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Web.dll'を読み込めません。これは、現在読み込まれているバージョンよりも高いバージョンのmscorlibに依存しているためです。
次に、「C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ mscorlib.dll」のスタブを作成しようとすると、次のようになります。
ikvmstub "C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ mscorlib.dll"警告:アセンブリ "C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ mscorlib.dll "は、以前にロードされたアセンブリ" C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \mscorlib.dll"が同じID"mscorlib、Version = 2.0.0.0、Cultureを持っているため無視されます=ニュートラル、PublicKeyToken = b77a5c561934e089 "
誰かがこれを試し、成功しましたか?