jna/c#:java.lang.unsatifiedLinkError:查找函数时出错';测试';
我想使用一个C#dll函数 c# 爪哇 我使用Visual Studio构建了c#项目,它在project bin\Release目录中生成了3个文件:jna/c#:java.lang.unsatifiedLinkError:查找函数时出错';测试';,java,c#,jna,Java,C#,Jna,我想使用一个C#dll函数 c# 爪哇 我使用Visual Studio构建了c#项目,它在project bin\Release目录中生成了3个文件: dllExample.dll dllExample.pdb RGiesecke.DllExport.Metadata.dll JDK版本:1.8.171 jna:net.java.dev.jna:jna:4.5.1 当测试运行时,我得到以下异常: java.lang.UnsatisfiedLinkError:查找函数“Test”时出错:A
- dllExample.dll
- dllExample.pdb
- RGiesecke.DllExport.Metadata.dll
我使用Visual Studio build Solution函数构建dll。我使用的是UnmanagedExpirt NuGet包。这不好 解决方案: 删除UnmanagedExport并使用DllExport NuGet包。说明如下:
using RGiesecke.DllExport;
namespace dllExample
{
public class DllExample
{
[RGiesecke.DllExport.DllExport]
public static string Test(string id)
{
return "done" + id;
}
}
}
@Test
public void jnaTest() {
DllExample dllExample = Native.loadLibrary("c:\\Users\\IEUser\\RiderProjects\\dllExample\\dllExample\\bin\\Release\\RGiesecke.DllExport.Metadata.dll", DllExample.class);
Assert.assertEquals("doneabc", dllExample.Test("abc"));
}
public interface DllExample extends Library{
String Test(String id);
}