Vb.net 我能在任何CPU中运行86x位dll而不出现问题吗.net vs 2008

Vb.net 我能在任何CPU中运行86x位dll而不出现问题吗.net vs 2008,vb.net,visual-studio-2008,desktop-application,Vb.net,Visual Studio 2008,Desktop Application,我有一个处理86位应用程序的dll,所以当我将我的应用程序构建到anycpu时,它正在崩溃,我需要我的目标是任何cpu,因为它解决了我的一些其他问题,所以死锁是我需要在目标:anycpu中使用is.dll而不是崩溃。(假设我正在处理vs 2008。) 谢谢你提前帮忙 错误:试图加载格式不正确的程序。(来自HRESULT:0x8007000B的异常)不,您被卡住了。无论您在直接瞄准x86时遇到什么问题,都意味着您的应用程序具有某种64位依赖性。您将需要一个代理进程来加载x86库并公开它以供64位进

我有一个处理86位应用程序的dll,所以当我将我的应用程序构建到anycpu时,它正在崩溃,我需要我的目标是任何cpu,因为它解决了我的一些其他问题,所以死锁是我需要在目标:anycpu中使用is.dll而不是崩溃。(假设我正在处理vs 2008。)

谢谢你提前帮忙


错误:试图加载格式不正确的程序。(来自HRESULT:0x8007000B的异常)

不,您被卡住了。无论您在直接瞄准x86时遇到什么问题,都意味着您的应用程序具有某种64位依赖性。您将需要一个代理进程来加载x86库并公开它以供64位进程访问当您以x86平台为目标时,您的项目将构建为32位程序集,该程序集将在所有支持它的平台上以32位进程运行,其中包括64位用户窗口。当您以x64平台为目标时,您的项目将生成一个64位程序集,该程序集将在所有支持它的平台(不包括32位Windows)上以64位进程运行。当您针对任何CPU平台时,我不认为VS2008有一个更喜欢的32位框。在这种情况下,默认情况下,程序集将在64位进程中运行,如果必须,程序集将在32位进程中运行。这意味着以任何CPU为目标并在64位Windows上运行的应用程序将在64位进程中运行。因此,所有库也必须在64位进程中运行,因此它们必须以x64或任何CPU为目标。