3

在调用XmlSerializer对象的Serialize方法时,这是InvalidOperationException用于启动进程的环境块的长度不能超过65535字节

异常的完整信息是: “用来启动一个进程环境块的长度不能超过65535个字节您的环境块为85754个字节删除一些环境变量,然后再试一次。”

这发生在.NET 4.0应用程序中的Windows 7机器上,它试图序列化一个实现了IXmlSerializable的对象。实际的对象是无关的,因为它发生在许多不同的对象上,复杂而简单,但没有任何特定的东西。这也是不可复制的,并且在互联网上没有太多关于这个特定(非常具体)的错误信息的信息。

  1. 有没有人知道为什么会发生这种情况,你的机器需要在什么状态才能重现这一点?
  2. 什么适当的步骤是(手动或编程)来纠正客户机上的问题。

在此先感谢您的任何建议或解决方案,这是我第一次见到这种情况,并且我还没有在StackOverflow上找到答案的次数之一。

+2

错误消息表明机器的环境变量有问题。 “删除一些环境变量,然后再试一次”这个特定的Windows 7盒子有什么特别之处? – Jason

+0

我明白错误信息,但我不确定机器如何或为什么进入这种类型的状态。由于客户端报告错误,所以我无法分辨实际的机器或配置。我在等待更多的信息,但我想我会在此期间询问是否有人知道更多信息。 – BrutalDev

+0

这可能是某种机器损坏或您的应用运行的机器处于不良状态。特别是如果应用程序与其他人使用同一台计算机在共享主机环境中运行。 – Jason

回答

0

环境块是存储环境变量的地方。在运行构建之前,让客户端检查环境变量。如果它不是一个大的列表,那么可能会将环境变量作为构建过程的一部分生成。像Jenkins或Bamboo这样的构建系统倾向于生成环境变量,因此在构建过程中进行检查将是确定问题的最佳方法。

如果您能够捕获错误并输出环境(通过在CMD或Powershell中运行“env”),它可能会导致进一步的洞察,并允许客户端将其环境释放。

相关问题