MSBuildがc:\ Program Files(x86)\ MSBuildではなくC:\でMicrosoft.Cpp.Default.propsを探すのはなぜですか?(エラーMSB4019)


124

msbuildを実行してvc2010プロジェクトをビルドすると、次のエラーが発生します。

error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found. 
Confirm that the path in the <Import> declaration is correct, and that the file exists 
on disk.
  • msbuildはc:\ Program File(x86)\ MSBuildにあります
  • HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ MSBuild \ ToolVersions \ V4.0 VCTargetsPath set to $(MSBuildExtensionsPath32)\ Microsoft.Cpp \ v4.0 \
  • msbuild / verbosity:diagを実行すると、ビルドの開始時に環境として設定されたMSBuildExtensionsPath32、MSBuildExtensionsPath64、MSBuildExtensionsPathがシステムとして表示される
  • シェルで環境変数として設定されたMSBuildExtensionsPath32、MSBuildExtensionsPath64、MSBuildExtensionsPathを設定しても、ビルドの開始時にそれらが環境として表示されない

試行された修正

  • .net 4.5をアンインストールし、.net 4.0を修復
  • システム変数にMSBuildExtensionsPath32、MSBuildExtensionsPath64、MSBuildExtensionsPathを設定します。

MSBuildExtensionsPath32が正しく設定されておらず、MSBuildExtensionsPathを設定しても効果がないようです

SET MSBuildExtensionsPath="C:\Program Files\MSBuild"

この変数の適切な設定を妨げているものが何かあれば、私に知らせてください。


6
すごい!Visual Studioのインストールが破損し、数百の回避策があり、それぞれがいくつかのシナリオでしか機能しないというエラーに関する別の質問...
Florian Winter

回答:


75

MSBuildを呼び出すコマンドラインツールを使用してcocos2d-xアプリケーションを公開すると、この問題が発生しました。Win 7 64ビット、VS2013 Express、cocos2d-xバージョン3.3、.NET Framework 4.5をインストールして使用しています。

cocos.py publishコマンドを実行する前に以下を設定することで問題を修正しました:

SET VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120

これは、oracledbノードパッケージのインストールに役立ちました。community.oracle.com/docs/DOC-931127の指示に従いましたが、それでもエラーMSB4019が発生しました。この回答で修正しました。
ペドロ・オテロ

1
PowerShellのバージョン:[Environment]::SetEnvironmentVariable("VCTargetsPath", "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140", "Machine")
フィアット

'v4.0'で終了するパスを支援
Alexander

50

MSの禁止された命令(Xvの回答を参照)に従わなかった場合でも、問題を解決できます。

MSBuildはVCTargetsPathデフォルトのcppプロパティを見つけるためにを使用しますが、レジストリにこの文字列値がないためにできません。

文字列値を確認する

  • regeditを起動します
  • ナビゲーター HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0
  • VCTargetsPathキーを検査します。値は「$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\」でなければなりません

修正するには

  • regeditナビゲーターを起動します HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0
  • 文字列値を追加 VCTargetsPath
  • 値を " $(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\"に設定

注:HKLMはの略ですHKEY_LOCAL_MACHINE


12
レジストリエントリは既に存在していました。その名前をレジストリ内の値に設定して環境変数を定義する必要がありました:set VCTargetsPath=c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0
elmotec

12
私にとっては、このセットでのみ機能しますVCTargetsPath=c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v120
ygaradon

1
@ CMM-ユーザーHKLMの略HKEY_LOCAL_MACHINEあなたは間違いなくregeditでそれを持っている必要があります
マイケル・ジョンストン

4
VCTargetsPathはキーではなく、文字列値です!
John Smith、

5
私にとっては今だったset VCTargetsPath=c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140
ダニエル・グレイ

26

私は最近同じ問題を抱えていて、異なるパッケージを異なる順序でインストールした後、それは非常に厄介になりました。次に、このリポジトリを見つけました-https ://github.com/felixrieseberg/windows-build-tools

