Как создавать проекты .sqlproj с помощью инструмента "dotnet"?
Невозможно построить.Net .sqlproj с помощью инструмента командной строки dotnet. Вот ошибка:
dotnet\sdk\3.1.300\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" was not found
Я установил инструмент SSDT, но он недоступен в указанном выше месте.
Примечание: это здания без ошибок с использованием Visual Studio и MSBuild.
4 ответа
Как создавать проекты.sqlproj с помощью инструмента "dotnet"?
Извините, но насколько я знаю, этот сценарий пока не поддерживается. По замыслу dotnet cli не удается собрать проект базы данных с файлом проекта в стиле старой структуры.
Что касается причины, по которой он строит без каких-либо ошибок с использованием Visual Studio и MSBuild, но не работает с использованием dotnet. Проверьте путь установки SSDT, он должен находиться по путиC:\Program Files (x86)\Microsoft Visual Studio\2019\VSEditon\MSBuild\Microsoft\VisualStudio\v16.0\SSDT
.
В SSDT
устанавливается как подмодуль MSBuild(инструменты сборки VS) или MSBuild из VS, поэтому он хорошо работает при его сборке через VS/MSbuild. Ноdotnet cli
не будет знать, где найти этот модуль, который находится в подпапке папки MSBuild, поэтому выдает ошибку.
Однажды в github обсуждали это, но, на мой взгляд, функция поддержки сборки SQLProj через Dotnet не реализовалась. Если вас интересует эта функция, я предлагаю вам открыть там новый билет, чтобы опубликовать свою идею.
Был достигнут некоторый прогресс, выпущен предварительный просмотр https://github.com/microsoft/DacFx/tree/main/src/Microsoft.Build.Sql
<Sdk Name="Microsoft.Build.Sql" Version="0.1.3-preview" />
По состоянию на март 2020 года это теперь возможно с помощью пакета https://github.com/rr-wfm/MSBuild.Sdk.SqlProj.
Microsoft выпустила расширение проекта базы данных SQL (предварительная версия) для компиляции с помощью команды dotnet.
dotnet build "путь к файлу sqlproj" /p:NetCoreBuild=true /p:NETCoreTargetsPath="папка сборки DotNet Core"