我刚刚将Visual Studio从2017年升级到2017.3。现在,当我尝试构建时,我的数据库项目出现了这个错误:
错误:导入的项目" C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ Microsoft \ VisualStudio \ v15.3 \ SSDT \ Microsoft.Data.Tools.Schema.SqlTasks .targets"没找到。另外,试图找到" Microsoft \ VisualStudio \ v15.3 \ SSDT \ Microsoft.Data.Tools.Schema.SqlTasks.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的人来说它会破坏。如何以不会为其他用户创建新问题的方式解决此问题?
答案 0 :(得分:2)
除了v15.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。