我们正在围绕非托管 DLL 创建 C# 包装器。非托管 DLL 有 32 位和 64 位版本。我们将托管包装器保留在其自己的项目中,以便我们可以将其构建为单独的组件并在解决方案中重用它。
然而,这会导致一些问题。由于 32 位和 64 位版本的非托管 DLL 具有相同的名称,因此我们无法将正确的非托管 DLL 移动到输出 (bin) 目录。如果构建配置是 x86,我们要复制 32 位版本,使用 x64 复制 64 位。只需一个处理器架构,这很容易实现。我们只是在我们的项目中包含非托管 DLL,并在文件上将 copy local 设置为 true。但是由于我们需要同时针对这两个目标,因此更加棘手。
我们在同一个解决方案/项目中找到了此链接Targeting both 32bit and 64bit with Visual Studio,但这似乎引用了机器上已经存在的一些 DLL。我们希望将正确版本的 DLL 复制到输出目录 (bin)。
任何有关如何解决此问题的提示或技术都非常受欢迎。