3

好的,这是我的设置。

我的 ac# 应用程序可以在所有 32 位 Windows XP-Vista-7 机器上完美运行。我已经有一个威瑞信 PFX 来支持 ClickOnce 部署,并且正在使用 Atalasoft DotTwain 8.0 作为第 3 方扫描仪助手。

当我发布我的应用程序时,我选择“任何 CPU”作为平台目标。当我尝试让它在 Windows 7 64 位家庭高级版上运行时,我的应用程序在安装后崩溃。

我尝试在特定的 x64 平台上重新发布该作品,但仍然失败。

关于我在这里做错了什么的任何想法?非常感谢~!

4

1 回答 1

7

选择“x86”,我敢打赌它会起作用;

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

因此,您需要一个未经过“ngen-ed”的 DotTwain 版本,CPU 引用也为“Any”,或者发布一个单独的 64 位版本,其中所有引用都绝对没有设置为“x86” ' (你想要 'any' 或 'x64')。

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

希望有帮助!

于 2010-07-20T06:38:37.987 回答