Share via


Releasing SSDT with Visual Studio “15” Preview 4 and introducing SSDT MSBuild NuGet package

VisualStudioIcon

Today marks the release of Visual Studio “15” Preview 4. The SQL Server Data Tools team is happy to announce support for the relational database set of SQL tools – SQL Projects, Schema Compare, Data Compare, and SQL Server Object Explorer - in this Visual Studio release.

This release includes a great number of new feature innovations and improvements across the Visual Studio suite. We would like to point out two new features relevant to SSDT users:

  • The Data Storage and Processing workload shipped with the new Visual Studio installer
  • The new SSDT MSBuild NuGet package, which makes setting up CI/CD of SQL Projects a breeze

 

Data Storage and Processing in Visual Studio “15”

The new Visual Studio installer is designed to:

  • Reduce the minimum footprint of Visual Studio.
  • Install more quickly with less system impact, and uninstall cleanly.
  • Make it easier for you to select and install just the features you need.

When you first install Visual Studio Preview 4, you'll see the new experience:

VSInstaller

Instead of needing a 6GB+ install of Visual Studio to get the full functionality of SQL Server Data Tools, you can simply select and install just the  “Data storage and processing” workload. This workload is only 934 MB. We're eager for you to try this out and looking forward to receiving your feedback.

 

Simplified CI/CD with the SSDT MSBuild NuGet package: NuGetIcon MsbuildNuGet

We are very pleased to announce the release of Microsoft.Data.Tools.Msbuild  NuGet package. This packages contains the minimum set of components including DAC Framework, SSDT build targets and sqlpackage.exe. You will no longer need a full installation of Visual Studio to build and deploy your database projects. All you need are the Microsoft MSBuild tools and Microsoft.Data.Tools.Msbuild NuGet package installed on your build agent.

Here are the key benefits:

  • Super lightweight installation
  • Easy update of the SSDT MSBuild package on your machine – just use the standard NuGet update processes
  • Isolated build process makes it easy to maintain. There are no globally shared dependencies with any GAC’d (Global Assembly Cache) components

How to use and install the MSBuild package

.NET Framework 4.6 is required to install the MSBuild package. You can use the Microsoft.Data.Tools.Msbuild package with any version of MSBuild, from version 14.0 update 3 up to the latest 15.0 version (installed with Visual Studio “15”).

  • Note: to try out the latest MSBuild 15.0 on your build agent, the best way right now is to install the core Visual Studio with no workloads installed – it is extremely quick and easy to set up.

For instructions on how to configure your machine, please refer to this post: Part 5. Use your own Build and Deployment Agent.

