从.NET应用程序中引用JDK名称空间是否需要安装Java运行时?
-
07-07-2019 - |
题
我在VB.NET应用程序中。我在我的文件中引用了一些java。*命名空间,并且在整个代码中使用了这个命名空间中的对象和方法。据推测,这依赖于J#来编译。
Imports java.util
Imports java.util.zip
Imports java.io
这些JDK名称空间是否完全包含在.NET框架中,或者我的客户在运行我的应用程序时是否需要安装Java?
作为旁注,我没有明确引用任何外部Java DLL或任何东西。就我的代码而言,这都是纯.NET。
解决方案
是的,它们位于J#DLL中,我强烈怀疑VB会自动为您引用。如果你在Reflector中打开你的二进制文件,我相信你会在那里看到对 vjslib.dll
的引用。
不依赖于正在安装的实际JRE / JDK。
然而,我个人会试图远离他们。如果您需要比 System.IO.Compression
更多的压缩选项,那么值得关注 SharpZipLib 。微软不再将J#作为产品出货,试图将所有Java 1.1.4类移植到.NET中的想法,包括他们的怪癖,一直让我感到紧张。
vjslib.dll
甚至不提供框架或Visual Studio ......
不隶属于 StackOverflow