因为要用.net 6调用一个jar,就尝试用最新版IKVM编译
github上下的8.4.4tools,折腾了好久 现在还是会报错
D:\jarpack>ikvmc -out:bcp-sdk-1.0.0.RELEASE.dll bcp-sdk-1.0.0.RELEASE.jar -nostdlib -r:refs*.dll
ikvmc (8.4.4+Branch.main.Sha.103f78408061ddcb58e3a5715ff02893ca0216b2)
Copyright ? 2023 Jeroen Frijters, Windward Studios, Jerome Haltom, Shad Storhaug
Error: unable to find 'netstandard.dll'.?%ra=card
https://github.com/ikvm-revived/ikvm/issues/74
github上有个issues,但是说实话还是没搞懂到底咋弄的,有没有人搞过这个,求帮忙一下
.NET Core 使用 IKVM 编译 jar 文件是一个相对复杂的过程。
你提到了,你用了一个最新版本的 IKVM,但是编译过程仍然出错,错误信息表示未找到 netstandard.dll。
从 error 提示来看,缺少 netstandard.dll 这个文件导致编译错误。这个问题可能是因为你没有安装 .NET Core Runtime,而IKVM需要这个库来编译 jar 包。
推荐你:
安装 .NET Core Runtime
参照IKVM的文档
遵循 IKVM 的编译指南,使用正确的命令和选项编译 jar 包。
也可以参照这个问题的相关问题 https://github.com/ikvm-revived/ikvm/issues/74%E5%A6%82%E6%9E%9C%E8%BF%98%E6%98%AF%E4%B8%8D%E8%A1%8C%EF%BC%8C%E8%BF%98%E5%8F%AF%E4%BB%A5%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E5%BA%93%E6%9D%A5%E8%B0%83%E7%94%A8%E4%BD%A0%E9%9C%80%E8%A6%81%E7%9A%84jar. 或者可以把jar转换成.net的格式。
另外如果编译时与其他dll有相关性的问题,可以尝试将它们一起加入编译命令中
ikvmc -out:bcp-sdk-1.0.0.RELEASE.dll bcp-sdk-1.0.0.RELEASE.jar -nostdlib -lib:D:\Program Files\IKVM-8.4.4-tools-netcoreapp3.1-win7-x64\refs*.dll
ikvmc -out:bcp-sdk-1.0.0.RELEASE.dll bcp-sdk-1.0.0.RELEASE.jar -nostdlib -r:D:\Program Files\IKVM-8.4.4-tools-netcoreapp3.1-win7-x64\refs*.dll
ikvmc -out:bcp-sdk-1.0.0.RELEASE.dll bcp-sdk-1.0.0.RELEASE.jar -nostdlib -lib:D:\Program Files\IKVM-8.4.4-tools-netcoreapp3.1-win7-x64\refs\netstandard.dll
ikvmc -out:bcp-sdk-1.0.0.RELEASE.dll bcp-sdk-1.0.0.RELEASE.jar -nostdlib -lib:\IKVM-8.4.4-tools-netcoreapp3.1-win7-x64\refs\netstandard.dll
全试过,全不行
我刚在一台只装了.net core 3.1的电脑上试了也不行
试了下又变成这个了
C:\jarpack>ikvmc -out:bcp-sdk-1.0.0.RELEASE.dll bcp-sdk-1.0.0.RELEASE.jar -nostdlib -r:\IKVM-8.4.4-tools-netcoreapp3.1-win7-x64\refs\netstandard.dll
ikvmc (8.4.4+Branch.main.Sha.103f78408061ddcb58e3a5715ff02893ca0216b2)
Copyright ? 2023 Jeroen Frijters, Windward Studios, Jerome Haltom, Shad Storhaug
fatal error IKVMC5025: Unable to load runtime assembly