2010-06-19 61 views
0

我有许多程序集和第三方实用程序的VS解决方案。在64位机器上运行时,我需要强制应用程序运行32位。该应用在32位机器上运行得很好。我强制.exe文件只需要32位,当在64位机器上运行时,我得到了“试图加载格式不正确的程序”的错误。这是我的理解,改变exe将强制所有程序集加载为32位。到底是怎么回事?许多程序集强制32位的应用程序

回答

1

我知道这是一个老问题;也许你已经找到了你的答案。

我不熟悉设置ILONLY和32BITREQUIRED ...通常在编译之前在编译器下拉框中选择x86而不是ANYCPU来处理所需的一切。您也可以验证您的所有应用程序都已设置为在配置管理器中编译为x86。

最有可能的是,您遇到的问题是您的第三方实用程序之一在64位计算机上安装了64位DLL,而您的强制32位应用程序试图加载64位DLL,位DLL。如果第三方DLL具有32位和64位版本,那么安装程序很有可能知道哪一个应该放下。检查

两个地方,你可以去64位机器上:

  1. 如果安装到C程序:\ Program Files文件\,这是一个64位的DLL;否则它会被安装到C:\ Program Files文件(x86)的\
  2. 导航到GAC命令行:C:\ WINDOWS \组装和GAC_32下看起来与GAC_64。如果您在GAC_64下找到它,那么您试图加载64位DLL

HTH! James

相关问题