cryptoStream.FlushFinalBlock()在64位操作系统上杀死我的程序

时间:2010-12-28 20:56:26

标签: .net vb.net cryptostream

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

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

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

我也尝试在我目前安装的唯一其他操作系统Vista 64bit上运行它,但我得到了完全相同的问题。这是一个尝试块,但没有任何东西被抓住。它立即失败了。 CryptoStream和64位操作系统是否存在已知的兼容性问题,或者这可能是其他问题?关于如何排除故障的任何想法?

2 个答案:

答案 0 :(得分:3)

我讨厌回答我自己的问题,但也许将来会帮助其他人。

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

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

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

答案 1 :(得分:0)

我在框架2中遇到了同样的问题。

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

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