Conversation
... this was less satisfying than I expected it'd be
…o give it a special place.
There was a problem hiding this comment.
Pull request overview
This PR removes the remaining legacy netfx/netcore split-project infrastructure and related build/packaging targets, and updates test/tool projects to use the unified repo layout and default bin/obj outputs.
Changes:
- Deletes obsolete MSBuild targets/props used by the historical netfx/netcore split (contract/not-supported/doc-trim/package-gen, etc.).
- Updates test and tool
.csprojfiles to reference dependencies via$(RepoRoot)and to use default output/intermediate paths. - Simplifies
build.proj/OneBranch Roslyn-analyzer integration by removing legacy/default target assumptions.
Reviewed changes
Copilot reviewed 29 out of 29 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/targets/TrimDocsForIntelliSense.targets | Removed obsolete XML doc trimming target. |
| tools/targets/ResolveContract.targets | Removed legacy contract-resolution target. |
| tools/targets/NotSupported.targets | Removed legacy “platform not supported” assembly generation target. |
| tools/targets/GenerateMdsPackage.targets | Removed legacy nuspec-based MDS package generation target. |
| tools/props/Tools.props | Removed unused tool-related props file. |
| tools/GenAPI/Directory.Build.props | Removed GenAPI-local Directory.Build.props shim. |
| src/Microsoft.Data.SqlClient/tests/UnitTests/Microsoft.Data.SqlClient.UnitTests.csproj | Updates project references to use $(RepoRoot) paths. |
| src/Microsoft.Data.SqlClient/tests/tools/TDS/TDS/TDS.csproj | Simplifies to single TargetFramework and default output paths. |
| src/Microsoft.Data.SqlClient/tests/tools/TDS/TDS.Servers/TDS.Servers.csproj | Updates project references to $(RepoRoot) paths and simplifies TFM/output settings. |
| src/Microsoft.Data.SqlClient/tests/tools/TDS/TDS.EndPoint/TDS.EndPoint.csproj | Simplifies TFM/output settings and updates project reference paths. |
| src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.TestUtilities/Microsoft.Data.SqlClient.TestUtilities.csproj | Simplifies to single TargetFramework and default output paths. |
| src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.ExtUtilities/Microsoft.Data.SqlClient.ExtUtilities.csproj | Simplifies to single TargetFramework. |
| src/Microsoft.Data.SqlClient/tests/PerformanceTests/Microsoft.Data.SqlClient.PerformanceTests.csproj | Moves to default output paths and modernizes conditional Project/Package reference selection. |
| src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Utf8String/Utf8String.csproj | Removes legacy netfx/netcore output/target-group plumbing. |
| src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Shapes/Shapes.csproj | Removes legacy netfx/netcore output/target-group plumbing. |
| src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Circle/Circle.csproj | Removes legacy netfx/netcore output/target-group plumbing. |
| src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Address/Address.csproj | Removes legacy netfx/netcore output/target-group plumbing. |
| src/Microsoft.Data.SqlClient/tests/ManualTests/Microsoft.Data.SqlClient.ManualTests.csproj | Updates project references to use $(RepoRoot) paths. |
| src/Microsoft.Data.SqlClient/tests/FunctionalTests/Microsoft.Data.SqlClient.FunctionalTests.csproj | Updates project references to use $(RepoRoot) paths. |
| src/Microsoft.Data.SqlClient/netfx/tools/targets/GenerateAssemblyRef.targets | Deletes legacy netfx-only codegen target. |
| src/Microsoft.Data.SqlClient/netfx/tools/targets/GenerateAssemblyInfo.targets | Deletes legacy netfx-only codegen target. |
| src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj | Deletes legacy netfx driver project. |
| src/Microsoft.Data.SqlClient/netfx/ref/Microsoft.Data.SqlClient.csproj | Deletes legacy netfx ref-assembly project. |
| src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj | Deletes legacy netcore driver project. |
| src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj | Deletes legacy netcore ref-assembly project. |
| src/Microsoft.Data.SqlClient.slnx | Updates solution structure to remove legacy netfx/netcore projects and adjust folder layout. |
| src/Directory.Build.props | Removes legacy split-project path/OS properties; keeps minimal repo-wide build settings. |
| eng/pipelines/onebranch/steps/roslyn-analyzers-csproj-step.yml | Removes BuildAllConfigurations default and simplifies analyzer invocation. |
| build.proj | Removes legacy default target and legacy driver build/test orchestration; keeps extension/AKV/SqlServer targets. |
paulmedynski
left a comment
There was a problem hiding this comment.
Nothing better than waking up to a PR that deletes 3000+ lines of obsolete code!
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## main #4145 +/- ##
==========================================
- Coverage 74.27% 66.44% -7.83%
==========================================
Files 279 274 -5
Lines 42980 65799 +22819
==========================================
+ Hits 31922 43723 +11801
- Misses 11058 22076 +11018
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
mdaigle
left a comment
There was a problem hiding this comment.
Looks ok to me. We can revisit the API compatibility target later and get it better integrated.
11f1e0c
Description
This PR will hopefully bring the separate codebases chapter of SqlClient history to a close. This PR cleans up the old separate projects and all the remaining cruft that was part of it.
Issues
N/A
Testing
Local testing suggests this will pass. There's a lot of things intertwined with the directory.build.props and build.proj files so I expect some hiccups. But theoretically it should be easy.