Delen via


Een databaseproject maken vanaf de opdrachtregel

Belangrijk

Azure Data Studio wordt op 28 februari 2026buiten gebruik gesteld. U wordt aangeraden Visual Studio Codete gebruiken. Ga naar Wat gebeurt er met Azure Data Studio voor meer informatie over migreren naar Visual Studio Code?

Hoewel de SQL Database Project-extensie een grafische gebruikersinterface biedt voor het bouwen van een databaseproject, is er ook een opdrachtregel-build-ervaring beschikbaar voor Windows-, macOS- en Linux-omgevingen. De stappen voor het bouwen van een project vanaf de opdrachtregel verschillen tussen SQL-projecten in SDK-stijl en de vorige niet-SDK-stijl SQL-projectindeling. Dit artikel bevat een overzicht van de vereisten en syntaxis die nodig zijn om een dacpac te bouwen vanuit een SQL-project op de opdrachtregel voor beide SQL-projecttypen.

SQL-projecten in SDK-stijl (preview)

Het gebruik van Microsoft.Build.Sql met SQL-projecten in DE SDK-stijl is de voorkeursmethode voor het werken met SQL-projecten vanaf de opdrachtregel.

Gebruik de volgende opdracht om een SQL-project in SDK-stijl te bouwen vanaf de opdrachtregel in Windows, macOS of Linux:

dotnet build /p:NetCoreBuild=true

Notitie

De SQL-projecten in SDK-stijl zijn momenteel beschikbaar als preview-versie.

SQL-projecten zonder SDK-stijl

In de volgende sectie wordt een work-around beschreven voor het werken met SQL-projecten zonder SDK-stijl vanaf de opdrachtregel in Windows, macOS en Linux.

Vereisten

  1. Installeer de SQL Database Projects-extensie en configureer deze.

  2. De volgende .NET Core-dll's en het doelbestand Microsoft.Data.Tools.Schema.SqlTasks.targets zijn vereist voor het bouwen van een SQL-databaseproject vanaf de opdrachtregel vanaf alle platforms die worden ondersteund door de Azure Data Studio-extensie voor SQL Database Projects. Deze bestanden worden gemaakt door de extensie tijdens de eerste build voltooid in de Azure Data Studio-interface en geplaatst in de map van de extensie onder BuildDirectory. Deze bestanden worden bijvoorbeeld in ~\.azuredatastudio\extensions\microsoft.sql-database-projects-x.x.x\BuildDirectory\Linux geplaatst. Kopieer deze 11 bestanden naar een nieuwe en toegankelijke map of noteer hun locatie. Deze locatie wordt in dit document genoemd DotNet Core build folder .

    • 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
  3. Als het project is gemaakt in Azure Data Studio, gaat u verder met het bouwen van het project vanaf de opdrachtregel. Als het project is gemaakt in SQL Server Data Tools (SSDT), opent u het project in de Azure Data Studio SQL Database-projectextensie. Als u het project opent in Azure Data Studio, wordt het sqlproj bestand automatisch bijgewerkt met drie bewerkingen, vermeld voor uw informatie:

    1. Importvoorwaarden
    <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"/>
    
    1. Pakketreferentie
    <ItemGroup>
        <PackageReference Condition="'$(NetCoreBuild)' == 'true'" Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All"/>
    </ItemGroup>
    
    1. Schoon doel, nodig voor het ondersteunen van dubbele bewerking in SQL Server Data Tools (SSDT) en Azure Data Studio
    <Target Name="AfterClean">
        <Delete Files="$(BaseIntermediateOutputPath)\project.assets.json"/>
    </Target>
    

Het project bouwen vanaf de opdrachtregel

Gebruik in de volledige .NET-map de volgende opdracht:

dotnet build "<sqlproj file path>" /p:NetCoreBuild=true /p:NETCoreTargetsPath="<DotNet Core build folder>"

Bijvoorbeeld vanuit /usr/share/dotnet Linux:

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"  

Volgende stappen