[英]DirectX application on 64 bit windows
我正在开发一个WPF应用程序,其中3D部分由DirectX 9处理(很多3D使用WPF运行得不够快)。
问题是应用程序以“Any CPU”作为配置发布,当用户在64位窗口上运行时,direcX部分崩溃(System.BadImageFormatException)。 显然,directX部分包含的dll在64位窗口上不可用。
这与我们在我们的应用程序中使用的其他3:rd部分dll有关,但是如果用户在64位Windows机器上运行,我们已经通过将运行时的dll更改为为x64构建的dll来解决。 你们中的任何人都知道我在哪里可以找到x64的DirectX 9 dll吗? 如果它们存在的话。
我需要的是:
如果它们不存在,问题可以通过其他方式解决吗? 我无法将配置更改为x86,因为应用程序是通过ClickOnce发布的,配置更改使ClickOnce停止工作(配置包含在ClickOnce键中)
让我补充一点,我正在使用由WPF应用程序托管的Winforms部分,而winforms部分正在使用我询问的DirectX dll。 这是在WPF中呈现大量3D网格比使用WPF:3D更好更快的方式。 不幸的是发生了这个问题。
你需要的DLL是Managed DirectX。 不幸的是,微软不再支持Managed DirectX,它是后续产品,XNA也不支持64位。
SlimDX是Managed DirectX的开源替代品,它支持64位。 另一种选择是在非托管C ++中编写DirectX代码。
您可以将WPF应用程序设置为仅作为32位应用程序运行。 将您的ClickOnce问题发布为另一个SO问题。 这可能是你最好的选择。
Project Properties -> Build -> Platform Target -> x86
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.