C# 如何调用多个dll,请教了
[DllImport(@"PortMonitor.dll",CharSet=CharSet.Auto)][DllImport(@"LanguageMonitor.dll"...
[DllImport(@"PortMonitor.dll",CharSet=CharSet.Auto)]
[DllImport(@"LanguageMonitor.dll", CharSet=CharSet.Auto)]
[DllImport(@"SDK.dll", CharSet = CharSet.Auto)]
public static extern ushort GetDevInfo(ushort addr, DeviceInfo devinfo);
编译提示错误 错误 1 重复的“DllImport”属性
这样写 [DllImport(@"SDK.dll",@"LanguageMonitor.dll",@"PortMonitor.dll", CharSet = CharSet.Auto)] 也是错误的。
网上也没搜到调用多个dll的信息。 请教下,怎么写?? 展开
[DllImport(@"LanguageMonitor.dll", CharSet=CharSet.Auto)]
[DllImport(@"SDK.dll", CharSet = CharSet.Auto)]
public static extern ushort GetDevInfo(ushort addr, DeviceInfo devinfo);
编译提示错误 错误 1 重复的“DllImport”属性
这样写 [DllImport(@"SDK.dll",@"LanguageMonitor.dll",@"PortMonitor.dll", CharSet = CharSet.Auto)] 也是错误的。
网上也没搜到调用多个dll的信息。 请教下,怎么写?? 展开
1个回答
展开全部
这个调用是针对你要用的非托管函数写的
每个函数的定义前面要写上此函数所需引入的dll,你写3个当然错了
[DllImport(@"SDK.dll", CharSet = CharSet.Auto)]
public static extern ushort GetDevInfo(ushort addr, DeviceInfo devinfo);
这样写就对了,另外2个dll如果你没用里面的函数就删掉,用了就把定义写出来,前面再写DllImport
而且,一个dll内用多个函数也要写多次,就是每个函数定义都要指明他的dll
每个函数的定义前面要写上此函数所需引入的dll,你写3个当然错了
[DllImport(@"SDK.dll", CharSet = CharSet.Auto)]
public static extern ushort GetDevInfo(ushort addr, DeviceInfo devinfo);
这样写就对了,另外2个dll如果你没用里面的函数就删掉,用了就把定义写出来,前面再写DllImport
而且,一个dll内用多个函数也要写多次,就是每个函数定义都要指明他的dll
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询