Sea*_*son 7 c# oracle visual-studio-2008
我有一个程序需要在x86和x64环境中运行.它使用的是Oracle的ODBC驱动程序.我有一个Oracle.DataAccess.DLL的引用.但是,根据系统是x64还是x86,此DLL会有所不同.
目前,我有两个独立的解决方案,我维护两者的代码.这太残忍了.我想知道什么是正确的解决方案?
我的平台设置为"任何CPU".并且我的理解是VS应该将DLL编译为中间语言,这样如果我使用x86或x64版本则无关紧要.然而,如果我尝试使用x64 DLL,我收到错误"无法加载文件或程序集'Oracle.DataAccess,Version = 2.102.3.2,Culture = neutral,PublicKeyToken = 89b483f429c47342'或其中一个依赖项.加载格式不正确的程序."
我在32位机器上运行,所以错误信息是有意义的,但它让我想知道当我需要在x64上工作时我应该如何有效地开发这个程序.
谢谢.
将 AnyCPU 与本机早期绑定结合使用是行不通的,因为您需要两个单独的解决方案并进行构建,如您所见。您必须拥有 64 位系统才能开发或至少测试 x64 编译的 dll。
但是,通过后期绑定,您可以使用 AnyCPU 和系统属性来确定您正在运行的体系结构并链接到正确的 dll(如果您保留 Oracle.DataAccess.x86.dll 之类的名称)。如果它们安装到 GAC 中,那就更容易了,您可以绑定,甚至无需先测试架构,但我相信您仍然需要后期绑定。
请注意,如果您实在懒得重新安装 Windows,VMware 可以在 32 位主机上运行 64 位客户机。
| 归档时间: |
|
| 查看次数: |
5189 次 |
| 最近记录: |