microsoft / microsoft/DacFx

Please update Microsoft.Data.Tools.Msbuild nuget package for legacy-sqlproj that want to leverage newer DacFx versions

Open
#778 2 comments 2 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
460
Forks
29
Avg merge
4d 9h
Merged PRs (30d)
7

Description

Without VS 2026 tooling for new SDK-style sqlproj and VS 2022 tooling still being preview and incompatible with legacy SSDT, I am left with having to maintain some legacy old-sqlproj projects.

I want to be able to built those deterministically (same DacFx version) both locally and on buildserver, and also enforce some lock-step versioning with sqlpackage.

Unfortunately, research efforts so far have been rather unfruitful:

[Microsoft.Data.Tools.Msbuild](https://www.nuget.org/packages/Microsoft.Data.Tools.Msbuild/16.0.62004.28040#dependencies-body-tab) looked promising but it hasn't been updated since 2020, and I'd like to get into the new DacFx/sqlpackage versions 162+

[Alter DacFx used by SQL Server Data Tools (SSDT)](https://learn.microsoft.com/en-us/sql/ssdt/alter-dacfx-used-by-ssdt?view=sql-server-ver17) doc says that it's possible to replace some of the DLLs in the SSDT installation for VS 2022 with the ones from the DacFx nuget but that sounds very fragile and not easily to replicate across other devs's environments + build servers.

My least painful possible option seems to be to pin a version of DacFx (similar to the Microsoft.Data.Tools.Msbuild old way) in a tools folder in the repo and maybe leverage the SQLDBExtensionsRefPath env variable/msbuild property as described in answers under [this SO question](https://stackoverflow.com/questions/46899252/headless-install-of-sql-server-data-tools-ssdt-for-visual-studio-2017). But even here I am a bit unsure I can replicate reliably the packaging just from DacFx's nuget as close to as the deprecated Microsoft.Data.Tools.Msbuild.

I'd much rather have an official nuget version package targeting 162+/170+ versions. Is there by any chance a successor of Microsoft.Data.Tools.Msbuild that I am unaware of? If not can you please consider providing one or at least semi-officially document the steps needed to produce it from existing packages by hand.

Contributor guide

Open the contributing guide

Research direction

Start by comparing the Microsoft.Data.Tools.Msbuild NuGet package and its dependencies with current DacFx packages targeting versions 162+ or 170+. Then investigate the SQLDBExtensionsRefPath environment variable and MSBuild property described in the linked Stack Overflow discussion. Done means either an official successor package exists or the repository documents reproducible packaging steps for legacy sqlproj builds.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, sql
Domain
build-system, databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.