npm install --global windows-build-tools

ほとんどのノードモジュールのコンパイルに必要なPythonおよびVSビルドツールをインストールします。それは御馳走を働いた!


1
良いことですが、残念ながらAzureでは機能しません。
Aleksey Kontsevich 2017

6
私のような問題を抱えている可能性がある人のために。--productionオプションが必要でした。 npm install --global --production windows-build-tools node-gypのインストール手順に従い
eliotRosewater

15

Windows 10上のVisual Studio 2017および2019の場合

ここでの回答の多くは、古いバージョンのVisual Studioに適用されます。Visual Studio 2017 Communityバージョンを使用している場合、私に有効だったのは、呼び出される環境変数を設定し、VCTargetsPathそれに値を与えることでした。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets

Visual Studio 2019 Communityバージョンを使用している場合、

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160

ここでの他の答えは、この変数をに設定しましたc:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140が、Visual Studioのインストールで、MSBuildフォルダーにMicrosoft.Cppというフォルダーがないことに気付きました。このことと、上記のパスがVisual Studio 2017のコミュニティバージョン用であることを忘れないでください。

また、Visual Studio 2017 Communityバージョンを使用している場合は、環境変数のMSBuildパスが正しいバージョンのMSBuildを指していることを確認してください。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin

Visual Studio 2019 Communityバージョンを使用している場合、

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin

1
私の場合、VCTargetPathはC:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ BuildTools \ Common7 \ IDE \ VC \ VCTargets
Madura Pradeep

1
それは、Microsoft Visual Studio\2019\BuildToolsまたは同様のバリエーションである可能性もあります。BuildToolsやCommunityの代わりに、ProfessionalとEnterpriseを使用することもできます。vswhere.exe -products * -property installationPathすべての組み合わせを検索し、インストールされているすべての製品の場所を返します。
MSalters

1
'vswhere.exe' is not recognized as an internal or external command, operable program or batch file.
Andrew Koster

13

Windows SDK 7.1用のMicrosoft Visual C ++ 2010 Service Pack 1 Compiler UpdateをインストールMSB4019すると、Windows7 x64でビルドしていたエラーが修正されました。

その更新のREADMEには、推奨される順序は

  1. Visual Studio 2010
  2. Windows SDK 7.1
  3. Visual Studio 2010 SP1
  4. Windows SDK 7.1用のVisual C ++ 2010 SP1コンパイラー更新

ああ。私はこれに対する修正を見つけました。不足しているレジストリキーを追加します。私はそれを投稿し、この順序に従うようにセットアップドキュメントを更新します
Peter Kahn

6

64ビットシステムでは、MSBuildのデフォルトは次のプロパティです(C:はSystemDriveです)。

MSBuildExtensionsPath = C:\Program Files (x86)\MSBuild
MSBuildExtensionsPath32 = C:\Program Files (x86)\MSBuild
MSBuildExtensionsPath64 = C:\Program Files\MSBuild

そうでない場合は、カスタムのサードパーティのオーバーライドターゲットがインストールされているか、MSBuildインストールが破損していることを意味します。

試すこと:

  • .NETインストールを修復する
  • 最新のVisual Studio Service Packを適用する
  • MSBuildExtensionsPath上記のように手動で設定します(x8664ビットマシンの部分に注意してください)

2
ありがとうございます。ただし、これらはまだ設定されていません。1).net 4.5を修復し、2).net 4.5をアンインストールして4.0を修復します。環境に手動で設定しても機能しません
Peter Kahn

5

Visual Studio 2015エディションでこの問題が発生しました。cmakeを使用してプロジェクトを生成すると、このエラーが表示されました。

エラーMSB4019:インポートされたプロジェクト "D:\ Microsoft.Cpp.Default.props"が見つかりませんでした

文字列を追加して修正しました

VCTargetsPath

価値あり

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

レジストリパス

