我 是 用 winXP 32 位写的程序,在 win732 位下可以运行,但是 拿到 win7 64 位 就 启动不了 程序,也不报错,因为那是一个测试 机器所以没有装vs  但是装了.net4.0,我 用 vs2008写的程序如何才能在 win7 64 位运行啊,我写的程序其他的都能在 那台 机器上运行。唯独  我写的扫描仪程序不能,
求高手解答

解决方案 »

  1.   

    编译时选择X86,不要选Any CPU
      

  2.   

    因为 需要引用dll文件,我在 32位下引用的是 Twain_32.dll
    在 64 位下 应该怎么引用啊 ,求 大神关注 
      

  3.   

    编译时选择X86,不要选Any CPU 
      

  4.   

    试试这个文章中介绍的解决方案:http://www.cnblogs.com/lzjsky/archive/2010/09/06/1819321.html
      

  5.   

    感谢 回答 ,我用的是 [DllImport]关键字引的,而且 引的是twain的dll
      

  6.   

    感谢 回答 ,我用的是 [DllImport]关键字引的,而且 引的是twain的dll
    把引用的DLL也打包进工程
      

  7.   

    感谢 回答 ,我用的是 [DllImport]关键字引的,而且 引的是twain的dll
    把引用的DLL也打包进工程
    不好用,提示我 试图加载错误,就是在引dll的时候可能是32的和64需要引的dll不同,我只知道 32 位的dll函数64位的不知道啊,这个dll在C盘的windows或system32 下
      

  8.   

    +1感谢 回答 ,我用的是 [DllImport]关键字引的,而且 引的是twain的dll
    把引用的DLL也打包进工程
    不好用,提示我 试图加载错误,就是在引dll的时候可能是32的和64需要引的dll不同,我只知道 32 位的dll函数64位的不知道啊,这个dll在C盘的windows或system32 下感谢 回答 ,我用的是 [DllImport]关键字引的,而且 引的是twain的dll楼上的兄弟感谢回答,但是 我 用的是 
    [DllImport]
    xxxxxx 函数名称
    这样引用的api
    dll的名称是twain_32.dll
    在c:\\windows下
    请给位大神有空帮我研究下,谢谢
      

  9.   

    IIS配置中点击应用程序池,选择你的应用所使用的应用程序池,点击最右侧的“高级设置”,将“启用32位应用程序”设置成true就可以了
      

  10.   


    在哪查看啊 ,
    我 感觉是 我引用dll内的函数时发生的错误
      

  11.   

    我的电脑上右键->管理->事件查看器
      

  12.   


    把DEBUG 与Release设成x86 然后删掉原来的引用,再重新引用Twain_32.dll即可