Haruyuki Mohri

毛利春幸のブログです。

MSBuildToolsPath is not specified for the ToolsVersion "14.0" が出てビルドできない場合

ビルド時のエラー

DelphiまたはC ++プロジェクトをコンパイルしようとすると、次のエラーが発生します。

「MSBuildToolsPath is not specified for the ToolsVersion "14.0" defined at "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0", or the value specified evaluates to the empty string.」
「[致命的エラー] MSBuildToolsPath is not specified for the ToolsVersion "14.0" defined at "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0", or the value specified evaluates to the empty string.」

レジストリの値が正しく場合、上記エラーが発生する可能性があります。

regedit.exe で設定を変える

管理者モードでregedit.exeを起動します。

32bit OSの場合

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSBuildに移動

64bit OSの場合

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ MSBuildに移動

最初に、このレジストリキーをバックアップします。
次に、ToolsVersionsキーの下の数字を見てください。 MSBuildレベルで見つからない番号を削除します。

レジストリ内の不正な値の例を次に示します。
f:id:mojeld:20170626200730p:plain

ToolsVersionsの下には14.0が表示されますが、MSBuildレベルには表示されません。 これが問題です。

上記のレジストリキーが修正された後の例を次に示します。
f:id:mojeld:20170626200957p:plain

このレジストリキーの不均衡がVisual Studioのいくつかのバージョンをアンインストールすることによって引き起こされたことを示唆する逸話的な証拠がありますが、現時点では確認されていません。

support.embarcadero.com