小编Nig*_*ton的帖子

编译混合平台(32,64)并引用在运行时解析的32或64位DLL

在Windows 32或64位下使用VS2010.我们的C#app调用与非托管DLL接口的第三方DLL(托管).第三方DLL API在32位或64位中显示相同,但​​在其下方链接到32位或64位非托管DLL.

我们希望我们的C#应用​​程序在32位或64位操作系统上运行,理想情况下它会自动检测操作系统并加载相应的第32方DLL - 通过一个简单的工厂类来测试环境.因此,最新的解决方案是运行时文件夹,其中包含:OurApp.exe 3rdParty32.DLL 3rdPartyUnmanaged32.DLL 3rdParty64.DLL 3rdPartyUnmanaged64.DLL

但是,托管的3rdParty 32和64 dll的接口是相同的,因此两者都不能在同一个VS2010项目中引用:添加第二个时,会显示警告三角形,但不会引用它.

我唯一的答案是创建两个额外的库DLL项目来引用3rdParty 32和64 Dll?所以我最终会得到这个项目安排:项目1:构建OurApp.exe,为project2或project3动态创建一个对象.项目2:构建引用3rdParty32.dll的OurApp32.DLL项目3:构建引用3rdParty64.dll的OurApp64.DLL

c# c++ dll

5
推荐指数
2
解决办法
2258
查看次数

标签 统计

c# ×1

c++ ×1

dll ×1