You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Cake构建含SQL项目的.NET Core 2.0解决方案遇MSB4019错误求助

问题原因分析与解决方案

这个错误的核心原因很明确:你用的DotNetCoreBuild任务是基于dotnet SDK自带的MSBuild来执行构建的,但dotnet SDK并不包含SQL Server Data Tools(SSDT)相关的构建目标文件——也就是报错里提到的Microsoft.Data.Tools.Schema.SqlTasks.targets。

这个目标文件是属于Visual Studio专属MSBuild工具链的,只存在于你VS安装目录下的MSBuild路径里(比如你手动执行成功的C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\msbuild.exe),而dotnet SDK自带的MSBuild(C:\Program Files\dotnet\sdk\2.1.4\下的版本)没有集成SSDT的构建支持,自然找不到这个依赖文件。

解决方法

把Cake脚本里的DotNetCoreBuild替换成直接调用VS的MSBuild工具,和你手动执行成功的逻辑保持一致。修改后的Build任务示例如下:

Task("Build")
    .IsDependentOn("RestoreNuGetPackages")
    .IsDependentOn("SetVersion")
    .Does(() => {
        Information("Running Visual Studio MSBuild");
        MSBuild("../MySolution.sln", new MSBuildSettings {
            Configuration = configuration,
            Loggers = new List<MSBuildLogger> {
                new MSBuildFileLogger {
                    LogFile = "MyProjectOutput.log",
                    Verbosity = MSBuildVerbosity.Diagnostic
                }
            }
        });
    });

这样就能成功构建包含SQL Server项目的解决方案了。

内容的提问来源于stack exchange,提问作者Ambuj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:29:26