0

我正在寻找建立新 VS2012 C# 项目的最佳方法的建议。我想同时针对 x86 和 x64 架构。但是,我有必须引用的第 3 方 DLL。提供了同一个 DLL 的两个版本;一个为 x86 和 x64 编译。话虽如此,我是否需要专门针对 x86 和 x64?我认为 AnyCPU 或新的 AnyCPU32bitpreferred 不适合我的情况。此外,在同一个项目中引用 DLL 的正确方法是什么(它们具有相同的名称,但一个是 32 位,另一个是 64 位)。谢谢你。

4

1 回答 1

0

您的项目设置应该集中在“目标”计算机上,而不是编译计算机上。如果您的目标系统是 32 位,那么您应该引用第三方库的 x86 版本,否则如果您的目标计算机是 64 位,那么您应该引用 x64 版本。您不应该/不能将这两个库引用到同一个项目中。在任何情况下,您都可以维护项目的两个并行版本,它们仅在参考部分有所不同。如果您需要创建 x64 安装程序,那么您可能还会检查这个问题的答案:BadImageFormatException x64 Issue

当您不重新分发第 3 方 DLL 并且您假设它们以前安装在目标系统上并且您的开发不需要/使用 x64 集的任何特殊功能时,AnyCPU 可能会很有用。在这种情况下,您的代码将以它们安装的格式调用第 3 方 DLL。

于 2013-08-05T18:42:59.297 回答