"未找到导入的项目Microsoft.Data.Tools.Schema.SqlTask​​s.targets"自Visual Studio升级以来

时间:2017-08-23 10:17:12

标签: visual-studio visual-studio-2017 sql-server-data-tools

我刚刚将Visual Studio从2017年升级到2017.3。现在,当我尝试构建时,我的数据库项目出现了这个错误:

  

错误:导入的项目" C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ Microsoft \ VisualStudio \ v15.3 \ SSDT \ Microsoft.Data.Tools.Schema.SqlTask​​s .targets"没找到。另外,试图找到" Microsoft \ VisualStudio \ v15.3 \ SSDT \ Microsoft.Data.Tools.Schema.SqlTask​​s.targets"在$(MSBuildExtensionsPath) - " C:\ Program Files(x86)\ MSBuild"的后备搜索路径中。这些搜索路径在" C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ MSBuild.exe.Config"中定义。确认声明中的路径是正确的,并且该文件存在于其中一个搜索路径的磁盘上。 C:\用户\伊恩\文件\马斯洛\马斯洛\数据库\ Database.sqlproj

请注意,此路径包含v15.3。这些文件可用,但文件夹名为v15.0。

如果我编辑Database.sqlproj,它包含以下行:

<SSDTExists Condition="Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets')">True</SSDTExists>

请注意$(VisualStudioVersion)变量的用户。

我可以硬编码到15.0,但是对于使用不同版本的Visual Studio的人来说它会破坏。如何以不会为其他用户创建新问题的方式解决此问题?

2 个答案:

答案 0 :(得分:2)

除了v​​15.4之外,我遇到了同样的问题。硬编码$(VisualStudioVersion)来匹配我的文件夹(15.0)解决了错误,但暴露了一大堆其他错误甚至更加深奥,我仍然无法构建。

在我的情况下,我碰巧也在运行ReSharper Build引擎而不是Visual Studio构建引擎。一旦我禁用了ReSharper Build引擎,我就可以获得干净的构建。 (菜单 - &gt; ReSharper-&gt;选项 - 工具类别,构建 - 常规。)我正在运行ReSharper版本2017.1

编辑:刚刚在ReSharper论坛上发现这篇文章: https://resharper-support.jetbrains.com/hc/en-us/community/posts/115000610044-Build-fails-but-only-under-Resharper-Build

一个用户的解决方案是重新安装VisualStudio,它修正了ReSharper Build引擎正在使用的路径。 (显然,当VS升级时,它就会失控。)

答案 1 :(得分:0)

我无法在Visual Studio 2017中完全使用它,并且无法找到Visual Studio 2017.2或更早版本的安装程序。

因此我正在使用Visual Studio 2015。

可能相关的错误报告:https://github.com/Microsoft/msbuild/issues/2369