8

我已经尝试查看相关问题的答案,但没有找到任何几年前的东西(不确定它们是否仍然是首选答案)或完全回答我的问题。

要求:

不幸的是,DLL 分为 32 位或 64 位版本。

问题:

  • 是否可以同时包含 DLL 并根据处理器切换它们?我该怎么做呢?
  • 我已经阅读了一些关于 GAC 的内容,从我所阅读的内容来看,这是一个本地解决方案。要为我的应用程序实现这一点,我必须在每次安装时将 DLL 安装到 GAC,对吗?
  • 我可以强制程序在 64 位环境中以 32 位模式运行,从而失去 64 位优势,但能够在两种环境中运行我的程序而没有问题吗?

我不确定一些可能的答案是否适合我的情况:

4

1 回答 1

13

Yes. Just use the NuGet package System.Data.SQLite. It will install an x86 and x64 subdirectory into your project and, when compiled, into your bin. The 32 bit and 64 bit interop DLLs are copied into those and selected appropriately at runtime based on your CPU. So you build with "Any CPU" selected and can run your application on 32 or 64 bit Windows.

于 2013-10-27T21:34:27.273 回答