代码之家  ›  专栏  ›  技术社区  ›  Martin Ongtangco

通过ClickOnce在64位机器上运行扫描应用程序

  •  3
  • Martin Ongtangco  · 技术社区  · 14 年前

    发布应用程序时,我选择“Any CPU”作为平台目标。当我试图让它在Windows7 64位Home Premium上运行时,我的应用程序在安装后崩溃。

    你知道我做错了什么吗?非常感谢~!

    1 回复  |  直到 14 年前
        1
  •  7
  •   Kieren Johnstone    14 年前

    您的项目中很可能有一个“x86”(32位)引用,例如DotTwain“任何CPU”意味着.NET framework将以“x64”的形式运行它,因为您已经告诉它一切正常。然后它尝试加载一个引用,发现它是32位的,并给出一个“BadImageFormatException”(通常)。

    因此,您需要一个没有被“ngen ed”的DotTwain版本,也需要一个CPU引用为“Any”的版本,或者发布一个单独的64位版本,其中您的所有引用都没有设置为“x86”(您需要“Any”或“x64”)。

    (经常遇到这个问题;有几个应用程序在32位、64位上运行,并使用DotTwain和其他Atalasoft组件)

    希望有帮助!