我正在尝试从c#
调用dll文件dll文件是使用ikvm从java应用程序制作的,现在所有代码都是打印hello world。
如何在我的c#代码中调用dll文件,是否可以在java中创建一个将布尔值返回给我的c#代码的应用程序?
感谢您的时间。
答案 0 :(得分:1)
using System.Runtime.InteropServices;
然后您可以使用
[DllImport("myjavadll.dll")]
然后通过右键单击并在参考文件夹中导航到dll作为参考。
编辑:
这是一个将C ++ dll调用到C#的链接。你也许可以解决它。
编辑:我在添加DLL作为参考时遇到了问题,并被迫添加为资源。我相信这是因为我正在使用sys32 dll。这是一篇旧帖子,我试图找出一些DLL导入错误。如果你遇到一些问题,也许会有所帮助。
答案 1 :(得分:1)
我不确定我明白你要做什么,如果我误读,请道歉。 IKVM应该将您的Java代码转换为.NET DLL或可执行文件。在“翻译”之后,您应该能够以与使用“本机”.NET代码相同的方式使用.dll。
如果你的java应用程序有一个在控制台上打印“hello world”的main方法,你应该将它转换为.NET可执行文件(.exe)而不是dll。 将它转换为.exe后(假设您在Windows系统上的Microsoft .NET上运行它),您应该执行它。
至于问题的第二部分,您还可以创建一个dll(从java转换而来),它返回一个布尔值并从C#应用程序中使用它。
请参阅this tutorial,了解您正在做的两个(非常准确)的例子。