當我運行的MSBuild建立一個VC2010項目中,我得到以下錯誤:爲什麼MSBuild在C: for Microsoft.Cpp.Default.props而不是c: Program Files(x86) MSBuild中查找? (錯誤MSB4019)
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:\程序文件(x86)的\的MSBuild
- HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ MSBuild \ ToolVersions \ V4.0 VCTargetsPath設置爲$(MSBuildExtensionsPath32)\ Microsoft.Cpp \ v4.0 \
- 當運行msbuild/verbosity:diag as good system shows MSBuildExtensionsPath32,MSBuildExtensionsPath64,MSBuildExtensionsPath設置爲Environment at開始建立
- 設置MSBuildExtensionsPath32,MSBuildExtensionsPath64,MSBuildExtensionsPath設置爲shell環境變量不會導致他們的環境展示在構建開始
修復嘗試
- 卸載.NET 4.5 ,修復.net 4.0
- 在系統變量中設置MSBuildExtensionsPath32,MSBuildExtensionsPath64,MSBuildExtensionsPath。
看來,MSBuildExtensionsPath32沒有被正確設置和設置MSBuildExtensionsPath不利於
SET MSBuildExtensionsPath="C:\Program Files\MSBuild"
請讓我知道,如果你有什麼阻止該變量的正確設置任何想法。
由於
彼得
註冊表條目已經在我身邊。我必須定義一個環境變量,將該名稱設置爲註冊表中的值,以便通過該環境變量:爲我設置VCTargetsPath = c:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0' – elmotec
只用這個集合'VCTargetsPath = c:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ v120' – ygaradon
建立[eventstore](https://github.com/eventstore/eventstore),這個答案幫助但不完全。原來該項目構建了使用ToolsVersion 12.0的兒童項目。我通過在HKLM \ SOFTWARE \ Microsoft \ MSBuild \ ToolsVersions \ 12.0'中設置另一個字符串值「VCTargetsPath」來解決這個問題。 – Plato