「依存アセンブリmicrosoft.vc80.debugcrtが見つかりませんでした」というイベントエラーでデバッグビルドが爆発する理由を理解しようとしていました。
すべて(.cppまたは.h以外のもの)を削除してソリューションを再作成した後、まだ問題がありました。
Google 検索は役に立たず、VS を再インストールしても何の変化もありませんでした。
C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c に dll がありました。
\debug\.exe.intermediate.manifest ファイルを開くと、2 つの (dependentAssembly) エントリがありました: 1 つ目
:
name='Microsoft.VC80.DebugCRT' version='8.0.50608.0'
' バージョン ='8.0.50727.762'
1 つを削除して、もう 1 つを name='Microsoft.VC80.DebugCRT' version='8.0.50727.42' に変更すると、
開始するビルドを取得できます。
VS2008 をインストールしたことは確かですが、バージョンを制御しているのは何ですか? または、適切なデバッグ dll バージョンを「固定」する方法を教えてください。
VS2008 は、コントロール パネルからアンインストールされました。
編集: DebugCRT が検索された場合、レジストリに何も見つかりませんでした。
環境パスは VS8 フォルダを指しています。
c:\windows\winsxs\policies フォルダー
(8.0.50.727.42)には、DebugCRT フォルダーが 1 つしかありません
。 c:\windows\winsxs\manifests フォルダーには、.42 バージョンの .cat と .manifest しかありませ
ん(上記のマニフェスト フォルダー内) には version="8.0.50727.42" があります
明確化: マニフェスト ファイルには、.42 ではなく、それぞれ異なるバージョンの 2 つの "dependentAssembly" エントリがあります。1 つのエントリを削除し、もう一方のバージョンを .42 に一致するように変更して、デバッグ ビルドを開始することができます。
EDIT2:ブーストも使用しており、DLL内には.762バージョンがあります