无法在XP 64bit上加载程序集

时间:2009-11-09 12:25:05

标签: c# .net 64-bit 32-bit

我使用Any CPU选项编译了一个.NET应用程序。此.NET应用程序使用封装C ++调用的非托管dll(托管包装器)。这个.NET包装器驻留在GAC中。

当我运行.NET应用程序时,它在XP 32位上运行良好。但是当我在XP 64位上运行它时,它会失败并给出以下异常:

  

无法加载文件或程序集“Dll name,version,Culture = neutral,PublicKeyToken”或其依赖项之一。

如何解决此问题?

3 个答案:

答案 0 :(得分:3)

您需要使用x86 CPU选项。如果您知道某个非托管依赖项是32位,则需要使用x86选项为CPU构建解决方案。这确保即使在64位操作系统上,您的应用程序也将以32位进程运行。

这是必需的,因为它无法将32位编译代码加载到64位进程中。

答案 1 :(得分:0)

您需要确保您的非托管dll在搜索路径中也具有64位功能。

答案 2 :(得分:-1)

您可以在Microsoft Connect website

上找到一些解释