Sestavení databázového projektu z příkazového řádku
I když rozšíření projektu SQL Database poskytuje grafické uživatelské rozhraní pro sestavení databázového projektu, prostředí sestavení příkazového řádku je k dispozici také pro prostředí Windows, macOS a Linux. Postup sestavení projektu z příkazového řádku se liší mezi projekty SQL ve stylu sady SDK a předchozím formátem projektu SQL ve stylu sady SDK. Tento článek popisuje požadavky a syntaxi potřebné k sestavení dacpac z projektu SQL na příkazovém řádku pro oba typy projektů SQL.
Projekty SQL ve stylu sady SDK (Preview)
Použití Microsoft.Build.Sql s projekty SQL ve stylu sady SDK je upřednostňovanou metodou pro práci s projekty SQL z příkazového řádku.
Pokud chcete vytvořit projekt SQL ve stylu sady SDK z příkazového řádku ve Windows, macOS nebo Linuxu, použijte následující příkaz:
dotnet build /p:NetCoreBuild=true
Poznámka:
Projekty SQL ve stylu sady SDK jsou aktuálně ve verzi Preview.
Projekty SQL bez sady SDK
Následující část popisuje alternativní řešení pro práci s projekty SQL ve stylu sady SDK z příkazového řádku ve Windows, macOS a Linuxu.
Požadavky
Nainstalujte a nakonfigurujte rozšíření PROJEKTŮ SLUŽBY SQL Database.
K sestavení projektu databáze SQL z příkazového řádku ze všech platforem podporovaných rozšířením azure Data Studio pro projekty SQL Database jsou potřeba následující knihovny DLL .NET Core a cílový soubor
Microsoft.Data.Tools.Schema.SqlTasks.targets
. Tyto soubory jsou vytvořeny příponou během prvního sestavení dokončeného v rozhraní Azure Data Studio a umístěny do složky rozšíření v částiBuildDirectory
. Například v Linuxu jsou tyto soubory umístěny v~\.azuredatastudio\extensions\microsoft.sql-database-projects-x.x.x\BuildDirectory\
. Zkopírujte tyto 11 soubory do nové a přístupné složky nebo si poznamenejte jejich umístění. Toto umístění se označuje jakoDotNet Core build folder
v tomto dokumentu.- Microsoft.Data.SqlClient.dll
- Microsoft.Data.Tools.Schema.Sql.dll
- Microsoft.Data.Tools.Schema.SqlTasks.targets
- Microsoft.Data.Tools.Schema.Tasks.Sql.dll
- Microsoft.Data.Tools.Utilities.dll
- Microsoft.SqlServer.Dac.dll
- Microsoft.SqlServer.Dac.Extensions.dll
- Microsoft.SqlServer.TransactSql.ScriptDom.dll
- Microsoft.SqlServer.Types.dll
- System.ComponentModel.Composition.dll
- System.IO.Packaging.dll
Pokud byl projekt vytvořen v nástroji Azure Data Studio, přeskočte k sestavení projektu z příkazového řádku. Pokud byl projekt vytvořen v SQL Server Data Tools (SSDT), otevřete projekt v rozšíření projektu Azure Data Studio SQL Database. Otevření projektu v Nástroji Azure Data Studio automaticky aktualizuje
sqlproj
soubor třemi úpravami, které jsou uvedené pro vaše informace:- Podmínky importu
<Import Condition="'$(NetCoreBuild)' == 'true'" Project="$(NETCoreTargetsPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets"/> <Import Condition="'$(NetCoreBuild)' != 'true' AND '$(SQLDBExtensionsRefPath)' != ''" Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets"/> <Import Condition="'$(NetCoreBuild)' != 'true' AND '$(SQLDBExtensionsRefPath)' == ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets"/>
- Referenční informace k balíčku
<ItemGroup> <PackageReference Condition="'$(NetCoreBuild)' == 'true'" Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All"/> </ItemGroup>
- Čistý cíl, nezbytný pro podporu duálních úprav v SQL Server Data Tools (SSDT) a Azure Data Studio
<Target Name="AfterClean"> <Delete Files="$(BaseIntermediateOutputPath)\project.assets.json"/> </Target>
Sestavení projektu z příkazového řádku
Z úplné složky .NET použijte následující příkaz:
dotnet build "<sqlproj file path>" /p:NetCoreBuild=true /p:NETCoreTargetsPath="<DotNet Core build folder>"
Například z /usr/share/dotnet
Linuxu:
dotnet build "/home/myuser/Documents/DatabaseProject1/DatabaseProject1.sqlproj" /p:NetCoreBuild=true /p:NETCoreTargetsPath="/home/myuser/.azuredatastudio/extensions/microsoft.sql-database-projects-x.x.x/BuildDirectory"