我使用 IKVM 将 Java 应用程序编译为 C# dll。我尝试在使用 .Net Framework 2.0 的 C# 项目中使用此 dll,但由于转换后的 dll 框架显然更高而失败。我查看了 IKVM 编译器的参数,但没有找到有关框架的任何内容。
我现在的问题是:
我可以用 IKVM 指定编译的 DLL/EXE 的框架版本吗?如果是这样,怎么做?
提前致谢。
当前版本的 IKVM 7.1 是使用框架 2.0 构建的。如果您使用 IKVMC 创建 dll,则默认情况下它使用框架 2.0。另一件事是如果您自己构建 IKVM。
如果你想为更高的框架编译一个 dll 为 2.0 那么你需要使用命令行参数:
-nostdlib
您需要使用命令行参数将所有需要的引用(如 mscorlib.dll)设置为目标框架:
-r:<file name>
根据我对所有 IKVM 版本的搜索,IKVM 0.38.0.2 版本及更高版本都包含使用框架 3.5 构建的 IKVM 二进制文件。
0.36.0.11 是最后一个版本,取决于 2.0。该版本仅支持 Java 6,而且太旧了。