警告MSB3283:找不到类型库“MSComctlLib”的包装程序集。构建我的应用程序时

时间:2012-10-18 20:45:56

标签: visual-studio-2010 visual-studio windows-xp

我有一个已经存在多年的Visual Studio解决方案。该项目是一个Visual Studio 2010项目,我已经能够编译和运行该项目多年。此应用程序是一个关键应用程序,我很少需要启动项目并对已发现的错误修复程序进行微小更改。

今天,我需要做一些研究。我在旧的Windows XP开发盒上打开了这个项目,这个盒子和我多年来开发的机器一样。我非常有信心这台机器上没有任何变化,尽管IT推动我可能不知道的Windows Update的可能性很小。

我打开了我的项目,然后立即点击工具栏上的“运行”按钮。该应用程序将不再编译。它到达解决方案中的最后一个项目(7)并给我以下输出:

------ Build started: Project: QSApplication, Configuration: Debug Any CPU ------
c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1558,9): warning MSB3283: Cannot find wrapper assembly for type library "MSComctlLib".
========== Build: 7 succeeded or up-to-date, 1 failed, 0 skipped ==========

我很难过。我没有更改任何项目或构建设置,我怀疑这台机器上有什么重大变化。我找不到任何有用的查询这个错误,所以我不知道发生了什么。

有没有人看过这个或知道修复?

1 个答案:

答案 0 :(得分:10)

  

虽然IT推动Windows Update的可能性很小

它不小。今年有两个安全更新修补了mscomctl。也是关键的,没有IT部门会跳过它们。 MS12-027于4月发布,MS12-060于8月发布。特别是4月更新很重要,它改变了COM服务器的指南。这意味着互操作库(aka包装程序集)不再有效。

删除并重新添加要修复的依赖项。

请注意,跳过这些更新的客户可能会遇到一些问题。你真的应该考虑摆脱依赖。 mscomctl中没有任何内容可以包含在.NET框架中,所有VB6控件都有很好的替换。