HKLM \ SOFTWARE \ Microsoft \ MSBuild \ ToolsVersions \ 14.0


これをやりました。その後cmdを再起動しましたが、問題は解決していません。
Dan

4

MSBuildは、他のツールと頻繁にバンドルされる独立したビルドツールです。.NET(古いバージョン)、Visual Studio(新しいバージョン)、またはTeam Foundationビルドがインストールされているコンピューターにインストールされている可能性があります。

MSBuildには、それを使用するVisual StudioまたはTFSのバージョン、およびソースコードがコンパイルされる.NETのバージョンと一致する構成ファイル、コンパイラーなど(ツールセット)が必要です。

MSBuildのインストール方法によっては、構成ファイルがこれらのパスの1つ以上にある場合があります。

  • C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \
  • C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V120 \
  • C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V140 \

他の回答で説明されているように、レジストリアイテムや環境変数ポイントはToolSetパスを指している必要があります。

  • HKLM \ SOFTWARE \ Microsoft \ MSBuild \ ToolsVersions \ 4.0の下のVCTargetsPathキー
  • VCTargetsPath環境変数。

ツールをインストールするような操作を行うと、レジストリや環境変数が正しく設定されないことがあります。他の答えはそれらを修正するためのすべてのバリエーションです。

追加する必要があるのは、末尾の\を省略したときに環境変数が機能しなかったことだけです。


この!VS2017を完全にインストールしていないため、ビルドエージェントに問題がありました。個々のコンポーネントではなく、特定のVCツールセットを使用して「ワークロード」を再インストールしましたが、正しくインストールされました。カスタムコンポーネントの選択のインストール中に、Visual Studioインストーラーが適切なツールセットv141をVS2017の下に配置しなかったと考えられます。
Lars Pellarin

私にとって、これはそれを修正するのに役立ちました-私が使用していたスクリプトは、間違ったmsbuild.exeを「助けて」見つけて、それを明示的に呼び出していました。
Scovetta

4

MSBuildキーのレジストリエントリは、私には問題なく機能しました。実行するMSBuildのバージョンに応じて、64ビットまたは32ビットのブランチで実行する必要があることを覚えておくことが重要です。MSBuildの異なるバージョンで問題が発生する可能性があるため、環境変数の使用はお勧めしません。

このレジストリファイルは、どちらの場合も修正します。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSBuild\ToolsVersions\14.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath12"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath12)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"
"VCTargetsPath14"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath14)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSBuild\ToolsVersions\14.0\10.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSBuild\ToolsVersions\14.0\11.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSBuild\ToolsVersions\14.0\12.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath12"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath12)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSBuild\ToolsVersions\14.0\14.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath12"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath12)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"
"VCTargetsPath14"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath14)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath12"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath12)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"
"VCTargetsPath14"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath14)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0\10.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0\11.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0\12.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath12"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath12)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0\14.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath12"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath12)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"
"VCTargetsPath14"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath14)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"


3

編集:これは、Visual Studio / MSBuildの古いバージョン(特にMSVC2015?)に適用されます。より新しいバージョンでは、MSBuildはVisual Studio Build Tools 2019に含まれており、コンパイラーはさまざまな場所に配置され、さまざまな方法で検出されます。

これは、インストールされているMSBuildツールセットとレジストリ設定の不一致が原因です。次のいずれかを行った場合に発生する可能性があります。

  • 複数のVisual Studioバージョンを間違った順序でインストールする
  • Visual Studioの1つ以上のバージョンをアンインストールする
  • レジストリの変更またはVisual Studioインストールの変更を手動で行う

安全で信頼できる唯一の解決策は、OSを再インストールすることです。プロジェクトをビルドするために複数のバージョンのVisual Studioが必要な場合は、最初に最も古いバージョンをインストールします。次に、コードを修正して、単一のツールを使用してコードをビルドできるようにします。そうしないと、間もなくあなたや同僚が同じ混乱に陥ります。

