web-dev-qa-db-ja.com

MSBuildに「VCTargetsPath」プロパティの値が含まれていません

最近Visual Studio 11 Developer Previewをインストールして試してみましたが、VS 2010プロジェクトが開きません。代わりに、次のエラーメッセージが表示されます。

MSBuildに「VCTargetsPath」プロパティの値が含まれていません

私は問題を報告した誰かを見つけました ここで接続 、そしてマイクロソフトからの応答は次のとおりでした:

マイクロソフトが2011年12月2日午後5時25分に投稿
こんにちは、アフシン、

フィードバックをお寄せいただきありがとうございます。遭遇した問題は、Visual Studioの次のパブリックリリースで修正されています。

ジム・グリースマー
Visual C++チーム

素晴らしい。では、VCTargetsPathを復元して、プロジェクトが再び機能するようにするにはどうすればよいですか?

「VCTargetsPathは、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0で定義されているツールセットプロパティです。」

レジストリのVCTargetPath値を参照しましたが、次の値があります。

$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\

ここからどこへ行くかわからない。助言がありますか?

55
superstatic

Gavin Pughが提供した解決策で問題を解決できるのは理にかなっていますが、私は試してはいませんでした。 VS11のDeveloper Previewをアンインストールした後、私もこの問題に遭遇しました。私は本当に何が悪いのか知っていると思います。

ムラデン・ヤンコビッチは正しい軌道に乗っていた。次の2つの(必要な)レジストリキーのいずれかがマシンにありません。

  • _HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0_
    • キー名:VCTargetsPath
    • タイプ:_REG_SZ_
    • 値:$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
  • _HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\4.0_
    • キー名:VCTargetsPath
    • タイプ:_REG_SZ_
    • 値:$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\

(Windowsで次のように入力してレジストリキーを編集できます。 enter image description here+ R + regedit + Enter)

私にとっては、上に挙げた2番目の値が欠落していました。追加した後、プロジェクトで再び作業することができました。

76

これが私にとってだまされたものです:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0にあるDefaultToolsVersionという名前のレジストリ値を2.0から4.0に変更します。 Wow6432Nodeでも同じことを行います。

6

Google検索でここにいる人のために:

以前にVS 2015またはvs2010以降のvs以降のバージョンをインストールしてからアンインストールした場合、こちらが解決策です。

以下のエラーメッセージ:

プロパティ式「$([MSBuild] :: ValueOrDefault( '$(VCTargetsPath)'、 '$(MSBuildExtensionsPath32)\ Microsoft.Cpp\v4.0\V140 \'))」を評価できません

14.0はVS2015のバージョン番号です。残念ながら、VS2015/2012アンインストーラーはレジストリキーの1つを忘れてしまい、VS2010に戻ったときにそのエラーが発生します。

開始/実行/正規表現に移動>

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0を探します(12.0も同様)

そして

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\14.0(12.0も同様)

ここにキー14.0/12.0がある場合、deleteそれで、VS2010が再び機能することを期待しています。

4
Syam S

「Mladen Jankovic」が提案したレジストリ編集方法は、私にとってはうまくいきませんでした。

Visual Studio 2010で修復を実行しました(VS2010インストールディスクでsetup.exeを実行するか、[コントロールパネル]-> [プログラム]から「アンインストール」を呼び出します)。それは私のためにトリックをしました。

また、SP1インストールを再度実行する必要があります。

価値のあることについては、この後、「アドイン」(Incredibuildを含む)は問題なく動作しました。再インストールまたは修復する必要はありませんでした。私の設定/ウィンドウ/デバッガーの配置も保持されました。

どうやらこの問題は、VS11の開発者プレビューをアンインストールした場合にのみ発生します。 http://www.gamefromscratch.com/post/2011/12/15/Do-not-remove-Visual-Studio-2011-developer -preview!.aspx

4
Gavin Pugh

うーん、ついにこれに対する答えが見つかりましたが、偶然にも同じエラーメッセージが表示されませんでした。

エラーMSB4019:インポートされたプロジェクト「C:\ Microsoft.Cpp.Default.props」が見つかりませんでした。宣言内のパスが正しいこと、およびファイルがディスク上に存在することを確認してください。

何らかの理由で、32ビットビルドでは正常に機能しましたが、64ビットビルドでは機能しませんでした。

とにかく、解決策はすべてのVCTargetPath*からのキーHKLM\SOFTWARE\Wow6432Node\Microsoft\MSBuild ToolsVersions\14.0からHKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0。彼らは私のために行方不明でした。

実際にコピーしたのはVCTargetsPathVCTargestPath14コピーは非常に面倒なので。 VC++ 2015には十分であるようです。

1
Timmmm

VS 2010 SP1を使用している場合は、コントロールパネル|プログラムのアンインストールに移動し、VS 2010 SP1をアンインストール/変更して、SP1の再適用を選択します。それは私のために働いた。

0
Nick

私はこれと同じ問題を抱えていて、ツールセットタグがプロジェクトノードに設定されていないことがわかりました

ツールのバージョンを設定することで解決しました

0
mameen

C++ Visual Studioビルドツールをインストールせずにc ++プロジェクトをビルドしようとしたときにここに到着しました。私の解決策は、Visual Studio Build Toolsインストーラーを ダウンロードページ 「Tools for Visual Studio 2017」タブからダウンロードし、「Visual C++ビルドツール」と「.NETデスクトップビルドツール」でインストーラーを実行することでした。 」オプション。

0
Jthorpe

C:\ Windows\SysWOW64\regedit.exeを使用してHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\3.5に移動し、バージョン3.5のフォルダーにはdefaulttoolsversionに2.0がリストされていたため、3.5に変更しました。

0
Ross Meldrum