如果某个应用程序中引用的某些程序集仅使用32位编译,将加载.NET(64位与32位)的哪个版本(而不是AnyMachine)设置?如果至少有一个引用的程序集只被编译为32位,应用程序仍将以64位运行还是将被强制以32位运行?该应用程序正在运行.NET 3.5。使用64位与32位程序集的.NET版本
回答
位岬通过在EXE的平台目标设置决定运行。没有任何机制可以确保引用仅32位程序集的EXE也将被强制以32位模式运行。程序集将无法加载BadImageFormatException。
如果你的程序依赖于这样一个DLL,那么你必须必须强制你的EXE项目上的Platform Target从AnyCPU到x86。
该应用程序将被强制为32位
如果程序集是动态加载的,并且进程是64位,则32位程序集将无法加载。 – EricLaw 2010-05-01 17:38:50
如果引用的程序集编译为AnyCPU,但是使用非托管DLL,那么如果不提供64位版本的非托管DLL,它将无法运行。 – 2010-05-01 17:40:33
不是由进程的位数决定的主要的可执行文件,如果该模块引用不同位元的程序集,那么这些程序将无法加载,不会强制该进程使用不同的位?例如,如果创建可执行文件并将其编译为AnyCPU,但它引用了一堆32位程序集,则该进程将在32位操作系统上正常运行,但无法在64位操作系统上加载其他程序集? – 2010-05-01 18:15:22
- 1. 64位程序集的32位指令
- 2. 的Python Enthought 32与64位版本
- 3. 64位或32位版本的WinDBG?
- 4. 使用32位或64位DLL编译.net应用程序
- 5. .NET 32位开发与64位生产
- 6. ODBC .NET 32位和64位
- 7. 从32位移植到64位版本
- 8. 不同的.NET程序集引用取决于32-64位
- 9. 64位版本内置程序总是比32位更快?
- 10. 为什么.NET开发人员提供.NET程序集的32位/ 64位版本?
- 11. 在64位环境中使用32位程序集
- 12. iOS 32与64位应用程序
- 13. 64位.NET应用程序中的32位ActiveX控件
- 14. 32位和64位.NET(4)应用程序之间的差异
- 15. 32位/ 64位Windows/Linux应用程序
- 16. 32位.NET应用程序和64位.NET应用程序有区别吗?
- 17. 启动64位进程修改32位和64位.NET machine.config中
- 18. 使用64位红宝石与32位ODBC驱动程序
- 19. 在64位Windows 7上使用32位版本的ODBC?
- 20. 使用QMAKE构建项目的32位和64位版本
- 21. 使用32位服务启动cscript的64位版本
- 22. 在.NET中,32位进程如何与64位进程通信?
- 23. 32位dll导入64位.Net应用程序
- 24. 在64位机器上运行32位.NET应用程序
- 25. 64位版本的Visual Studio 2010以32位版本运行
- 26. Java JDK 32位与64位
- 27. SHGetFolderPath()32位与64位
- 28. win32com.client.Dispatch()32-64位程序
- 29. 64位.NET 4.5上的32位GetHashCode(CLR)
- 30. 使用一个设置运行Eclipse 64位和32位版本
它会在应用程序开始时或程序集被使用时失败吗? – user31673 2010-05-01 18:20:39
使用时。这可能接近开始。 – 2010-05-01 18:45:02