.png)
私は、最新の更新プログラムを適用した Windows 7 SP1 で、SP5 にアップデートされた Visual Studio 2012 Professional を使用しています。しばらくの間、Visual Studio 2015 が必要でしたが、標準のアンインストーラーを使用してインストールしてからアンインストールしました。
しかし、今日は Windows 用の Webkit をビルドする必要があり、そのビルド スクリプトが実行されvswhere.exe
、Visual Studio 2015 の一部が「動作する」インストールとして検出されたため、VS2015 の「完全な」アンインストールが必要でした。これは次の場所で見つけました。https://github.com/Microsoft/VisualStudioUninstaller一度実行したところ、vswhere.exe
出力から VS2015 が消えました。
しかし、今、問題が発生しています。VS2012 でコンパイルしようとするすべてのアプリで、「cl.exe がコード -1073741701 で異常終了しました」というメッセージが表示されます。
私は試した :
- SP5 の有無にかかわらず、VS2012 を複数回再インストールしました (クリーン再インストール (メインをアンインストールし、依存関係をアンインストールして再度インストール))。それでも、同じエラーが発生します。
- VS2012 を修復しようとしました。
- 実行しようとする
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cl.exe
と、「mspdb110.dll が見つかりません」と表示されます。 Msobj110.dll
、 を から コピーし 、 PATH に追加しました 。それでも同じエラーが発生しますMspdb110.dll
。Mspdbcore.dll
Mspdbsrv.exe
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE
プロジェクト プラットフォームを x64 に切り替えると、問題なくコンパイルおよび実行されます。x86 コンパイラのみ実行できず、上記のエラーが発生します。VS2012 では、「cl.exe はコード 0xc000007b を実行できません」というポップアップが表示されることがあります。
を実行すると 、動作する 32 ビット アプリを実行してコンパイルすることもC:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat x86
できますが、Visual Studio 2012 IDE 内では、何をしても毎回実行に失敗します。cl.exe
cl.exe
修正するのを手伝ってください。
おそらく、フォルダー内の .NET Framework (4.5、4.6、4.7 がインストールされています) に関係していると思いますMSBuild
。何らかの方法で .NET Framework SDK を再インストールする必要があるのでしょうか? 可能であれば、OS の再インストールは避けたいです。
編集: 懸賞金を始めました。まだ同じ問題があります。
「ビルド前に実行...」スクリプトにパラメータなしで実行を挿入しようとしましたcl.exe
が、そこから実行されます。しかし、その後、IDE はcl.exe
.NET 環境から実行され、次の結果が表示されます。
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(347,5): エラー MSB6006: 「CL.exe」が終了しました。エラー コード -1073741701
x64 プラットフォームを選択した場合、cl.exe
どこでも問題なく実行されます。 を実行するとvcvarsall.bat x86
、実行してコンパイルできますcl.exe
。
修正する必要があるのは、Visual Studio 2012 IDE からの Win32 x86 ビルドに使用される環境内のパスだけです。.NET Framework または Visual Studio を再インストールするか (とにかく試しました)、MSBuild 構成の一部を編集することができます。修正可能な箇所を教えてください。唯一できないのは OS の再インストールです。ソフトウェアがたくさんあるため、再インストールには非常に時間がかかります。
更新: .NET Framework 4.5、4.6、4.7、Microsoft SQL Server 2008、2012 を含むすべてをアンインストールしようとしました。次に、Visual Studio 2012 Professional RTM をインストールしました。インストール後、最初の実行でテスト アプリを開くと、上記と同じエラーが発生しました... x64 バージョンは動作します。SP5 をインストールした後も同じです。
更新2: 動作中の Windows 7 SP1 仮想マシン インストールから Visual Studio 2012 および Windows SDK と msbuild のファイルを取得しようとしました。エラーは修正されず、同じ問題です。また、cl.exe をダミーの 32 ビット アプリに置き換えようとしましたが、IDE からビルドを実行するたびに 0xc000007b が発生します。IDE から実行すると、Visual Studio は 64 ビット DLL を含む cl.exe 32 ビットを使用するようです。しかし、その見つけ方と修正方法がわかりません。
答え1
複数の Visual Studio バージョンがインストールされている場合に 1 つのバージョンをアンインストールすると、アンインストールするバージョンが多くなりすぎるというリスクがあります。Visual Studio バージョンは並行してインストールできますが、共通のコンポーネントが使用される場合があります。
どうやらこれがあなたに起こったことのようです。DLL をコピーして PATH を変更してこの問題を解決しようとした努力は、混乱をさらに増大させただけです。現在、PATH やその他の環境変数が、vcvarsall.bat
リセットを実行しない限り、32 ビット DLL と 64 ビット DLL の混同を引き起こしていると考えられます。
状況をさらに改善するためのアイデアをさらに提案すべきではないと思います。それは問題を悪化させ、将来に時限爆弾を残すだけになる可能性があるからです。
これは、私が考えられる限り、Visual Studio と .Net をクリーン インストールする最も近い方法です。
- Visual Studio 2012 Professionalをクリーンアンインストールするには Revo アンインストーラー フリーウェア
- コントロールパネル > プログラムと機能、およびWindowsの機能の有効化または無効化から、アンインストールできるすべての.Netバージョンをアンインストールします。
- すべてのフォルダとレジストリを手動で、または次のようなクリーナーを実行して削除します。 CCleaner
- .Net のバージョンを再インストールし、その数を最小限に抑えます (通常は最新バージョンのみが必要です)
- Visual Studio 2012 Professional をインストールし、SP5 に更新します。
成功を保証することはできませんが、これが本当にクリーンなインストールを実現し、Windows の再インストールを回避する方法です。
万が一に備えて、システムディスクのイメージをバックアップしておき、元に戻せるようにしておくことをお勧めします。 AOMEI バックアップ スタンダード。
答え2
VS2015でも同じ問題が発生しました。私の場合は、プロジェクトフォルダから次のファイルを削除すると問題が解決しました。
\.vs\myProjectName\v14\.suo
\myProjectName.VC.db
\x64 (the whole x64 build output folder if there is one)