1

我正在尝试在 Windows XP (SP3) 上执行一个 C# 程序,该程序引用使用 VS2012 编译的托管 C++ DLL。在编译 C++ DLL 时,我已将 Platform Toolset 设置为构建到 Windows XP(使用该v110_xp选项),并在链接器选项中将所需的最低版本设置为 5.01,并且我已经在 Windows XP 机器上安装了 Visual C++ 2012 Redistributable Package。但它没有用。

对此有任何想法吗?

4

1 回答 1

0

正如您提到的 Platform Toolset 和 v110_xp 选项,我冒着风险假设问题是关于非托管C++ DLL。无论如何,尝试使用原始 VS 2012 发行版(无更新)编译您的 DLL,看看它是否有效。我处理了一个由 VS 2012 Update 2 引起的类似问题,在此处进行了描述。您可以使用DependencyWalker测试您的每个依赖 DLL(包括 VC++ 可再发行组件) ,以检查它们中的任何一个是否使用 Windows XP 未实现的 Win32 API。只需在 XP 本身下进行即可。

于 2013-08-05T14:03:24.687 回答