我有一个纯C#dll,我使用Unmanaged DLL Export / Robert Giesecke编译成功编译,可以在Windows 7上运行时从C ++应用程序调用。该DLL是为Win32(x86)编译的。然后在Windows XP机器上运行相同的程序和DLL,可执行程序无法调用导出的DLL函数。
这是导出函数的一个示例:
[DllExport("SetTerminalHandle", CallingConvention = CallingConvention.Cdecl)]
public static void SetTerminalHandle(int hTerminal, string strTerminalPath, string strAccountServer)
{
terminalHandle = hTerminal;
terminalPath = strTerminalPath;
accountServer = strAccountServer;
}
任何想法。我知道要在Win 7 w / VS 2012 for C ++下创建一个可运行的Windows XP DLL或exe,您需要将编译器工具设置为Platform Set:Visual Studio 2012 - Windows XP(v110_xp) 您似乎无法使用C#编译器执行此操作。
任何想法?
由于
答案 0 :(得分:0)
对于X#,你不需要这种东西,最重要的是你正在编译的.net框架..
您很可能是针对与Windows XP不兼容的.net版本编译了C#代码。
.NET 3.5将为您提供与XP SP2的兼容性。如果你想要与任何级别的XP兼容,你需要一直回到.NET 2.0。