Comments

  • Anonymous
    August 23, 2016
    The comment has been removed
    • Anonymous
      August 23, 2016
      The comment has been removed
  • Anonymous
    August 23, 2016
    No BI support?
    • Anonymous
      August 24, 2016
      Hi Kevin, the BI tools have never shipped inside Visual Studio so they won't go out with the Preview releases. We are looking into the feasibility of shipping BI support via an updated SSDTSetup installer at the time Visual Studio "15" goes RTW or earlier, but we don't have any firm dates on this yet. We will keep you updated on the blog, so stay tuned.Thanks,Kevin
      • Anonymous
        September 02, 2016
        While you are working on the BI support, will there also be MSBuild support for SSIS/SSRS/SSAS projects?
  • Anonymous
    August 26, 2016
    Despite the claim that "You can use the Microsoft.Data.Tools.Msbuild package with any version of MSBuild, from version 12.0 up to the latest 15.0 version", I get an error when using the package and trying to specify a publish profile:var profile = DacProfile.Load("Database.publish.xml");Fails with the following error:{"Could not load file or assembly 'Microsoft.Build, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.":"Microsoft.Build, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}Any ideas what I can try to appease it?
    • Anonymous
      August 26, 2016
      Sorry, forgot to mention that this is fantastic, and I can't wait to get it working with Kudu as part of my Azure deployments. Thanks so much!
      • Anonymous
        August 29, 2016
        Hi Nick, thank you for your response and trying our NuGet package. I have verified this with msbuild team. Unfortunately, this package will work with Msbuild 14.0 update 3 up to the latest 15.0 version. You can install msbuild 14.0 from https://www.microsoft.com/en-us/download/details.aspx?id=48159. I have verified that this msbuild is working fine with our package. I am apologized for the confusion. I have updated this blog with the correct msbuild requirement.
  • Anonymous
    September 05, 2016
    It's great to see that building SSDT is available via NuGet. I've had a quick look through but I reckon you'll be able to answer this one quickly: do we have to add master/msdb as dacpacs as part of ourcheck-in? I only ask because I don't see them in the dacpac, and they are installed as part of full fat SSDT?
    • Anonymous
      September 07, 2016
      Hi RichieYes, you have to add master.dacpac /msdb.dacpac as part of your check-in. They are not included in this NuGet package
    • Anonymous
      September 20, 2016
      We're working to also get a nuget with these and script to update references in a sqlproj file. Will also look to have easy override for this in our next major release.
  • Anonymous
    September 07, 2016
    Is this required to also be able to build SSRS projects (*.rptproj) on a build server? We are currently using TeamCity and actually have a full version of Visual Studio 2015 on our build server with SSDT installed, and it still says *.rptproj files are not supported via MSBuild. We are using Visual Studio as the build runner (not MSBuild), so I'm not sure if this is not supported or am curious of this new package would resolve our issue? I have done a lot of research and there don't seem to be many articles about SSDT/SSRS on a CI using VS2015, and I had asked on StackOverflow (http://stackoverflow.com/questions/39371766/how-to-build-ssrs-reports-rptproj-with-teamcity-and-visual-studio-2015) to no avail. One of the primary reasons we need to do this is because we have our projects set to target SQL 2008, which requires us to get the build output from compiling the projects since the RDL files in the project itself contain the tooling schema version (SQL 2016). We can build the solution just fine by opening the solution manually on the server, we're just stuck and not sure how to proceed.
    • Anonymous
      September 07, 2016
      Hi David, this NuGet package is only for building sqlproj. I will pass your question/request to SSRS team.
      • Anonymous
        September 09, 2016
        Hi David,You are correct, .rptproj files do not support MSBuild. You can review the blog link below for how to build\deploy using devenv.exe.http://blogs.objectsharp.com/post/2011/04/04/Build-a-Reporting-Services-Solution-with-MSBuild-40.aspxYou can file an http://connect.Microsoft.com item to request this feature be added in a future release. It will go directly to the product team.
  • Anonymous
    September 13, 2016
    Hello,There are several items on connect (active and already closed) related to providing msbuild support for ssis/ssrs/ssas since 2012:https://connect.microsoft.com/SQLServer/feedback/details/759940/ssis-support-msbuild-as-a-mechanism-for-deploying-ssis-ispac-fileshttps://connect.microsoft.com/SQLServer/feedback/details/759938/ssrs-support-msbuild-as-a-mechanism-for-deploying-ssrs-reportshttps://connect.microsoft.com/SQLServer/feedback/details/759939/ssas-support-msbuild-as-a-mechanism-for-deploying-ssas-cubes-modelsWith database projects being able to be build through msbuild, what is the current state and plans for ssis/ssrs/ssas based projects?
  • Anonymous
    November 30, 2016
    Hello, I am trying to use MSBuild nuget package on our CI server to build and deploy sqlproj without full Visual Studio installed.But I've encounter strange error during build of sqlproj: The "SqlBuildTask" task failed unexpectedly. =>System.MissingMethodException: Method not found: '!!0[] System.Array.Empty()'.As you can see some code try to use method Array.Empty() which is part of .Net 4.6, but on CI server installed .Net 4.5.1. and its failing. But the strange thing is our solution all projects target framework is .Net 4.5 and no references to .Net 4.6 libs.On CI environment I installed latest nuget package "Microsoft.Data.Tools.Msbuild", set environment variables for SSDTPath and SQLDBExtensionsRefPath.Calling msbuild(Build tools 2015) like this: msbuild.exe projectname.sqlproj /t:buildIf I call the same but using visual studio ssdt path instead of nuget package everything builds fine.Would be appreciated for any input regarding this issue.
    • Anonymous
      March 28, 2017
      Oleg, I had the same issue on my build server with 4.5.2 installed targeting a 4.0 executable. I believe the nuget package was built on a system suffering from msbuild issue #173 GAC Resolution fallback introduces unexpected bugs (https://github.com/Microsoft/msbuild/issues/173) and therefore the SqlBuildTask from the Microsoft.Data.Tools.Msbuild nuget package won't run on your build server unless .NET Framework 4.6 is installed.
      • Anonymous
        March 28, 2017
        Thanks Andrew! I will update the requirement of the nuget package
  • Anonymous
    May 29, 2017
    Can we please get an updated version of the NuGet package that contains v17 of DacFx?
    • Anonymous
      August 04, 2017
      +1