J2NET.Runtime 找不到。请检查您的平台是否安装了运行时

问题描述 投票:0回答:2

我想在我的项目中使用 JDBC.Net.Data。 在 .Net Core 6 控制台应用程序中它可以工作,但是当我在 .Net Core 6 Web API 中尝试它时,我收到以下错误。

“找不到 J2NET.Runtime。请检查是否为您的平台安装了运行时。”

两个项目的一切都很相似。

问题是,在Web应用程序中,Kesrel无法访问bin/debug/net6.0/runtimes文件夹中包含的JRE文件。

但是在我的控制台应用程序中,一切都与 Web 应用程序相同,甚至文件夹结构也是如此。

如何设置我的网络应用程序来解决此问题?

java jdbc .net-6.0
2个回答
0
投票

我也遇到了和你一样的问题。在搜索他们的 github 后,我发现这已于 2023 年 6 月 1 日被确定为问题。项目所有者在最新版本 1.3.0 中发布了修复程序。

埃文崔评论于 06/01/2023

请将您的软件包依赖项升级到 v1.3.0。

另请注意包名称已更改

J2NET.Runtime.Win64
现在是
J2NET.Runtime.win-x64

进行升级让我克服了运行时错误,但随后又发生了另一个错误:

"A task has been cancelled"
。单步执行 JDBC.Net 源代码后,
var process = JavaRuntime.Execute(javaRunArgs);
(在
Models\JdbcBridge.cs
中)立即退出,并且取消任务。我发现java运行时在asp.net core项目执行目录中找不到
JDBC.NET.Bridge.jar
。因此,我提出了一个拉取请求来修复该问题并完全限定 jar 文件的路径。

支持 ASP.Net Core #29

您可以等待 evan 完成拉取请求并发布另一个 nuget 包,或者您可以像我一样将它们的源代码包含到您的项目中,然后添加我的代码。然后,您可能需要将

JDBC.NET.Bridge.jar
从控制台应用程序 exe 目录复制到
JDBC.NET.Bridge\target
作为
JDBC.NET.Bridge-1.0-SNAPSHOT-jar-with-dependencies.jar
(用于调试,或仅在发布时使用
JDBC.NET.Bridge.jar
)。

我希望这有帮助。


0
投票

@tcables 我遇到了同样的问题,“任务已取消”。我有你提到的一切,但它返回同样的问题

© www.soinside.com 2019 - 2024. All rights reserved.