.Net项目需要在x64和x86下构建,怎么样

本文关键字:x86 构建 怎么样 x64 项目 Net | 更新日期: 2024-09-19 20:31:21

我的小型应用程序做了两件似乎有冲突的事情:

1) 使用VFPOLEDB.1与Visual Foxpro数据库对话以获取一些数据-->它需要x86或"任何CPU"中的应用程序生成器

2) 但是,还有另一个函数可以调用powershell脚本来访问服务器的IIS,并且它需要x64中的项目构建。(或者当.Net启动powershell时,它会对哪个版本感到困惑,并会抛出一些COM对象类未注册错误)

我该如何处理这个冲突问题?

.Net项目需要在x64和x86下构建,怎么样

我不完全确定,但也许您可以通过拆分项目来做到这一点。一个项目是x86,可以调用FoxPro,另一个是x64,可以调用Powershell,第三个项目将是调用这两个项目的主要项目。

Per-Microsoft:

VFP oledb驱动程序是32位的,不能与以64位模式运行的NET 2.0 CLR一起使用。据我所知,目前还没有提供64位版本的VFP oledb驱动程序的计划。[来源]

简而言之,您将永远无法在64位模式下使用它;尝试解决COM对象错误并为x86构建。你的另一个选择可能是为FoxPro部分生成一个独立的可执行文件,并让你的主应用程序独立执行它(但它最终会被虚拟化)。

我认为另一种选择是使用COM+和后期绑定执行模型,其中COM对象实际上由COM+服务器管理,而不是直接由应用程序管理。