5

私は何年も前から存在しているVisualStudioソリューションを持っています。このプロジェクトはVisualStudio2010プロジェクトであり、私は何年にもわたってプロジェクトをコンパイルして実行することができました。このアプリケーションは重要なアプリケーションであり、プロジェクトを起動して、発見されたバグ修正に小さな変更を加える必要があることはめったにありません。

今日、私は少し研究をする必要がありました。私は、長年開発してきたのと同じマシンである古いWindowsXP開発ボックスでプロジェクトを開きました。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 ==========

私は困惑しています。私はプロジェクトやビルドの設定を変更していません。このマシンで大きな変更があったかどうかは疑わしいです。このエラーを照会するのに役立つものが見つからないため、何が起こっているのかわかりません。

誰かがこれを見たか、修正を知っていますか?

4

1 に答える 1

14

ITがWindowsUpdateをプッシュした可能性はわずかですが

小さくはありません。今年mscomctlにパッチを当てた2つのセキュリティアップデートがありました。重要なものも、IT部門がそれらをスキップすることはありません。 MS12-027は4月にリリースされ、MS12-060は8月にリリースされました。特に4月の更新は重要であり、COMサーバーのGUIDが変更されました。これは、相互運用ライブラリ(別名ラッパーアセンブリ)が無効になったことを意味します。

修正する依存関係を削除して再度追加します。

これらの更新をスキップする顧客に問題が発生する可能性があることに注意してください。あなたは本当に依存関係を取り除くことを検討する必要があります。mscomctlには、.NET Frameworkで適切にラップされていないものはなく、すべてのVB6コントロールに適切な代替手段があります。

于 2012-10-22T18:09:05.143 に答える