【问题标题】:Unmanaged DLL Export with Robert Giesecke Library Not Working Under Windows XP使用 Robert Giesecke 库导出非托管 DLL 在 Windows XP 下不起作用
【发布时间】:2013-12-31 00:25:54
【问题描述】:

我有一个纯 C# dll,我使用 Unmanaged DLL Export / Robert Giesecke 编译成功,并且可以在 Windows 7 上运行时从 C++ 应用程序调用。该 DLL 是为 Win32 (x86) 编译的。那么同一个程序和DLL在windows XP机器上运行,可执行程序不能调用导出的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# 编译器执行此操作。

有什么想法吗?

谢谢

【问题讨论】:

  • 欢迎来到 StackOverflow。 “不工作”究竟是什么意思? “不能打电话”是什么意思?您收到错误消息吗?如果您希望我们帮助您解决问题,您需要具体说明问题所在——我们看不到您的屏幕或读懂您的想法。请edit您的问题并添加有关该问题的更多具体细节。谢谢。

标签: c# dll unmanaged


【解决方案1】:

对于 X#,你不需要这种东西,最重要的是你正在编译的 .net 框架..

您很可能针对与 Windows XP 不兼容的 .net 版本编译了 C# 代码。

.NET 3.5 将为您提供与 XP SP2 的兼容性。如果您想与任何级别的 XP 兼容,则需要一直回到 .NET 2.0。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-15
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    • 1970-01-01
    相关资源
    最近更新 更多