Visual studio Visual Studio VSTO 32位和64位版本

Visual studio Visual Studio VSTO 32位和64位版本,visual-studio,outlook,vsto,office-addins,Visual Studio,Outlook,Vsto,Office Addins,我正在使用Visual Studio编写Outlook VSTO加载项。外接程序使用SQLite。它需要一个名为SQLite.interop.dll的dll。它有32位版本和64位版本,Outlook需要正确的版本。如果最终用户在64位CPU上运行32位版本的Office,Outlook需要32位版本的dll,而64位版本不起作用。三个问题: 有没有办法检测用户运行的是32位还是64位版本的Office 在VisualStudio中,是否可以对同一个项目执行两个版本,一个包含32位dll,另一个

我正在使用Visual Studio编写Outlook VSTO加载项。外接程序使用SQLite。它需要一个名为SQLite.interop.dll的dll。它有32位版本和64位版本,Outlook需要正确的版本。如果最终用户在64位CPU上运行32位版本的Office,Outlook需要32位版本的dll,而64位版本不起作用。三个问题:

  • 有没有办法检测用户运行的是32位还是64位版本的Office
  • 在VisualStudio中,是否可以对同一个项目执行两个版本,一个包含32位dll,另一个包含64位dll,还是需要两个单独的项目
  • 有没有其他办法来处理这个问题
  • 谢谢


    Paul

    您的加载项始终以与Outlook相同的比特数运行,只需将其编译为“任意CPU”

    保留两个DLL(或将它们作为资源嵌入),并在运行时通过计算IntPtr类型的大小来确定位数—4表示32位,8表示64位。然后提取/加载正确位的dll