0

我有一个部署在多台 Windows7 32 位机器上的程序。它在所有这些上都完美运行。

我刚刚将它安装在 Windows7 64 位机器上,现在它在执行 cryptStream.FlushFinalBlock() 后立即崩溃,并出现以下错误:

程序“[2972] Billing.vshost.exe: Managed (v2.0.50727)”已退出,代码为 -1073740940 (0xc0000374)。

我还尝试在我目前安装的唯一其他操作系统 Vista 64bit 上运行它,但我遇到了完全相同的问题。这是在 try 块内,但没有被捕获。它只是立即失败。CryptoStream 和 64 位操作系统是否存在已知的兼容性问题,或者这可能是其他问题?关于如何解决它的任何想法?

4

2 回答 2

3

我讨厌回答我自己的问题,但也许它会在未来帮助别人。

如果您要解密的位数组为空,则在运行 FlushFinalBlock() 时它将在 64 位操作系统上崩溃。

来源:http ://connect.microsoft.com/VisualStudio/feedback/details/330926/cryptostream-flushfinalblock-fatal-on-64-bit-os-if-bytearray-is-null

他们说它已经关闭并在框架的未来版本中更新,但我在 VS2010 上并且仍然得到它。

于 2010-12-28T21:13:27.353 回答
0

我在使用框架 2 时遇到了同样的问题。

.NET 运行时版本 2.0.50727.5472 - 致命的执行引擎错误 (000007FEF99C5756) (80131506)

我将我的项目升级到框架 4,它也解决了这个问题。

于 2014-03-11T12:46:52.717 回答