开发工具使用的是vs2008. 框架部分用C#做的, 其中有两个功能是使用C++开发的dll(vs 2008), 然后通过C#平台调用.      DLL 工程的配置管理器, 平台设置为WIN32.
     
      框架工程的配置管理器, 如果平台设置为any cpu, 那么在32位系统下没有问题. 但是在64位系统下就有问题了.(问题为无法加载组件)                            如果平台设置为x86, 那么在32位系统下就有问题..(问题为无法加载组件)..
      请教高手, 如何解决这个问题, 让程序能够同时在 32 和 64位机器上运行.

解决方案 »

  1.   

    两个使用C++开发的dll的编译方式用x86、平台用any cpu,这样试过吗? 
      

  2.   

    DLL中没有将int与long大小混用问题就不大
    配置any cpu在生成
      

  3.   

    vs 2008 C++没有X86的选项.           我感觉vs 2008调用32位dll应该是可行的.           所以我估计不修改dll, 通过修改C#部分工程应该是可以解决问题的, 只是目前没找到办法.
      

  4.   

    應該是32位機和64位機的內存管理機制不同的問題!
    我在使用用32位下開發的加密解密DLL時也預到過64位機運行崩潰的情況!
      

  5.   

    建议楼主最好查下,你工程的每个引用,是不是存在有纯32位组件的情况,比如第三方32位组件。
    一般.net 的组件都提供自动适应的能力(根据编译项编译)。但是第三方或者纯32位自己开发的组件,可能会存在问题。
      

  6.   

    http://space.cnblogs.com/question/8589/