完整错误日志:
C:\Users\user\Development\Tutorials\cordova-tutorial\hello\platforms\windows\CordovaApp.Windows.jsproj(70,3): error MSB4019: The imported project "C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v14.0\Microsoft.VisualStudio..Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
Error: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe: Command failed with exit code 1
在从Cordova官方网站上做Create your first app教程时,在构建helloworld应用程序时,我收到了上面发布的错误。
我正在从命令行构建cordova项目并使用Visual C++ 2015 Build Tools和Windows 10 SDK - 而不是使用内置工具的Visual Studio。 为什么?因为我当前项目的一部分,是准备用于使用Cordova构建Windows 10 UAP应用程序的开发环境,而无需安装Visual Studio。
这里的任何人在没有安装Visual Studio工具的情况下构建Cordova Windows项目时会遇到相同或类似的问题吗?
为什么我需要这样做才能解决这个问题?
答案 0 :(得分:1)
这里的任何人在没有安装Visual Studio工具的情况下构建Cordova Windows项目时会遇到相同或类似的问题吗?
据我所知,丢失的目标文件与Visual Studio一起安装,而不是MSBuild Tools。
我创建了一个空白的win10环境(测试机器)并安装了两个MSBuild工具也是Windows 10 SDK,我遇到了你遇到的问题,找不到Microsoft.VisualStudio.WJProject.Default.props
。
然后我检查了我的原始机器(安装了Visual Studio 2015),包含正确目标文件的文件夹(C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ JavaScript)创建于与安装Visual Studio的日期相同。
所以Visual Studio安装了我们没有安装的东西。我试图将MSBuild文件夹从我的原始机器复制到测试机器,错误MSB4019已经解决,但是我又遇到了另一个错误:
C:\ Program Files (86)\的MSBuild \微软\ VisualStudio的\ v14.0 \ JavaScript的\ Microsof t.VisualStudio.JavaScript.UAP.targets(82,3):错误:“10.0.14393.0” 不是TargetPlatformVersion支持的值。请改变它 在Project Prop erty页面上。
在搜索Internet之后,TargetPlatformVersion与Windows SDK版本相关,然后我将值更改为项目文件中的Windows SDK版本,但此错误仍然存在。
显然,构建Cordova Windows项目的最简单的方法是安装Visual Studio。如果你想让它在没有Visual Studio的情况下工作,有时需要做很多工作。您需要安装正确的Windows / .NET Platform SDK。您可以并排安装多个这些SDK。您可能需要安装更多SDK才能使您的应用程序进行编译。这些的下载都假设您还安装了Visual Studio,但是它们的许多有效负载也可以单独安装。这可能会变得很麻烦。
希望这可以帮到你。
答案 1 :(得分:0)
&#34;找不到Microsoft.VisualStudio.WJProject.Default.props。 错误MSB4019
进入平台/ windows / cordova / lib,用记事本打开msbuildtools并编辑此部分: 很简单,你将编辑&#34; var版本= [&#39; 15.0&#39;,&#39; 14.0&#39;,&#39; 12.0&#39;,& #39; 4.0&#39;];&#34;与你的版本一起。
例如,将删除两个函数中的15和14 var versions = [&#39; 12.0&#39;,&#39; 4.0&#39;];
并删除&#34; ||版本[2] ||版本[3]&#34;在这一行 var msbuildTools = versions [0] ||版本[1] ||版本[2] ||版本[3];
&#34;
module.exports.findAvailableVersion = function () {
var versions = ['15.0', '14.0', '12.0', '4.0'];
return Q.all(versions.map(checkMSBuildVersion)).then(function (versions) {
// select first msbuild version available, and resolve promise with it
var msbuildTools = versions[0] || versions[1] || versions[2] || versions[3];
return msbuildTools ? Q.resolve(msbuildTools) : Q.reject('MSBuild tools not found');
});
};
function findAllAvailableVersionsFallBack() {
var versions = ['15.0', '14.0', '12.0', '4.0'];
events.emit('verbose', 'Searching for available MSBuild versions...');
return Q.all(versions.map(checkMSBuildVersion)).then(function(unprocessedResults) {
return unprocessedResults.filter(function(item) {
return !!item;
});
});
} "