これが選択肢にならない場合は、まずhttps://stackoverflow.com/a/41786593/2279059を読んで、問題と、さまざまな「解決策」が実際に行うことの理解を深めてください。次に、Visual Studioのバージョンとセットアップに応じて、他の回答またはそれらのバリエーションのいずれかが最終的に役立つことがあります。

さらにいくつかのヒント:


2

Windows SDK 7.1用のMicrosoft Visual C ++ 2010 Service Pack 1 Compiler Updateをインストールすると、うまくいきました。ただし、VS 2010およびVS 2010 SP1が既にインストールされているため、更新で問題が発生しました。上記のXvで述べた ように、readme.htmファイルには、「既知の問題」セクションのインストールに関する最も一般的な問題の解決策が含まれています。一部のインストールではレジストリに書き込みが行われるため、トラブルシューティングを試みるたびに、readme.htmの指示に従ってマシンを再起動します。


2

私の場合、VCTargetPathパスを持つ環境変数を追加しました

「C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ VC \ VCTargets \」

(プロジェクトソリューションファイルには「Microsoft cppターゲット」ファイルへの参照があるため、末尾の「\」は重要です。

また、Visual Studio 2017から、MSBUILDがVisual Studioに組み込まれているため、次のPATH variableように更新する必要があります。

C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin

VCTargetPathMSBUILDのPATH変数を更新してビルドすると、エラーが修正されました。


0

見つかったMSBuild.exeファイルのC:\ Windows \ Microsoft.NETフォルダーを再帰的に探索した後、MSPATHにMSBuildを配置するビルドスクリプトを作成して、このエラーに遭遇しました。最後に見つかったヒットは、パスに置かれたディレクトリでした。パスに64ビットMSBuildの1つを配置した後、dirコマンドがFramework64フォルダーにヒットするためFramework。私はVisual Studio 2010ソリューションを構築しようとして、32ビットのMSBuild.exeで終了C:\Windows\Microsoft.NETするC:\Windows\Microsoft.NET\Frameworkように、検索文字列をからに変更してしまいました。これで私のソリューションファイルがビルドされます。



0

記録のために、ファイルMicrosoft.Cpp.Default.propsはenv var VCTargetsPathを変更し、そのvarの後続の使用法を誤ったものにする可能性があります。私はその問題を抱えていて、と同じ値に設定VCTargetsPath10VCTargetsPath11て解決しましたVCTargetsPath

これは、使用しているVSバージョンに応じて調整する必要があります。


0

これはVS2017環境で見られます。私のビルドスクリプトはVsDevCmd.bat最初に呼び出し、この問題を解決するために、MSBuildを呼び出す前後にVCTargetsPath環境変数を設定しますVsDevCmd

set VCTargetsPath=%VCIDEInstallDir%VCTargets

0

上記のVS2017 / 2019に関するChris Gongの回答に追加します(まだコメント権限がありません)。

完全なVisual StudioではなくVS 2019 Build Toolsがインストールされている場合、ファイルパスは少し異なります。VCTargetsPathは

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\

最後のバックスラッシュにも注意してください-少なくとも私の場合は必須です(TFS2017、VS2019ビルドツール)。PATHエントリへの対応する変更も。


0

MSBuild for VS 17でも同じ問題に直面していました

私は次の手順を適用してこれを解決しました:

  • 私の場合、Microsoft.Cpp.Default.propsファイルはにあるC:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets のでVCTragetsPath、レジストリの下HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0に値を含む 文字列を作成しました C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets

  • また、Jenkinsを管理ユーザーとして実行しました

これで私の問題は解決しました。


0

固定パスを設定する代わりに、まずビルド後のコマンドラインでこれを試してください:

SET VCTargetsPath=$(VCTargetsPath)

変数 '$(VCTargetsPath)'は、c#-sdk-projectsにはマクロとして表示されていませんが、引き続き利用できるc ++関連のvisual-studio-macroのようです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.