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

RLH*_*RLH 4 windows-xp visual-studio-2010 visual-studio

我有一个已经存在多年的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 ==========
Run Code Online (Sandbox Code Playgroud)

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

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

Han*_*ant 12

尽管IT推动Windows Update的可能性很小

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

删除并重新添加依赖项以进行修复.

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