2013年にVisual Studioでプロジェクトを作成しました。
プロジェクトファイルには次のプロパティがあります。
ToolsVersion = "12.0"、PlatformToolset = v120。
Visual Studio 2013とMicrosoft Build Tools 2015がインストールされています。このプロジェクトは、MSBuild 12.0を使用して正常にビルドされます。 MSBuild 14.0でビルドしようとするとエラーが発生します
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.
私が理解しているように、問題は変数VCTargetsPathが評価されないことです。ビルドの前に変数VCTargetsPathを指定すると(値C:\ Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V120で)、問題は解決します。
ただし、パスが異なる場合、このアプローチはあまり便利ではありません。問題をより最適な方法で何らかの方法で解決することは可能ですか?
レジストリキーとその値:
HKLM\Software\WOW6432Node\Microsoft\MSBuild\ToolsVersions\12.0\VCTargetsPath $([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\V120\'))
この問題を修正するには2時間かかりましたが、ようやく終了しました。
以下は私の問題を解決しました:
npm install --global --production windows-build-tools
。 npmがない場合は、インストールすることをお勧めします。そうしないと機能しません。C:\Program Files (x86)\MSBuild\14.0
)の所有権をadminではなくユーザーに変更します。 (プロパティ>セキュリティ>詳細)。次の手順で問題が解決しました。
npm install --global --production windows-build-tools
を実行しますnpm install --save nan
を実行しますVCTargetsPath
環境変数をC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140
に設定します最近Visual Studio 2017を再インストールしましたが、「npm Java」をインストールしようとしたときにこの問題が発生しました。私の修正は次のとおりです。
npm config set msvs_version 2017
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets
に設定します上記の答えが機能しない場合、別の考えられる解決策があります。
ビルドツールまたはVS 2015のインストールでさえうまくいきませんでした。そこで、管理者としてPowerShell経由で直接以下をインストールしてみました
https://chocolatey.org/packages/visualcpp-build-tools/14.0.25420.1 Command:choco install visualcpp-build-tools --version 14.0.25420.1
これをインストールしたら、環境変数VCTargetsPath = C:\ Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\v140を設定します
私はこれを解決しました:
VCTargetsPath
環境変数をC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140
に設定しますWindows 10用Visual Studio Express 2015をインストールすることで解決しました。
私はnpm installとVCTargetsPathを試しましたが、すべてうまくいきませんでした。 Visual Studioを最新バージョンにアップグレードした後、ようやく解決しました。