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
Installeer de SQL Database Projects-extensie en configureer deze.
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 onderBuildDirectory
. 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 genoemdDotNet 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
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:- 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"/>
- Pakketreferentie
<ItemGroup> <PackageReference Condition="'$(NetCoreBuild)' == 'true'" Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All"/> </ItemGroup>
- 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"