当我运行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.
Run Code Online (Sandbox Code Playgroud)
修复已尝试
似乎没有正确设置MSBuildExtensionsPath32并且设置MSBuildExtensionsPath没有帮助
SET MSBuildExtensionsPath="C:\Program Files\MSBuild"
Run Code Online (Sandbox Code Playgroud)
如果您有任何想法阻止正确设置此变量,请告诉我.
小智 73
我在使用命令行工具发布cocos2d-x应用程序时遇到此问题,该工具调用MSBuild.我使用的是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
Run Code Online (Sandbox Code Playgroud)
Pet*_*ahn 50
对于那些没有遵守MS禁止命令的人(参见Xv的答案),你仍然可以解决问题.
MSBuild使用它VCTargetsPath
来定位默认的cpp属性但不能,因为注册表缺少此字符串值.
检查字符串值
HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0
VCTargetsPath
钥匙.值应该=" $(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
"修理
HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0
VCTargetsPath
$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
"注意:HKLM
代表HKEY_LOCAL_MACHINE
.
Luk*_*uke 27
我最近遇到了同样的问题,在以不同的顺序安装不同的软件包后,它变得非常混乱.然后我找到了这个回购 - https://github.com/felixrieseberg/windows-build-tools
npm install --global windows-build-tools
它安装了编译大多数节点模块所需的Python和VS Build工具.这是一种享受!
Chr*_*ong 13
这里有很多答案适用于Visual Studio的旧版本。如果使用Visual Studio 2017社区版本,对我有用的是设置一个名为的环境变量VCTargetsPath
并将其值赋予
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets
Run Code Online (Sandbox Code Playgroud)
如果使用Visual Studio 2019社区版本,
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160
Run Code Online (Sandbox Code Playgroud)
此处的其他答案将此变量设置为,c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140
但我在Visual Studio安装中注意到,MSBuild文件夹中没有名为Microsoft.Cpp的文件夹。因此,请记住这一点以及上述路径适用于Visual Studio 2017社区版本的事实。
此外,如果您使用的是Visual Studio 2017社区版本,请确保环境变量中的MSBuild路径指向正确的MSBuild版本,
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Visual Studio 2019社区版本,
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin
Run Code Online (Sandbox Code Playgroud)
xve*_*ges 12
安装Microsoft Visual C++ 2010 Service Pack 1 Windows SDK 7.1的编译器更新修复了MSB4019
我在Windows7 x64上构建的错误.
该更新的自述文件指出建议的顺序是
在64位系统上,MSBuild默认使用以下属性(其中C:是SystemDrive):
MSBuildExtensionsPath = C:\Program Files (x86)\MSBuild
MSBuildExtensionsPath32 = C:\Program Files (x86)\MSBuild
MSBuildExtensionsPath64 = C:\Program Files\MSBuild
Run Code Online (Sandbox Code Playgroud)
如果没有,则表示您安装了某些自定义第三方覆盖目标,或者您的MSBuild安装已损坏.
要尝试的事情:
MSBuildExtensionsPath
手动设置如上(注意x86
64位机器上的部件)MSBuild 是一个独立的构建工具,经常与其他工具捆绑在一起。它可能已通过 .NET(旧版本)、Visual Studio(新版本)甚至 Team Foundation Build 安装在您的计算机上。
MSBuild 需要与将使用它的 Visual Studio 或 TFS 的版本相匹配的配置文件、编译器等(工具集),以及将针对其编译源代码的 .NET 版本。
根据 MSBuild 的安装方式,配置文件可能位于这些路径中的一个或多个中。
如其他答案中所述,注册表项和/或环境变量必须指向 ToolSet 路径。
有时,像安装工具这样的操作会导致注册表和/或环境变量设置不正确。其他答案都是修复它们的变体。
我唯一要补充的是,当我离开尾随 \ 时,环境变量对我不起作用
我在Visual Studio 2015版上遇到了这个问题。当我使用cmake生成项目时,出现此错误。
错误MSB4019:找不到导入的项目“ D:\ Microsoft.Cpp.Default.props”
我通过添加字符串来修复它
VCTargetsPath
有价值
$(MSBuildExtensionsPath32)\ Microsoft.Cpp \ v4.0 \ V140
在注册表路径中
HKLM \ SOFTWARE \ Microsoft \ MSBuild \ ToolsVersions \ 14.0
编辑:这适用于旧版本的 Visual Studio / MSBuild(特别是 MSVC2015?)。在更现代的版本中,MSBuild 包含在 Visual Studio Build Tools 2019 中,编译器位于不同的位置并以不同的方式进行检测。
这是由于安装的 MSBuild 工具集和注册表设置不匹配造成的。如果您执行了以下一项或多项操作,则可能会发生这种情况:
据我所知,唯一安全可靠的解决方案是重新安装操作系统。如果您的项目需要多个版本的 Visual Studio 来构建,请先安装最旧的版本。然后修复您的代码,以便您可以使用一个工具来构建它,否则您或您的同事很快就会再次陷入同样的困境。
如果这不适合您,请首先阅读/sf/answers/2925061541/,以更好地了解问题以及各种“解决方案”的实际作用。然后,根据您的 Visual Studio 版本和设置,其他答案之一或它们的变体最终可能会有所帮助。
更多提示:
归档时间: |
|
查看次数: |
140718 次 |
最近记录: |