我有一个静态库X64位。我创建了一个包装器,并通过控制台应用程序执行它工作正常。当我使用相同的包装器DLL并尝试通过webservice公开方法来获取错误。
代码段: 的包装
#include "Header.h"
#include "sonobox.hpp"
namespace MyWin32DLL
{
MyWin32ClassOne::MyWin32ClassOne()
{
varone = 123;
}
__declspec(dllexport) int MyWin32ClassOne::getoutput()
{
uikey=GetKey();
}
return uikey;
}
}
web服务: -
public class WebService1 : System.Web.Services.WebService
{
[DllImport("Win32Project2.dll", CharSet = CharSet.Unicode)]
public static extern int getoutput();
[WebMethod]
public int HelloWorld()
{
return getoutput();
}
}
错误: - 无法加载文件或程序集' ***'或其中一个依赖项。尝试加载格式不正确的程序。
请你好!
答案 0 :(得分:0)
此错误的最常见原因是位数不匹配。进程为32位,失败的汇编为64位。或相反亦然。如果是这样,那么您有两种可能的解决方案: