老师,我用C++封装了一些PW的aaApi_XXXX的接口,然后C#使用,最后生成了一个安装包,安装在不同电脑上的时候,有的电脑上能使用,有的直接报dll未能正确加载,电脑都是64位的,不过系统有所不同,正常使用的是普通的win10,不能正常使用的系统是windows server。无法确定原因
这个出图提示里边已经给出原因了,PWInterfaceHandle.dll找不到,这个是您自己的dll吧
是的,但是这个DLL是有的。这个Dll就是我封装PW接口的Dll。用的是同一个安装包
这就是我们一直建议用户PW开发就用C++的原因。C++是nativeCode,不依赖.NET Framework。你一做C# 封装就要涉及到.NET技术的。
使用的技术越多、越复杂,出错的概率就越大。Windows平台不同,是否安装的C++ Redistribute包版本相同?.NET Framework的版本是否相同?
大概率是32位.net dll调用64位c++引起的,编译c#的时候,强制编译x64试试
我在服务器上按照已正常的电脑装上Redistribute,服务器上的系统的.net Framework是3.5和4.5的,我电脑上的是3.5和4.8高级服务的,我编译C#工程的时候是框架用的4.5.但还是报上述问题。不知道是不是这个4.8的高级服务影响,另外一台正常的电脑有是3.5和4.7高级服务