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