Asp.net core Can´;t使用数据库项目构建.net核心项目。错误MSB4019

Asp.net core Can´;t使用数据库项目构建.net核心项目。错误MSB4019,asp.net-core,visual-studio-2017,database-project,Asp.net Core,Visual Studio 2017,Database Project,我有一个新的.net Core 2.0 Web API项目(在Visual Studio 2017版本15.3.5中),如果我添加一个新的数据库项目,我将无法构建解决方案 错误MSB4019:未找到导入的项目“C:\Program Files\dotnet\sdk\2.0.0\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets”。确认声明中的路径正确,并且文件存在于磁盘上 我尝试过各种解决办

我有一个新的.net Core 2.0 Web API项目(在Visual Studio 2017版本15.3.5中),如果我添加一个新的数据库项目,我将无法构建解决方案

错误MSB4019:未找到导入的项目“C:\Program Files\dotnet\sdk\2.0.0\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets”。确认声明中的路径正确,并且文件存在于磁盘上

我尝试过各种解决办法

  • 安装了Visual Studio安装程序中缺少的几乎所有内容
  • 已安装Visual Studio生成工具2017
  • 修复的Visual Studio
  • 运气不好,我试图在C:\上找到Microsoft.Data.Tools.Schema.SqlTasks.targets文件,并在项目文件中添加对它的引用(然后我不知道在VSTS中构建解决方案时这是否有效)
那么,为什么我可以在一个普通的API项目中添加一个数据库项目,而在一个.net核心项目中,一切都可以正常工作呢

数据库项目不能与.net Core一起使用吗?我已经搜索了这方面的信息,但很抱歉,我就是找不到


我不知道该怎么办。希望有人能帮忙。

好的,我在电脑上找到了Microsoft.Data.Tools.Schema.SqlTasks.targets文件

然后我需要卸载项目并编辑它

我换了这行

True
到我的文件的硬编码路径

True
现在它建立在我的计算机和VST上


但我不知道为什么会这样。

在Azure DevOps CI/CD管道上以及在VS代码上本地构建SQL Server项目时,我遇到了完全相同的问题。在Azure DevOps上,任何预构建的构建任务都不适合我,在本地,我只能在Visual Studio上编译SQL Server项目,这很烦人。您的解决方案对我不起作用,在按照您的建议执行后,我将得到一个与第一个错误相关的
.dll
缺失错误

我通过避免向解决方案中添加SQL Server项目来解决这个问题

我通过使用能够从SQL脚本集生成SQL Server数据层应用程序包(
.dacpac
)的。通过将第二个项目添加到解决方案中,我成功地继续利用了通过VisualStudio上的SQLServer对象资源管理器将项目链接到实时数据库的优势。我在本文中对我的实现做了更详细的解释

<SSDTExists Condition="Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets')">True</SSDTExists>
<SSDTExists Condition="Exists('C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets')">True</SSDTExists>