在C#Assembly中引用Java DLL?

这里有说明使用SimMetrics库创建C#程序集。 他们提供给这个图书馆的链接是在SourceForge 。 看起来最新版本的SimMetrics库是用Java创建的。 是否可能编译java代码然后在C#中引用它以用作SQL Server 2008中的程序集?

你能做的最好的是

  1. 使用最少的代码更改将java编译为J#(现已过时且基本上不受支持)。
    • 这非常依赖于使用了多少库。
  2. 将代码转换为c#(惯用语或其他)
    • 在高度数学代码上,这有时候相当容易。 作为优点,java代码也可能假设16位unicode。
  3. 使用像IKVM这样的东西来托管CLR中的java字节代码
    • 对于sql server托管运行时,这可能是完全不可能的,当然我认为性能会很差(因为你必须在每次调用时跨越托管屏障’thunk’。

SF页面强烈 暗示存在java和.net版本。
这是最新的.net版本和文档

但是基于read me文件

这是原始.NET实现的更新版本,而不是最新Java代码的转换。

.Net实现主要是c#,因此您可以在Java实现中区分最近的更改,然后尝试在.Net代码中重新创建它们。 由于转换为c#似乎主要是直接复制,只考虑了惯用的c#(骆驼shell,属性和参数名称),因此很有可能能够做到这一点。

如果您确实考虑将更改作为补丁提交,这将使您有机会让其他人validation您的更改,并且可能会启动项目的.Net端以便将来更紧密地保持同步。