错误 MSB4019 - MSBUILD 正在寻找不存在版本的导入

error MSB4019 - MSBUILD looking for imports for non-existing version

当我尝试使用 MSBUILD 构建我的 SSDT 项目时,出现以下错误

error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" was not found

但是,在我的...\MSBuild\Microsoft\VisualStudio 文件夹中,我只有 V12.0、V14.0 和 V15.0。 SSDT 仅在 V14.0.

如何确保 MSBuild 在正确的位置查找包含?

看起来 .Net 4.0 msbuild.exe 用错了。

问题已通过使用来自 msbuild 文件夹而不是 .Net 文件夹的 msbuild.exe 解决。

%ProgramFiles(x86)%\msbuild.0\Bin

如果代码是 cordova,试试这个:

Microsoft.VisualStudio.WJProject.Default.props cannot be found. error MSB4019

输入platform/windows/cordova/lib,用记事本打开msbuildtools,编辑这部分:

var versions = ['15.0', '14.0', '12.0', '4.0'];

你有你的版本。

例如将两个函数中的15和14去掉

var versions = ['12.0', '4.0'];

并删除此行中的 || versions[2] || versions[3]

var msbuildTools = versions[0] || versions[1] || versions[2] || versions[3];
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;
        });
    });
}