生成基于.NET Framework 3.5 的应用程序具有多个程序集和引用时,Visual Basic 编译器 (Vbc.exe) 可能使用 CPU 资源的 100%


症状


请考虑以下情形:
  • 您在调试模式下生成 Microsoft.NET Framework 3.5 基于的应用程序。例如,在基于.NET Framework 3.5 的 Web 应用程序的 Web.config 文件,设置调试选项,如下所示︰
    debug="true"
  • 作为编程语言中使用 Microsoft Visual Basic 2008年。
  • 应用程序依赖于多个程序集和引用。
在这种情况下,Visual Basic 编译器 (Vbc.exe) 可能会使用 100%的 CPU 资源。此外,您可能会收到类似于以下内容的错误消息︰
对象 ' / 32eba493_7a69_40af_bfe6_52887ab07396/jdkqqpvt_pufe5n+ogossdnv_258.rem 已断开连接或不在服务器上存在。

原因


因为 CPU 计算大量的调试数据,生成的应用程序在调试模式下时,则可能发生此问题。调试数据量的计算取决于项目的大小和引用的数目。在某些情况下,多次调试数据计算。

解决方案


修补程序信息

受支持的修补程序现已从 Microsoft 推出。但是,它被用于纠正本文中描述的问题。它仅应用于正经历此特定问题的系统。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修复程序的下一个 service pack。

要立即解决此问题,请联系 Microsoft 客户支持服务,以获取此修复程序。Microsoft 客户支持服务的电话号码以及有关支持费用的信息的完整列表,请访问下面的 Microsoft 网站:注意:在特殊情况下,如果 Microsoft 支持专业人员确定某个特定的更新能够解决您的问题,可能取消的通常情况下收取的电话支持服务费用。照常收取支持费用将应用于其他支持问题和对于特定更新无法解决的问题。
注意:安装此修复程序后,CPU 计算一次只能调试数据。此更改将编译器的工作量降至最低,并解决"症状"一节中提到的问题。要彻底解决问题,建议您还下面的 Microsoft 知识库文章中安装提供了 Visual Basic 2008年修补程序︰
951708生成一个 Visual Basic 2008年应用程序中有很多的程序集和引用时,Visual Basic 编译器 (VBC.exe) 可能会使用 CPU 资源的 100%

系统必备组件

若要应用此修补程序,您必须安装.NET Framework 3.5。

重启要求

应用此修补程序后,不需要重新启动计算机。

修补程序替换信息

此修补程序不替换任何其他修补程序。

文件信息

此修复程序的英文版具有的文件属性 (或更新的文件属性)在下表中列出。日期和为这些文件的时间以协调世界时 (UTC) 列出。当您查看文件信息时,它将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用控制面板中的日期和时间项中的时区选项卡。
文件名称文件版本文件大小日期时间平台
Vbc.exe9.0.21022.1131,710,58403-Jun-200806:50x86
Vbc.exe9.0.21022.1132,346,48803-Jun-200807:02x64
Vbc.exe9.0.21022.1134,620,28003-Jun-200807:02IA-64

解决方法


若要变通解决此问题,请使用下列方法之一。

方法 1

建立在发布模式下应用。

方法 2

如果您正在构建一个 Web 应用程序,调试将选项设置,如下所示的 Web.config 文件中︰
debug="false"

状态


Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

详细信息


有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
用于描述 Microsoft 软件更新的标准术语的824684说明