From 1feabab580490fdda852c46d04b9103d11dac730 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Fri, 6 Mar 2026 15:20:04 -0600 Subject: [PATCH 01/24] In progress work for pack target ... kinda working --- build2.proj | 175 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 113 insertions(+), 62 deletions(-) diff --git a/build2.proj b/build2.proj index ec8b32b141..ea89909432 100644 --- a/build2.proj +++ b/build2.proj @@ -16,7 +16,7 @@ Debug - + @@ -184,20 +191,23 @@ - $(RepoRoot)src/Microsoft.Data.SqlClient/ + $(RepoRoot)src/Microsoft.Data.SqlClient/ + $(RepoRoot)artifacts/Microsoft.Data.SqlClient/ + + + $(MdsSrcRoot)src/Microsoft.Data.SqlClient.csproj + $(MdsSrcRoot)ref/Microsoft.Data.SqlClient.csproj + $(MdsSrcRoot)notsupported/Microsoft.Data.SqlClient.csproj + + + $(MdsSrcRoot)tests/FunctionalTests/Microsoft.Data.SqlClient.FunctionalTests.csproj + $(MdsSrcRoot)tests/ManualTests/Microsoft.Data.SqlClient.ManualTests.csproj + $(MdsSrcRoot)tests/UnitTests/Microsoft.Data.SqlClient.UnitTests.csproj $(RepoRoot)tools/specs/Microsoft.Data.SqlClient.nuspec $(RepoRoot)tools/GenAPI/Microsoft.DotNet.GenAPI/ $(GenApiPath)Microsoft.DotNet.GenAPI.csproj - - - $(MdsRoot)tests/FunctionalTests/Microsoft.Data.SqlClient.FunctionalTests.csproj - $(MdsRoot)tests/ManualTests/Microsoft.Data.SqlClient.ManualTests.csproj - $(MdsRoot)notsupported/Microsoft.Data.SqlClient.csproj - $(MdsRoot)src/Microsoft.Data.SqlClient.csproj - $(MdsRoot)ref/Microsoft.Data.SqlClient.csproj - $(MdsRoot)tests/UnitTests/Microsoft.Data.SqlClient.UnitTests.csproj @@ -211,16 +221,16 @@ --> - + "$(DotNetPath)dotnet" build "$(GenApiProjectPath)" -p:Configuration=$(Configuration) - + - $([System.Text.RegularExpressions.Regex]::Replace($(DotNetCommand), "\s+", " ")) + $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) - - + + @@ -228,41 +238,41 @@ - + "$(DotNetPath)dotnet" build "$(MdsNotSupportedProjectPath)" -p:Configuration=$(Configuration) -p:GenApiPath="@(GenApiArtifactPath->'%(FullPath)')" - + - $([System.Text.RegularExpressions.Regex]::Replace($(DotNetCommand), "\s+", " ")) + $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) - - + + - - $(DotNetPath)dotnet build $(MdsRefProjectPath) + + "$(DotnetPath)dotnet" build $(MdsRefProjectPath) -p:Configuration=$(Configuration) $(ReferenceTypeArgument) $(PackageVersionAbstractionsArgument) - + - $([System.Text.RegularExpressions.Regex]::Replace($(DotNetCommand), "\s+", " ")) + $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) - - + + - - $(DotNetPath)dotnet build $(MdsProjectPath) + + "$(DotnetPath)dotnet" build $(MdsProjectPath) -p:Configuration=$(Configuration) -p:TargetOs=Unix @@ -270,20 +280,20 @@ $(ReferenceTypeArgument) $(PackageVersionAbstractionsArgument) $(PackageVersionLoggingArgument) - + - $([System.Text.RegularExpressions.Regex]::Replace($(DotNetCommand), "\s+", " ")) + $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) - - + + - - $(DotNetPath)dotnet build $(MdsProjectPath) + + "$(DotnetPath)dotnet" build $(MdsProjectPath) -p:Configuration=$(Configuration) -p:TargetOs=Windows_NT @@ -291,18 +301,59 @@ $(ReferenceTypeArgument) $(PackageVersionAbstractionsArgument) $(PackageVersionLoggingArgument) - + - $([System.Text.RegularExpressions.Regex]::Replace($(DotNetCommand), "\s+", " ")) + $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) - - + + - - - + + + + + + git rev-parse HEAD + + + $([System.Text.RegularExpressions.Regex]::Replace($(GitCommand), "\s+", " ")) + + + + + + + + + "$(DotnetPath)dotnet" pack "$(MdsProjectPath)" + -p:NuspecFile="$(MdsNuspecPath)" + --no-build + --output "$(MdsArtifactRoot)" + --include-symbols + -p:SymbolPackageFormat=snupkg + $(PackageVersionMdsArgument) + + + $(PackageVersionAbstractionsArgument) + $(PackageVersionLoggingArgument) + + + -p:COMMITID="$(CommitId)" + -p:Configuration="$(Configuration)" + -p:ReferenceType="$(ReferenceType)" + + + $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) + + + @@ -316,8 +367,8 @@ MdsFunctional-$(OS) $(LogFilePrefix)-$(TestFramework) - - $(DotNetPath)dotnet test "$(MdsFunctionalTestProjectPath)" + + "$(DotnetPath)dotnet" test "$(MdsFunctionalTestProjectPath)" -p:Configuration=$(Configuration) $(TestBlameArgument) $(TestCollectArgument) @@ -331,12 +382,12 @@ $(PackageVersionAbstractionsArgument) $(PackageVersionLoggingArgument) $(PackageVersionMdsArgument) - + - $([System.Text.RegularExpressions.Regex]::Replace($(DotNetCommand), "\s+", " ")) + $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) - - + + @@ -346,8 +397,8 @@ $(LogFilePrefix)-$(TestFramework) $(LogFilePrefix)-$(TestSet) - - $(DotNetPath)dotnet test "$(MdsManualTestProjectPath)" + + "$(DotnetPath)dotnet" test "$(MdsManualTestProjectPath)" -p:Configuration=$(Configuration) $(TestBlameArgument) $(TestCollectArgument) @@ -362,12 +413,12 @@ $(PackageVersionAbstractionsArgument) $(PackageVersionLoggingArgument) $(PackageVersionMdsArgument) - + - $([System.Text.RegularExpressions.Regex]::Replace($(DotNetCommand), "\s+", " ")) + $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) - - + + @@ -380,8 +431,8 @@ MdsUnit-$(OS) $(LogFilePrefix)-$(TestFramework) - - $(DotNetPath)dotnet test "$(MdsUnitTestProjectPath)" + + "$(DotnetPath)dotnet" test "$(MdsUnitTestProjectPath)" -p:Configuration=$(Configuration) $(TestBlameArgument) $(TestCollectArgument) @@ -389,12 +440,12 @@ $(TestFrameworkArgument) --results-directory "$(TestResultsFolderPath)" --logger:"trx;LogFilePrefix=$(LogFilePrefix)" - + - $([System.Text.RegularExpressions.Regex]::Replace($(DotNetCommand), "\s+", " ")) + $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) - - + + From c840aac27d0f17a92d45bc320d77ab4e81b1c432 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Fri, 6 Mar 2026 15:26:02 -0600 Subject: [PATCH 02/24] Add config to genapi path. Remove unnecessary dependencies from genapi project --- build2.proj | 2 +- .../Microsoft.DotNet.GenAPI/Microsoft.DotNet.GenAPI.csproj | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/build2.proj b/build2.proj index ea89909432..3d122592d5 100644 --- a/build2.proj +++ b/build2.proj @@ -234,7 +234,7 @@ - + diff --git a/tools/GenAPI/Microsoft.DotNet.GenAPI/Microsoft.DotNet.GenAPI.csproj b/tools/GenAPI/Microsoft.DotNet.GenAPI/Microsoft.DotNet.GenAPI.csproj index 4ec9283d9d..eb3b2f271f 100644 --- a/tools/GenAPI/Microsoft.DotNet.GenAPI/Microsoft.DotNet.GenAPI.csproj +++ b/tools/GenAPI/Microsoft.DotNet.GenAPI/Microsoft.DotNet.GenAPI.csproj @@ -23,8 +23,5 @@ - - - From 7c24eaa8396857faaeeaa2453d776621bde3caa8 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Mon, 9 Mar 2026 14:47:47 -0500 Subject: [PATCH 03/24] Fix generation of docs in ref project --- .../ref/Microsoft.Data.SqlClient.cs | 10 +++++----- .../ref/Microsoft.Data.SqlClient.csproj | 9 ++++++--- tools/intellisense/TrimDocs.ps1 | 5 +++-- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.cs b/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.cs index 69a29c5b02..ce6e481434 100644 --- a/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.cs +++ b/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.cs @@ -818,7 +818,7 @@ protected override void SetRowUpdatingHandler(System.Data.Common.DbDataAdapter a /// public sealed class SqlConfigurableRetryFactory { - /// + /// public static System.Collections.ObjectModel.ReadOnlyCollection BaselineTransientErrors { get { throw null; } } /// public static SqlRetryLogicBaseProvider CreateExponentialRetryProvider(SqlRetryLogicOption retryLogicOption) { throw null; } @@ -885,7 +885,7 @@ public SqlConnection(string connectionString, Microsoft.Data.SqlClient.SqlCreden [System.ComponentModel.BrowsableAttribute(false)] [System.ComponentModel.DesignerSerializationVisibilityAttribute(0)] public Microsoft.Data.SqlClient.SqlCredential Credential { get { throw null; } set { } } - /// + /// public SspiContextProvider SspiContextProvider { get { throw null; } set { } } /// [System.ComponentModel.DesignerSerializationVisibilityAttribute(0)] @@ -1359,7 +1359,7 @@ public SqlDataAdapter(string selectCommandText, string selectConnectionString) { public event Microsoft.Data.SqlClient.SqlRowUpdatedEventHandler RowUpdated { add { } remove { } } /// public event Microsoft.Data.SqlClient.SqlRowUpdatingEventHandler RowUpdating { add { } remove { } } - /// + /// protected override void OnRowUpdated(System.Data.Common.RowUpdatedEventArgs value) { } /// protected override void OnRowUpdating(System.Data.Common.RowUpdatingEventArgs value) { } @@ -2181,7 +2181,7 @@ public sealed class SspiAuthenticationParameters { /// public SspiAuthenticationParameters( - string serverName, + string serverName, string resource, string userId = null, string databaseName = null, @@ -2201,4 +2201,4 @@ public SspiAuthenticationParameters( /// public string Password { get { throw null; } } -} \ No newline at end of file +} diff --git a/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj index 447fb01182..9729a712c7 100644 --- a/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj @@ -2,6 +2,7 @@ Microsoft.Data.SqlClient net462;net8.0;net9.0;netstandard2.0 + true @@ -24,7 +25,7 @@ is possible but also requires specifying the IntermediateOutputPath. So while it would be nice to have a flatter directory structure, it's more hassle than its worth. --> - $(ArtifactPath)$(AssemblyName).ref/$(Configuration)/ + $(ArtifactPath)$(AssemblyName).ref/$(ReferenceType)-$(Configuration)/ @@ -35,7 +36,9 @@ have the full documentation. --> - + powershell.exe pwsh @@ -43,7 +46,7 @@ $(PowerShellCommand) -NonInteractive -ExecutionPolicy Unrestricted - -Command "$(RepoRoot)tools\intellisense\TrimDocs.ps1 -inputFile '$(OutputPath)\Microsoft.Data.SqlClient.xml' -outputFile '$(OutputPath)\Microsoft.Data.SqlClient.xml'" + -Command "$(RepoRoot)tools\intellisense\TrimDocs.ps1 -inputFile '$(DocumentationFile)' -outputFile '$(DocumentationFile)'" diff --git a/tools/intellisense/TrimDocs.ps1 b/tools/intellisense/TrimDocs.ps1 index c5e7eeb893..b09b8fc9d7 100644 --- a/tools/intellisense/TrimDocs.ps1 +++ b/tools/intellisense/TrimDocs.ps1 @@ -7,10 +7,11 @@ param ( [string]$outputFile="" ) +$ErrorActionPreference = 'Stop' + # Validate inputFile exists if (-not (Test-Path $inputFile)) { - Write-Host "XML File not found: $inputFile" - exit + throw "XML File not found: $inputFile" } [xml]$xml = Get-Content $inputFile From 7d0f2197f51efd836de31f3e28607a570d036d90 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Mon, 9 Mar 2026 15:19:20 -0500 Subject: [PATCH 04/24] Dump reference type specific builds Fix xml documentation file generation for implementation project --- .../Microsoft.Data.SqlClient.csproj | 4 ++-- .../src/Microsoft.Data.SqlClient.csproj | 4 +++- .../Microsoft/Data/SqlClient/SqlDataReader.cs | 16 +++++++------- .../src/Microsoft/Data/SqlDbTypeExtensions.cs | 6 ++--- .../src/Microsoft/Data/SqlTypes/SqlJson.cs | 22 +++++++++---------- .../src/Microsoft/Data/SqlTypes/SqlVector.cs | 20 ++++++++--------- 6 files changed, 37 insertions(+), 35 deletions(-) diff --git a/src/Microsoft.Data.SqlClient/notsupported/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/notsupported/Microsoft.Data.SqlClient.csproj index 065e10dcd3..6569f69a1a 100644 --- a/src/Microsoft.Data.SqlClient/notsupported/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/notsupported/Microsoft.Data.SqlClient.csproj @@ -74,7 +74,7 @@ is possible but also requires specifying the IntermediateOutputPath. So while it would be nice to have a flatter directory structure, it's more hassle than its worth. --> - $(RepoRoot)artifacts/$(AssemblyName).notsupported/$(Configuration)/ + $(RepoRoot)artifacts/$(AssemblyName).notsupported/$(ReferenceType)-$(Configuration)/ @@ -86,7 +86,7 @@ --> $(RepoRoot)src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj - $(RepoRoot)artifacts/Microsoft.Data.SqlClient.ref/$(Configuration)/$(TargetFramework)/Microsoft.Data.SqlClient.dll + $(RepoRoot)artifacts/Microsoft.Data.SqlClient.ref/$(ReferenceType)-$(Configuration)/$(TargetFramework)/Microsoft.Data.SqlClient.dll Debug;Release; true + + true @@ -62,7 +64,7 @@ - $(ArtifactPath)$(AssemblyName)/$(Configuration)/$(NormalizedTargetOs)/ + $(ArtifactPath)$(AssemblyName)/$(ReferenceType)-$(Configuration)/$(NormalizedTargetOs)/ diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlDataReader.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlDataReader.cs index 2567918726..1be5429d9a 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlDataReader.cs +++ b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlDataReader.cs @@ -844,7 +844,7 @@ private TdsOperationStatus TryCleanPartialRead() private void CleanPartialReadReliable() { AssertReaderState(requireData: true, permitAsync: false); - + TdsOperationStatus result = TryCleanPartialRead(); Debug.Assert(result == TdsOperationStatus.Done, "Should not pend on sync call"); Debug.Assert(!_sharedState._dataReady, "_dataReady should be cleared"); @@ -1053,7 +1053,7 @@ private TdsOperationStatus TryCloseInternal(bool closeReader) { Connection.RemoveWeakReference(this); // This doesn't catch everything -- the connection may be closed, but it prevents dead readers from clogging the collection } - + // IsClosed may be true if CloseReaderFromConnection was called - in which case, the session has already been closed if (!wasClosed && stateObj != null) { @@ -1072,7 +1072,7 @@ private TdsOperationStatus TryCloseInternal(bool closeReader) } } // @TODO: CER Exception Handling was removed here (see GH#3581) - + // DO NOT USE stateObj after this point - it has been returned to the TdsParser's session pool and potentially handed out to another thread // do not retry here @@ -1657,7 +1657,7 @@ private TdsOperationStatus TryGetBytesInternal(int i, long dataIndex, byte[] buf { remaining = 0; TdsOperationStatus result; - + int cbytes = 0; AssertReaderState(requireData: true, permitAsync: true, columnIndex: i, enforceSequentialAccess: true); @@ -2597,7 +2597,7 @@ virtual public SqlXml GetSqlXml(int i) return sx; } - /// + /// virtual public SqlJson GetSqlJson(int i) { ReadColumn(i); @@ -2605,7 +2605,7 @@ virtual public SqlJson GetSqlJson(int i) return json; } - /// + /// virtual public SqlVector GetSqlVector(int i) where T : unmanaged { if (typeof(T) != typeof(float)) @@ -3138,7 +3138,7 @@ private T GetFieldValueFromSqlBufferInternal(SqlBuffer data, _SqlMetaData met return (T)(object)data.String; } // the requested type is likely to be one that isn't supported so try the cast and - // unless there is a null value conversion then feedback the cast exception with + // unless there is a null value conversion then feedback the cast exception with // type named to the user so they know what went wrong. Supported types are listed // in the documentation try @@ -3908,7 +3908,7 @@ private TdsOperationStatus TryReadColumnHeader(int i) { throw SQL.InvalidRead(); } - + return TryReadColumnInternal(i, readHeaderOnly: true); // @TODO: CER Exception Handling was removed here (see GH#3581) } diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlDbTypeExtensions.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlDbTypeExtensions.cs index 96244fb7a8..0b6780f900 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlDbTypeExtensions.cs +++ b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlDbTypeExtensions.cs @@ -6,16 +6,16 @@ namespace Microsoft.Data { - /// + /// public static class SqlDbTypeExtensions { - /// + /// #if NET9_0_OR_GREATER public const SqlDbType Json = SqlDbType.Json; #else public const SqlDbType Json = (SqlDbType)35; #endif - /// + /// #if NET10_0_OR_GREATER public const SqlDbType Vector = SqlDbType.Vector; #else diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlTypes/SqlJson.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlTypes/SqlJson.cs index 8d0ee74cc6..0c1047ee6d 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlTypes/SqlJson.cs +++ b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlTypes/SqlJson.cs @@ -12,18 +12,18 @@ namespace Microsoft.Data.SqlTypes { - /// + /// public class SqlJson : INullable { // Our serialized JSON string, or null. private readonly string? _jsonString = null; - /// + /// public SqlJson() { } - /// + /// #if NET public SqlJson([StringSyntax(StringSyntaxAttribute.Json)] string? jsonString) #else @@ -45,8 +45,8 @@ public SqlJson(string? jsonString) _jsonString = jsonString; } - /// - public SqlJson(JsonDocument? jsonDoc) + /// + public SqlJson(JsonDocument? jsonDoc) { if (jsonDoc == null) { @@ -57,15 +57,15 @@ public SqlJson(JsonDocument? jsonDoc) _jsonString = jsonDoc.RootElement.GetRawText(); } - /// + /// public bool IsNull => _jsonString is null; - /// + /// public static SqlJson Null => new(); - /// - public string Value - { + /// + public string Value + { get { if (IsNull) @@ -77,7 +77,7 @@ public string Value } } - /// + /// public override string? ToString() { return _jsonString; diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlTypes/SqlVector.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlTypes/SqlVector.cs index cf04ff8636..14e790e977 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlTypes/SqlVector.cs +++ b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlTypes/SqlVector.cs @@ -15,7 +15,7 @@ namespace Microsoft.Data.SqlTypes; -/// +/// public readonly struct SqlVector : INullable, ISqlVector where T : unmanaged { @@ -55,10 +55,10 @@ private SqlVector(int length) Memory = new(); } - /// + /// public static SqlVector CreateNull(int length) => new(length); - /// + /// public SqlVector(ReadOnlyMemory memory) { (_elementType, _elementSize) = GetTypeFieldsOrThrow(); @@ -101,16 +101,16 @@ internal string GetString() #region Properties - /// + /// public bool IsNull { get; } - /// + /// public static SqlVector? Null => null; - /// + /// public int Length { get; } - - /// + + /// public ReadOnlyMemory Memory { get; } #endregion @@ -206,7 +206,7 @@ private byte[] MakeTdsBytes(ReadOnlyMemory values) // The vector length is an unsigned 16-bit integer, little-endian. int length = BinaryPrimitives.ReadUInt16LittleEndian(rawBytes.AsSpan(2)); - + // The vector size is the number of bytes required to represent the vector in TDS. int size = TdsEnums.VECTOR_HEADER_SIZE + (_elementSize * length); @@ -237,6 +237,6 @@ private T[] MakeArray() return MemoryMarshal.Cast(dataSpan).ToArray(); #endif } - + #endregion } From e971112353722d762de3ef5e02ff5073cf4043e6 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Mon, 9 Mar 2026 15:52:04 -0500 Subject: [PATCH 05/24] Generating a package file works!!! --- build2.proj | 60 +++--- tools/specs/Microsoft.Data.SqlClient.nuspec | 204 ++++++++++---------- 2 files changed, 142 insertions(+), 122 deletions(-) diff --git a/build2.proj b/build2.proj index 3d122592d5..7c4b725464 100644 --- a/build2.proj +++ b/build2.proj @@ -25,7 +25,17 @@ Default value: [blank] Example: C:\x86\ --> - + + + + nuget @@ -239,9 +249,14 @@ - "$(DotNetPath)dotnet" build "$(MdsNotSupportedProjectPath)" + "$(DotnetPath)dotnet" build "$(MdsNotSupportedProjectPath)" -p:Configuration=$(Configuration) -p:GenApiPath="@(GenApiArtifactPath->'%(FullPath)')" + + + $(ReferenceTypeArgument) + $(PackageVersionAbstractionsArgument) + $(PackageVersionLoggingArgument) $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) @@ -318,6 +333,13 @@ --> + + + + git rev-parse HEAD @@ -331,29 +353,19 @@ - - "$(DotnetPath)dotnet" pack "$(MdsProjectPath)" - -p:NuspecFile="$(MdsNuspecPath)" - --no-build - --output "$(MdsArtifactRoot)" - --include-symbols - -p:SymbolPackageFormat=snupkg - $(PackageVersionMdsArgument) - - - $(PackageVersionAbstractionsArgument) - $(PackageVersionLoggingArgument) - - - -p:COMMITID="$(CommitId)" - -p:Configuration="$(Configuration)" - -p:ReferenceType="$(ReferenceType)" - + + "$(NugetPath)" pack "$(MdsNuspecPath)" + -Symbols + -SymbolPackageFormat snupkg + -Version "$(PackageVersionMds)" + -OutputDirectory "$(MdsArtifactRoot)/$(ReferenceType)-$(Configuration)" + -properties "COMMITID=$(CommitId);Configuration=$(Configuration);ReferenceType=$(ReferenceType);AbstractionsPackageVersion=$(PackageVersionAbstractions);LoggingPackageVersion=$(PackageVersionLogging)" + - $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) + $([System.Text.RegularExpressions.Regex]::Replace($(NuGetCommand), "\s+", " ")) - - + + diff --git a/tools/specs/Microsoft.Data.SqlClient.nuspec b/tools/specs/Microsoft.Data.SqlClient.nuspec index 9507357a00..ad1d10923b 100644 --- a/tools/specs/Microsoft.Data.SqlClient.nuspec +++ b/tools/specs/Microsoft.Data.SqlClient.nuspec @@ -123,103 +123,111 @@ command line to indicate where the DLLs are. --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 8e068064c5f8bd9d4b29d2d3d9c7ac445ebc7e05 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Mon, 9 Mar 2026 19:11:28 -0500 Subject: [PATCH 06/24] Resync pipelines folder in solution --- src/Microsoft.Data.SqlClient.sln | 88 ++++++++++++++++++++------------ 1 file changed, 55 insertions(+), 33 deletions(-) diff --git a/src/Microsoft.Data.SqlClient.sln b/src/Microsoft.Data.SqlClient.sln index 636064e61a..087ab690ff 100644 --- a/src/Microsoft.Data.SqlClient.sln +++ b/src/Microsoft.Data.SqlClient.sln @@ -220,11 +220,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "eng", "eng", "{4600328C-C13 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "pipelines", "pipelines", "{4CAE9195-4F1A-4D48-854C-1C9FBC512C66}" ProjectSection(SolutionItems) = preProject - ..\eng\pipelines\akv-official-pipeline.yml = ..\eng\pipelines\akv-official-pipeline.yml ..\eng\pipelines\dotnet-sqlclient-ci-core.yml = ..\eng\pipelines\dotnet-sqlclient-ci-core.yml ..\eng\pipelines\dotnet-sqlclient-ci-package-reference-pipeline.yml = ..\eng\pipelines\dotnet-sqlclient-ci-package-reference-pipeline.yml ..\eng\pipelines\dotnet-sqlclient-ci-project-reference-pipeline.yml = ..\eng\pipelines\dotnet-sqlclient-ci-project-reference-pipeline.yml - ..\eng\pipelines\dotnet-sqlclient-signing-pipeline.yml = ..\eng\pipelines\dotnet-sqlclient-signing-pipeline.yml ..\eng\pipelines\sqlclient-pr-package-ref-pipeline.yml = ..\eng\pipelines\sqlclient-pr-package-ref-pipeline.yml ..\eng\pipelines\sqlclient-pr-project-ref-pipeline.yml = ..\eng\pipelines\sqlclient-pr-project-ref-pipeline.yml ..\eng\pipelines\stress-tests-pipeline.yml = ..\eng\pipelines\stress-tests-pipeline.yml @@ -236,12 +234,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "templates", "templates", "{ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "jobs", "jobs", "{3850810F-535E-443A-A9B4-7EE85B327E0A}" ProjectSection(SolutionItems) = preProject - ..\eng\pipelines\common\templates\jobs\build-signed-package-job.yml = ..\eng\pipelines\common\templates\jobs\build-signed-package-job.yml ..\eng\pipelines\common\templates\jobs\ci-build-nugets-job.yml = ..\eng\pipelines\common\templates\jobs\ci-build-nugets-job.yml ..\eng\pipelines\common\templates\jobs\ci-code-coverage-job.yml = ..\eng\pipelines\common\templates\jobs\ci-code-coverage-job.yml ..\eng\pipelines\common\templates\jobs\ci-run-tests-job.yml = ..\eng\pipelines\common\templates\jobs\ci-run-tests-job.yml - ..\eng\pipelines\common\templates\jobs\run-tests-package-reference-job.yml = ..\eng\pipelines\common\templates\jobs\run-tests-package-reference-job.yml - ..\eng\pipelines\common\templates\jobs\validate-signed-package-job.yml = ..\eng\pipelines\common\templates\jobs\validate-signed-package-job.yml EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "stages", "stages", "{01FA4774-E594-4A2D-B839-EA7A56D09A8B}" @@ -251,22 +246,17 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "stages", "stages", "{01FA47 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "steps", "steps", "{EABE3A3E-D505-418A-B1B8-1B0AC4872F3D}" ProjectSection(SolutionItems) = preProject - ..\eng\pipelines\common\templates\steps\build-all-configurations-signed-dlls-step.yml = ..\eng\pipelines\common\templates\steps\build-all-configurations-signed-dlls-step.yml ..\eng\pipelines\common\templates\steps\build-and-run-tests-netcore-step.yml = ..\eng\pipelines\common\templates\steps\build-and-run-tests-netcore-step.yml ..\eng\pipelines\common\templates\steps\build-and-run-tests-netfx-step.yml = ..\eng\pipelines\common\templates\steps\build-and-run-tests-netfx-step.yml ..\eng\pipelines\common\templates\steps\ci-project-build-step.yml = ..\eng\pipelines\common\templates\steps\ci-project-build-step.yml - ..\eng\pipelines\common\templates\steps\code-analyze-step.yml = ..\eng\pipelines\common\templates\steps\code-analyze-step.yml ..\eng\pipelines\common\templates\steps\configure-sql-server-linux-step.yml = ..\eng\pipelines\common\templates\steps\configure-sql-server-linux-step.yml ..\eng\pipelines\common\templates\steps\configure-sql-server-macos-step.yml = ..\eng\pipelines\common\templates\steps\configure-sql-server-macos-step.yml ..\eng\pipelines\common\templates\steps\configure-sql-server-step.yml = ..\eng\pipelines\common\templates\steps\configure-sql-server-step.yml ..\eng\pipelines\common\templates\steps\configure-sql-server-win-step.yml = ..\eng\pipelines\common\templates\steps\configure-sql-server-win-step.yml - ..\eng\pipelines\common\templates\steps\copy-dlls-for-test-step.yml = ..\eng\pipelines\common\templates\steps\copy-dlls-for-test-step.yml - ..\eng\pipelines\common\templates\steps\esrp-code-signing-step.yml = ..\eng\pipelines\common\templates\steps\esrp-code-signing-step.yml ..\eng\pipelines\common\templates\steps\generate-nuget-package-step.yml = ..\eng\pipelines\common\templates\steps\generate-nuget-package-step.yml ..\eng\pipelines\common\templates\steps\override-sni-version.yml = ..\eng\pipelines\common\templates\steps\override-sni-version.yml ..\eng\pipelines\common\templates\steps\pre-build-step.yml = ..\eng\pipelines\common\templates\steps\pre-build-step.yml ..\eng\pipelines\common\templates\steps\prepare-test-db-step.yml = ..\eng\pipelines\common\templates\steps\prepare-test-db-step.yml - ..\eng\pipelines\common\templates\steps\publish-symbols-step.yml = ..\eng\pipelines\common\templates\steps\publish-symbols-step.yml ..\eng\pipelines\common\templates\steps\publish-test-results-step.yml = ..\eng\pipelines\common\templates\steps\publish-test-results-step.yml ..\eng\pipelines\common\templates\steps\run-all-tests-step.yml = ..\eng\pipelines\common\templates\steps\run-all-tests-step.yml ..\eng\pipelines\common\templates\steps\update-config-file-step.yml = ..\eng\pipelines\common\templates\steps\update-config-file-step.yml @@ -274,27 +264,14 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "steps", "steps", "{EABE3A3E EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libraries", "libraries", "{75BAE755-3A1F-41F2-9176-9F8FF9FEE2DD}" ProjectSection(SolutionItems) = preProject - ..\eng\pipelines\libraries\build-variables.yml = ..\eng\pipelines\libraries\build-variables.yml ..\eng\pipelines\libraries\ci-build-variables.yml = ..\eng\pipelines\libraries\ci-build-variables.yml - ..\eng\pipelines\libraries\common-variables.yml = ..\eng\pipelines\libraries\common-variables.yml - ..\eng\pipelines\libraries\mds-validation-variables.yml = ..\eng\pipelines\libraries\mds-validation-variables.yml - ..\eng\pipelines\libraries\mds-variables.yml = ..\eng\pipelines\libraries\mds-variables.yml - ..\eng\pipelines\libraries\variables.yml = ..\eng\pipelines\libraries\variables.yml - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "variables", "variables", "{1C796A8E-3529-481B-9D4F-88C67D03DCA2}" - ProjectSection(SolutionItems) = preProject - ..\eng\pipelines\variables\akv-official-variables.yml = ..\eng\pipelines\variables\akv-official-variables.yml - ..\eng\pipelines\variables\common-variables.yml = ..\eng\pipelines\variables\common-variables.yml - ..\eng\pipelines\variables\esrp-signing-variables.yml = ..\eng\pipelines\variables\esrp-signing-variables.yml - ..\eng\pipelines\variables\onebranch-variables.yml = ..\eng\pipelines\variables\onebranch-variables.yml EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "jobs", "jobs", "{09352F1D-878F-4F55-8AA2-6E47F1AD37D5}" ProjectSection(SolutionItems) = preProject - ..\eng\pipelines\jobs\build-akv-official-job.yml = ..\eng\pipelines\jobs\build-akv-official-job.yml ..\eng\pipelines\jobs\pack-abstractions-package-ci-job.yml = ..\eng\pipelines\jobs\pack-abstractions-package-ci-job.yml ..\eng\pipelines\jobs\pack-azure-package-ci-job.yml = ..\eng\pipelines\jobs\pack-azure-package-ci-job.yml + ..\eng\pipelines\jobs\pack-logging-package-ci-job.yml = ..\eng\pipelines\jobs\pack-logging-package-ci-job.yml ..\eng\pipelines\jobs\stress-tests-ci-job.yml = ..\eng\pipelines\jobs\stress-tests-ci-job.yml ..\eng\pipelines\jobs\test-abstractions-package-ci-job.yml = ..\eng\pipelines\jobs\test-abstractions-package-ci-job.yml ..\eng\pipelines\jobs\test-azure-package-ci-job.yml = ..\eng\pipelines\jobs\test-azure-package-ci-job.yml @@ -302,16 +279,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "jobs", "jobs", "{09352F1D-8 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "steps", "steps", "{AD738BD4-6A02-4B88-8F93-FBBBA49A74C8}" ProjectSection(SolutionItems) = preProject - ..\eng\pipelines\steps\compound-build-akv-step.yml = ..\eng\pipelines\steps\compound-build-akv-step.yml - ..\eng\pipelines\steps\compound-esrp-dll-signing-step.yml = ..\eng\pipelines\steps\compound-esrp-dll-signing-step.yml - ..\eng\pipelines\steps\compound-esrp-nuget-signing-step.yml = ..\eng\pipelines\steps\compound-esrp-nuget-signing-step.yml - ..\eng\pipelines\steps\compound-extract-akv-apiscan-files-step.yml = ..\eng\pipelines\steps\compound-extract-akv-apiscan-files-step.yml - ..\eng\pipelines\steps\compound-nuget-pack-step.yml = ..\eng\pipelines\steps\compound-nuget-pack-step.yml - ..\eng\pipelines\steps\compound-publish-symbols-step.yml = ..\eng\pipelines\steps\compound-publish-symbols-step.yml ..\eng\pipelines\steps\install-dotnet.yml = ..\eng\pipelines\steps\install-dotnet.yml ..\eng\pipelines\steps\install-dotnet-arm64.ps1 = ..\eng\pipelines\steps\install-dotnet-arm64.ps1 - ..\eng\pipelines\steps\roslyn-analyzers-akv-step.yml = ..\eng\pipelines\steps\roslyn-analyzers-akv-step.yml - ..\eng\pipelines\steps\script-output-environment-variables-step.yml = ..\eng\pipelines\steps\script-output-environment-variables-step.yml EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Data.SqlClient.UnitTests", "Microsoft.Data.SqlClient\tests\UnitTests\Microsoft.Data.SqlClient.UnitTests.csproj", "{4461063D-2F2B-274C-7E6F-F235119D258E}" @@ -370,6 +339,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "stages", "stages", "{E9D12A ProjectSection(SolutionItems) = preProject ..\eng\pipelines\stages\build-abstractions-package-ci-stage.yml = ..\eng\pipelines\stages\build-abstractions-package-ci-stage.yml ..\eng\pipelines\stages\build-azure-package-ci-stage.yml = ..\eng\pipelines\stages\build-azure-package-ci-stage.yml + ..\eng\pipelines\stages\build-logging-package-ci-stage.yml = ..\eng\pipelines\stages\build-logging-package-ci-stage.yml + ..\eng\pipelines\stages\build-sqlclient-package-ci-stage.yml = ..\eng\pipelines\stages\build-sqlclient-package-ci-stage.yml + ..\eng\pipelines\stages\generate-secrets-ci-stage.yml = ..\eng\pipelines\stages\generate-secrets-ci-stage.yml ..\eng\pipelines\stages\stress-tests-ci-stage.yml = ..\eng\pipelines\stages\stress-tests-ci-stage.yml EndProjectSection EndProject @@ -387,6 +359,52 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.DotNet.GenAPI", " EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Cci.Extensions", "..\tools\GenAPI\Microsoft.Cci.Extensions\Microsoft.Cci.Extensions.csproj", "{2F900B8A-EA19-4274-9AE9-3E6A59856FCC}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "onebranch", "onebranch", "{5EC4C165-25BB-4346-9DCC-5EFEEAC00C02}" + ProjectSection(SolutionItems) = preProject + ..\eng\pipelines\onebranch\sqlclient-non-official.yml = ..\eng\pipelines\onebranch\sqlclient-non-official.yml + ..\eng\pipelines\onebranch\sqlclient-official.yml = ..\eng\pipelines\onebranch\sqlclient-official.yml + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "jobs", "jobs", "{B3061B34-2A1C-49B9-A3A9-D4D37B4704B2}" + ProjectSection(SolutionItems) = preProject + ..\eng\pipelines\onebranch\jobs\build-akv-official-job.yml = ..\eng\pipelines\onebranch\jobs\build-akv-official-job.yml + ..\eng\pipelines\onebranch\jobs\build-signed-csproj-package-job.yml = ..\eng\pipelines\onebranch\jobs\build-signed-csproj-package-job.yml + ..\eng\pipelines\onebranch\jobs\build-signed-sqlclient-package-job.yml = ..\eng\pipelines\onebranch\jobs\build-signed-sqlclient-package-job.yml + ..\eng\pipelines\onebranch\jobs\publish-nuget-package-job.yml = ..\eng\pipelines\onebranch\jobs\publish-nuget-package-job.yml + ..\eng\pipelines\onebranch\jobs\validate-signed-package-job.yml = ..\eng\pipelines\onebranch\jobs\validate-signed-package-job.yml + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "stages", "stages", "{3654906C-6852-48AF-BC7E-B3A62F3E9DB9}" + ProjectSection(SolutionItems) = preProject + ..\eng\pipelines\onebranch\stages\build-stages.yml = ..\eng\pipelines\onebranch\stages\build-stages.yml + ..\eng\pipelines\onebranch\stages\release-stages.yml = ..\eng\pipelines\onebranch\stages\release-stages.yml + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "steps", "steps", "{45B9E5C3-DED5-4DB6-B1E6-4EAC4E68BA83}" + ProjectSection(SolutionItems) = preProject + ..\eng\pipelines\onebranch\steps\build-all-configurations-signed-dlls-step.yml = ..\eng\pipelines\onebranch\steps\build-all-configurations-signed-dlls-step.yml + ..\eng\pipelines\onebranch\steps\code-analyze-step.yml = ..\eng\pipelines\onebranch\steps\code-analyze-step.yml + ..\eng\pipelines\onebranch\steps\compound-build-akv-step.yml = ..\eng\pipelines\onebranch\steps\compound-build-akv-step.yml + ..\eng\pipelines\onebranch\steps\compound-build-csproj-step.yml = ..\eng\pipelines\onebranch\steps\compound-build-csproj-step.yml + ..\eng\pipelines\onebranch\steps\compound-esrp-dll-signing-step.yml = ..\eng\pipelines\onebranch\steps\compound-esrp-dll-signing-step.yml + ..\eng\pipelines\onebranch\steps\compound-esrp-nuget-signing-step.yml = ..\eng\pipelines\onebranch\steps\compound-esrp-nuget-signing-step.yml + ..\eng\pipelines\onebranch\steps\compound-extract-akv-apiscan-files-step.yml = ..\eng\pipelines\onebranch\steps\compound-extract-akv-apiscan-files-step.yml + ..\eng\pipelines\onebranch\steps\compound-nuget-pack-step.yml = ..\eng\pipelines\onebranch\steps\compound-nuget-pack-step.yml + ..\eng\pipelines\onebranch\steps\compound-pack-csproj-step.yml = ..\eng\pipelines\onebranch\steps\compound-pack-csproj-step.yml + ..\eng\pipelines\onebranch\steps\compound-publish-symbols-step.yml = ..\eng\pipelines\onebranch\steps\compound-publish-symbols-step.yml + ..\eng\pipelines\onebranch\steps\esrp-code-signing-step.yml = ..\eng\pipelines\onebranch\steps\esrp-code-signing-step.yml + ..\eng\pipelines\onebranch\steps\publish-symbols-step.yml = ..\eng\pipelines\onebranch\steps\publish-symbols-step.yml + ..\eng\pipelines\onebranch\steps\roslyn-analyzers-akv-step.yml = ..\eng\pipelines\onebranch\steps\roslyn-analyzers-akv-step.yml + ..\eng\pipelines\onebranch\steps\script-output-environment-variables-step.yml = ..\eng\pipelines\onebranch\steps\script-output-environment-variables-step.yml + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "variables", "variables", "{E849E6FB-1AB0-4922-A060-0062EA669FD0}" + ProjectSection(SolutionItems) = preProject + ..\eng\pipelines\onebranch\variables\common-variables.yml = ..\eng\pipelines\onebranch\variables\common-variables.yml + ..\eng\pipelines\onebranch\variables\onebranch-variables.yml = ..\eng\pipelines\onebranch\variables\onebranch-variables.yml + ..\eng\pipelines\onebranch\variables\sqlclient-validation-variables.yml = ..\eng\pipelines\onebranch\variables\sqlclient-validation-variables.yml + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -861,7 +879,6 @@ Global {01FA4774-E594-4A2D-B839-EA7A56D09A8B} = {E76A4ED5-9137-4E4B-AE91-7AEDB2683823} {EABE3A3E-D505-418A-B1B8-1B0AC4872F3D} = {E76A4ED5-9137-4E4B-AE91-7AEDB2683823} {75BAE755-3A1F-41F2-9176-9F8FF9FEE2DD} = {4CAE9195-4F1A-4D48-854C-1C9FBC512C66} - {1C796A8E-3529-481B-9D4F-88C67D03DCA2} = {4CAE9195-4F1A-4D48-854C-1C9FBC512C66} {09352F1D-878F-4F55-8AA2-6E47F1AD37D5} = {4CAE9195-4F1A-4D48-854C-1C9FBC512C66} {AD738BD4-6A02-4B88-8F93-FBBBA49A74C8} = {4CAE9195-4F1A-4D48-854C-1C9FBC512C66} {4461063D-2F2B-274C-7E6F-F235119D258E} = {0CC4817A-12F3-4357-912C-09315FAAD008} @@ -896,6 +913,11 @@ Global {1DB299CE-95EA-4566-84DD-171768758291} = {351BE847-A0BF-450C-A5BC-8337AFA49EAA} {583E2B51-A90B-4F34-AD8B-4061504E855E} = {351BE847-A0BF-450C-A5BC-8337AFA49EAA} {2F900B8A-EA19-4274-9AE9-3E6A59856FCC} = {351BE847-A0BF-450C-A5BC-8337AFA49EAA} + {5EC4C165-25BB-4346-9DCC-5EFEEAC00C02} = {4CAE9195-4F1A-4D48-854C-1C9FBC512C66} + {B3061B34-2A1C-49B9-A3A9-D4D37B4704B2} = {5EC4C165-25BB-4346-9DCC-5EFEEAC00C02} + {3654906C-6852-48AF-BC7E-B3A62F3E9DB9} = {5EC4C165-25BB-4346-9DCC-5EFEEAC00C02} + {45B9E5C3-DED5-4DB6-B1E6-4EAC4E68BA83} = {5EC4C165-25BB-4346-9DCC-5EFEEAC00C02} + {E849E6FB-1AB0-4922-A060-0062EA669FD0} = {5EC4C165-25BB-4346-9DCC-5EFEEAC00C02} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {01D48116-37A2-4D33-B9EC-94793C702431} From 64e3974a05308faf172202e4c54d058e3a63d03d Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Tue, 10 Mar 2026 13:57:55 -0500 Subject: [PATCH 07/24] Add an assembly build number argument? ... it doesn't work --- build2.proj | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/build2.proj b/build2.proj index 7c4b725464..b361c52e1b 100644 --- a/build2.proj +++ b/build2.proj @@ -6,6 +6,18 @@ + + + + + -p:AssemblyBuildNumber=$(AssemblyBuildNumber) + + $(ReferenceTypeArgument) @@ -272,6 +285,9 @@ "$(DotnetPath)dotnet" build $(MdsRefProjectPath) -p:Configuration=$(Configuration) + $(AssemblyBuildNumberArgument) + + $(ReferenceTypeArgument) $(PackageVersionAbstractionsArgument) @@ -290,6 +306,7 @@ "$(DotnetPath)dotnet" build $(MdsProjectPath) -p:Configuration=$(Configuration) -p:TargetOs=Unix + $(AssemblyBuildNumberArgument) $(ReferenceTypeArgument) @@ -311,6 +328,7 @@ "$(DotnetPath)dotnet" build $(MdsProjectPath) -p:Configuration=$(Configuration) -p:TargetOs=Windows_NT + $(AssemblyBuildNumberArgument) $(ReferenceTypeArgument) From 9e8d78d8949c7ab8a881671c0cf5e9657e099cd5 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Tue, 10 Mar 2026 18:19:37 -0500 Subject: [PATCH 08/24] Wiring up build numbers through build2.proj --- build2.proj | 42 ++++++++++++------- .../MdsVersions.props | 26 ++++++++++++ .../src/Microsoft.Data.SqlClient.csproj | 16 +++++-- tools/props/Versions.props | 37 +--------------- 4 files changed, 66 insertions(+), 55 deletions(-) create mode 100644 src/Microsoft.Data.SqlClient/MdsVersions.props diff --git a/build2.proj b/build2.proj index b361c52e1b..c41cbb1b05 100644 --- a/build2.proj +++ b/build2.proj @@ -6,17 +6,23 @@ - - - - -p:AssemblyBuildNumber=$(AssemblyBuildNumber) - + + + -p:BuildNumber=$(BuildNumber) + + $(BuildNumberArgument) + $(PackageVersionMdsArgument) $(ReferenceTypeArgument) diff --git a/src/Microsoft.Data.SqlClient/MdsVersions.props b/src/Microsoft.Data.SqlClient/MdsVersions.props new file mode 100644 index 0000000000..df7eaac39d --- /dev/null +++ b/src/Microsoft.Data.SqlClient/MdsVersions.props @@ -0,0 +1,26 @@ + + + + 8.1.0 + + + $(MdsVersionDefault).$(BuildNumber)-dev + + + $(MdsVersionDefault).$(BuildNumber) + $(MdsPackageVersion.Split('-')[0]) + + diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj index a392853fbd..de9b7d4c7a 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj @@ -1,13 +1,21 @@  - + Microsoft.Data.SqlClient Debug;Release; - true + true true - + + + + + + $(MdsAssemblyVersion) + $(MdsAssemblyVersion) + $(MdsPackageVersion) + @@ -126,7 +134,7 @@ - + diff --git a/tools/props/Versions.props b/tools/props/Versions.props index 46264bc363..db73ce29c8 100644 --- a/tools/props/Versions.props +++ b/tools/props/Versions.props @@ -29,42 +29,7 @@ - - - 7.0.0 - - $(MdsVersionDefault).$(BuildNumber)-dev - - - - - $(MdsVersionDefault).$(AssemblyBuildNumber) - - - 7.0.0.0 - - $(AssemblyFileVersion) - - - $(MdsPackageVersion) - + From b26e97a52676dfa14153aa571fc6379cb447fa36 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Wed, 11 Mar 2026 12:03:43 -0500 Subject: [PATCH 09/24] Build number argument --- build2.proj | 8 +++++--- tools/targets/GenerateThisAssemblyCs.targets | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/build2.proj b/build2.proj index c41cbb1b05..3efa90f8de 100644 --- a/build2.proj +++ b/build2.proj @@ -19,6 +19,7 @@ Default value: [blank] Example: 1234 --> + -p:BuildNumber=$(BuildNumber) @@ -273,7 +274,6 @@ "$(DotnetPath)dotnet" build "$(MdsNotSupportedProjectPath)" -p:Configuration=$(Configuration) -p:GenApiPath="@(GenApiArtifactPath->'%(FullPath)')" - $(AssemblyBuildNumberArgument) $(ReferenceTypeArgument) @@ -294,7 +294,6 @@ "$(DotnetPath)dotnet" build $(MdsRefProjectPath) -p:Configuration=$(Configuration) - $(AssemblyBuildNumberArgument) $(ReferenceTypeArgument) @@ -315,7 +314,10 @@ "$(DotnetPath)dotnet" build $(MdsProjectPath) -p:Configuration=$(Configuration) -p:TargetOs=Unix - $(AssemblyBuildNumberArgument) + + + $(BuildNumberArgument) + $(PackageVersionMdsArgument) $(ReferenceTypeArgument) diff --git a/tools/targets/GenerateThisAssemblyCs.targets b/tools/targets/GenerateThisAssemblyCs.targets index dc12b40322..d38a8ef326 100644 --- a/tools/targets/GenerateThisAssemblyCs.targets +++ b/tools/targets/GenerateThisAssemblyCs.targets @@ -19,7 +19,7 @@ namespace $(ThisAssemblyNamespace) { internal static class ThisAssembly { - internal const string InformationalVersion = "$(AssemblyFileVersion)"%3B + internal const string InformationalVersion = "$(AssemblyVersion)"%3B internal const string NuGetPackageVersion = "$(Version)"%3B } } From b93ffc12862a76c0d9526b40af5a5a3ec512929e Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Wed, 11 Mar 2026 13:22:52 -0500 Subject: [PATCH 10/24] Maybe wiring it up?!? --- .../templates/steps/ci-project-build-step.yml | 66 +----- .../templates/steps/run-all-tests-step.yml | 222 ++++++++---------- .../build-signed-sqlclient-package-job.yml | 9 - ...ld-all-configurations-signed-dlls-step.yml | 18 +- .../onebranch/steps/code-analyze-step.yml | 6 +- .../sqlclient-pr-package-ref-pipeline.yml | 1 + .../sqlclient-pr-project-ref-pipeline.yml | 1 + 7 files changed, 126 insertions(+), 197 deletions(-) diff --git a/eng/pipelines/common/templates/steps/ci-project-build-step.yml b/eng/pipelines/common/templates/steps/ci-project-build-step.yml index d1e6fe3f21..5829a55324 100644 --- a/eng/pipelines/common/templates/steps/ci-project-build-step.yml +++ b/eng/pipelines/common/templates/steps/ci-project-build-step.yml @@ -46,10 +46,6 @@ parameters: - all - allNoDocs - # The build number suffix to apply to all assembly file versions built by this step. - - name: assemblyBuildNumber - type: string - # Necessary to build MDS when referenceType is Package. Ignored when referenceType is Project. - name: abstractionsPackageVersion type: string @@ -67,59 +63,23 @@ parameters: steps: - ${{ if or(eq(parameters.operatingSystem, 'Windows'), eq(parameters.operatingSystem, 'deferedToRuntime')) }}: - - ${{ if or(eq(parameters.build, 'MDS'), eq(parameters.build, 'all'), eq(parameters.build, 'allNoDocs')) }}: - - task: MSBuild@1 - displayName: 'Restore [Win]' - condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) - inputs: - solution: build.proj - msbuildArchitecture: x64 - msbuildArguments: >- - -t:restore - -p:ReferenceType=${{ parameters.referenceType }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} - retryCountOnTaskFailure: 1 - - - ${{ if eq(parameters.build, 'allNoDocs') }}: - - task: MSBuild@1 - displayName: 'Build Driver (no docs) [Win]' - condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) - inputs: - solution: build.proj - msbuildArchitecture: x64 - platform: '${{ parameters.platform }}' - configuration: '${{ parameters.buildConfiguration }}' - msbuildArguments: >- - -t:BuildAllConfigurations - -p:ReferenceType=${{ parameters.referenceType }} - -p:GenerateNuget=false - -p:GenerateDocumentationFile=false - -p:BuildNumber=${{ parameters.buildNumber }} - -p:AssemblyBuildNumber=${{ parameters.assemblyBuildNumber }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} - + - ${{ if or(eq(parameters.build, 'MDS'), eq(parameters.build, 'all')) }}: - ${{ if or(eq(parameters.build, 'MDS'), eq(parameters.build, 'all')) }}: - task: MSBuild@1 displayName: 'Build Driver [Win]' condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) inputs: - solution: build.proj + solution: build2.proj msbuildArchitecture: x64 platform: '${{ parameters.platform }}' configuration: '${{ parameters.buildConfiguration }}' msbuildArguments: - -t:BuildAllConfigurations + -t:BuildMdsWindows -p:ReferenceType=${{ parameters.referenceType }} - -p:GenerateNuget=false -p:BuildNumber=${{ parameters.buildNumber }} - -p:AssemblyBuildNumber=${{ parameters.assemblyBuildNumber }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} - ${{ if or(eq(parameters.build, 'AKV'), eq(parameters.build, 'all'), eq(parameters.build, 'allNoDocs')) }}: - task: MSBuild@1 @@ -160,20 +120,16 @@ steps: condition: and(succeeded(), ne(variables['Agent.OS'], 'Windows_NT')) inputs: command: custom - projects: build.proj + projects: build2.proj custom: msbuild arguments: >- - -t:BuildSqlClient + -t:BuildMdsUnix -p:ReferenceType=${{ parameters.referenceType }} - -p:TestEnabled=true - -p:GenerateNuget=false - -p:GenerateDocumentationFile=false -p:Configuration=${{ parameters.buildConfiguration }} -p:BuildNumber=${{ parameters.buildNumber }} - -p:AssemblyBuildNumber=${{ parameters.assemblyBuildNumber }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} verbosityRestore: Detailed verbosityPack: Detailed retryCountOnTaskFailure: 1 diff --git a/eng/pipelines/common/templates/steps/run-all-tests-step.yml b/eng/pipelines/common/templates/steps/run-all-tests-step.yml index b1d0261abc..c703689dbb 100644 --- a/eng/pipelines/common/templates/steps/run-all-tests-step.yml +++ b/eng/pipelines/common/templates/steps/run-all-tests-step.yml @@ -81,19 +81,19 @@ steps: displayName: 'Run Unit Tests ${{parameters.msbuildArchitecture }}' condition: succeededOrFailed() inputs: - solution: build.proj + solution: build2.proj msbuildArchitecture: ${{parameters.msbuildArchitecture }} platform: '${{parameters.platform }}' configuration: '${{parameters.buildConfiguration }}' ${{ if eq(parameters.msbuildArchitecture, 'x64') }}: msbuildArguments: >- - -t:RunUnitTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsUnit + -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} ${{ else }}: # x86 msbuildArguments: >- - -t:RunUnitTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsUnit + -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} @@ -101,16 +101,16 @@ steps: displayName: 'Run Flaky Unit Tests ${{parameters.msbuildArchitecture }}' condition: succeededOrFailed() inputs: - solution: build.proj + solution: build2.proj msbuildArchitecture: ${{parameters.msbuildArchitecture }} platform: '${{parameters.platform }}' configuration: '${{parameters.buildConfiguration }}' ${{ if eq(parameters.msbuildArchitecture, 'x64') }}: msbuildArguments: >- - -t:RunUnitTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsUnit + -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} - -p:Filter="category=flaky" + -p:TestFilters="category=flaky" -p:CollectCodeCoverage=false ${{ else }}: # x86 msbuildArguments: >- @@ -118,97 +118,93 @@ steps: -p:TF=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} - -p:Filter="category=flaky" - -p:CollectCodeCoverage=false + -p:Filters="category=flaky" + -p:TestCodeCoverage=false continueOnError: true - task: MSBuild@1 displayName: 'Run Functional Tests ${{parameters.msbuildArchitecture }}' condition: succeededOrFailed() inputs: - solution: build.proj + solution: build2.proj msbuildArchitecture: ${{parameters.msbuildArchitecture }} platform: '${{parameters.platform }}' configuration: '${{parameters.buildConfiguration }}' ${{ if eq(parameters.msbuildArchitecture, 'x64') }}: msbuildArguments: >- - -t:RunFunctionalTests - -p:TF=${{ parameters.targetFramework }} - -p:TestSet=${{ parameters.testSet }} + -t:RunTestsFunctional + -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} ${{ else }}: # x86 msbuildArguments: >- - -t:RunFunctionalTests - -p:TF=${{ parameters.targetFramework }} - -p:TestSet=${{ parameters.testSet }} + -t:RunTestsFunctional + -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} - task: MSBuild@1 condition: succeededOrFailed() displayName: 'Run Flaky Functional Tests ${{parameters.msbuildArchitecture }}' inputs: - solution: build.proj + solution: build2.proj msbuildArchitecture: ${{parameters.msbuildArchitecture }} platform: '${{parameters.platform }}' configuration: '${{parameters.buildConfiguration }}' ${{ if eq(parameters.msbuildArchitecture, 'x64') }}: msbuildArguments: >- - -t:RunFunctionalTests - -p:TF=${{ parameters.targetFramework }} - -p:TestSet=${{ parameters.testSet }} + -t:TestMdsFunctional + -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} - -p:Filter="category=flaky" - -p:CollectCodeCoverage=false + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} + -p:TestFilters="category=flaky" + -p:TestCodeCoverage=false ${{ else }}: # x86 msbuildArguments: >- - -t:RunFunctionalTests - -p:TF=${{ parameters.targetFramework }} - -p:TestSet=${{ parameters.testSet }} + -t:TestMdsFunctional + -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} - -p:Filter="category=flaky" - -p:CollectCodeCoverage=false + -p:TestFilters="category=flaky" + -p:TestCodeCoverage=false continueOnError: true - task: MSBuild@1 condition: succeededOrFailed() displayName: 'Run Manual Tests ${{parameters.msbuildArchitecture }}' inputs: - solution: build.proj + solution: build2.proj msbuildArchitecture: ${{parameters.msbuildArchitecture }} platform: '${{parameters.platform }}' configuration: '${{parameters.buildConfiguration }}' ${{ if eq(parameters.msbuildArchitecture, 'x64') }}: msbuildArguments: >- - -t:RunManualTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsManual + -p:TargetFramework=${{ parameters.targetFramework }} -p:TestSet=${{ parameters.testSet }} -p:ReferenceType=${{ parameters.referenceType }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} ${{ else }}: # x86 msbuildArguments: >- - -t:RunManualTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsManual + -p:TargetFramework=${{ parameters.targetFramework }} -p:TestSet=${{ parameters.testSet }} -p:ReferenceType=${{ parameters.referenceType }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }} @@ -216,33 +212,33 @@ steps: condition: succeededOrFailed() displayName: 'Run Flaky Manual Tests ${{parameters.msbuildArchitecture }}' inputs: - solution: build.proj + solution: build2.proj msbuildArchitecture: ${{parameters.msbuildArchitecture }} platform: '${{parameters.platform }}' configuration: '${{parameters.buildConfiguration }}' ${{ if eq(parameters.msbuildArchitecture, 'x64') }}: msbuildArguments: >- - -t:RunManualTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsManual + -p:TargetFramework=${{ parameters.targetFramework }} -p:TestSet=${{ parameters.testSet }} -p:ReferenceType=${{ parameters.referenceType }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} - -p:Filter="category=flaky" - -p:CollectCodeCoverage=false + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} + -p:TestFilters="category=flaky" + -p:TestCodeCoverage=false ${{ else }}: # x86 msbuildArguments: >- - -t:RunManualTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsManual + -p:TargetFramework=${{ parameters.targetFramework }} -p:TestSet=${{ parameters.testSet }} -p:ReferenceType=${{ parameters.referenceType }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} - -p:Filter="category=flaky" - -p:CollectCodeCoverage=false + -p:TestFilters="category=flaky" + -p:TestCodeCoverage=false continueOnError: true - ${{ else }}: # Linux or macOS @@ -252,17 +248,15 @@ steps: condition: succeededOrFailed() inputs: command: custom - projects: build.proj + projects: build2.proj custom: msbuild arguments: >- - -t:RunUnitTests - -p:TF=${{ parameters.targetFramework }} - -p:TestSet=${{ parameters.testSet }} + -t:TestMdsUnit + -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} - -p:Platform=${{ parameters.platform }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:Configuration=${{ parameters.buildConfiguration }} verbosityRestore: Detailed verbosityPack: Detailed @@ -272,20 +266,18 @@ steps: condition: succeededOrFailed() inputs: command: custom - projects: build.proj + projects: build2.proj custom: msbuild arguments: >- - -t:RunUnitTests - -p:TF=${{ parameters.targetFramework }} - -p:TestSet=${{ parameters.testSet }} + -t:TestMdsUnit + -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} - -p:Platform=${{ parameters.platform }} -p:Configuration=${{ parameters.buildConfiguration }} - -p:Filter="category=flaky" - -p:CollectCodeCoverage=false + -p:TestFilters="category=flaky" + -p:TestCodeCoverage=false verbosityRestore: Detailed verbosityPack: Detailed continueOnError: true @@ -295,17 +287,15 @@ steps: condition: succeededOrFailed() inputs: command: custom - projects: build.proj + projects: build2.proj custom: msbuild arguments: >- - -t:RunFunctionalTests - -p:TF=${{ parameters.targetFramework }} - -p:TestSet=${{ parameters.testSet }} + -t:TestMdsFunctional + -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} - -p:Platform=${{ parameters.platform }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:Configuration=${{ parameters.buildConfiguration }} verbosityRestore: Detailed verbosityPack: Detailed @@ -315,20 +305,18 @@ steps: displayName: 'Run Flaky Functional Tests' inputs: command: custom - projects: build.proj + projects: build2.proj custom: msbuild arguments: >- - -t:RunFunctionalTests - -p:TF=${{ parameters.targetFramework }} - -p:TestSet=${{ parameters.testSet }} + -t:TestMdsFunctional + -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} - -p:Platform=${{ parameters.platform }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:Configuration=${{ parameters.buildConfiguration }} - -p:Filter="category=flaky" - -p:CollectCodeCoverage=false + -p:TestFilters="category=flaky" + -p:TestCodeCoverage=false verbosityRestore: Detailed verbosityPack: Detailed continueOnError: true @@ -338,17 +326,16 @@ steps: condition: succeededOrFailed() inputs: command: custom - projects: build.proj + projects: build2.proj custom: msbuild arguments: >- - -t:RunManualTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsManual + -p:TargetFramework=${{ parameters.targetFramework }} -p:TestSet=${{ parameters.testSet }} -p:ReferenceType=${{ parameters.referenceType }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} - -p:platform=${{ parameters.platform }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:Configuration=${{ parameters.buildConfiguration }} verbosityRestore: Detailed verbosityPack: Detailed @@ -359,20 +346,19 @@ steps: condition: succeededOrFailed() inputs: command: custom - projects: build.proj + projects: build2.proj custom: msbuild arguments: >- - -t:RunManualTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsManual + -p:TargetFramework=${{ parameters.targetFramework }} -p:TestSet=${{ parameters.testSet }} -p:ReferenceType=${{ parameters.referenceType }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} - -p:Platform=${{ parameters.platform }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:Configuration=${{ parameters.buildConfiguration }} - -p:Filter="category=flaky" - -p:CollectCodeCoverage=false + -p:TestFilters="category=flaky" + -p:TestCodeCoverage=false verbosityRestore: Detailed verbosityPack: Detailed continueOnError: true diff --git a/eng/pipelines/onebranch/jobs/build-signed-sqlclient-package-job.yml b/eng/pipelines/onebranch/jobs/build-signed-sqlclient-package-job.yml index 07da49215d..4a0053a9b4 100644 --- a/eng/pipelines/onebranch/jobs/build-signed-sqlclient-package-job.yml +++ b/eng/pipelines/onebranch/jobs/build-signed-sqlclient-package-job.yml @@ -58,15 +58,6 @@ jobs: # Install the .NET SDK. - template: /eng/pipelines/steps/install-dotnet.yml@self - # Build our tooling, which is required by the analysis step below, but - # shouldn't be analyzed itself. - - task: MSBuild@1 - displayName: 'Build Tooling' - inputs: - solution: '**/build.proj' - configuration: Release - msbuildArguments: -t:BuildTools - # Perform analysis before building, since this step will clobber build output. - template: /eng/pipelines/onebranch/steps/code-analyze-step.yml@self diff --git a/eng/pipelines/onebranch/steps/build-all-configurations-signed-dlls-step.yml b/eng/pipelines/onebranch/steps/build-all-configurations-signed-dlls-step.yml index b1429e1fd3..3d3ceaa40c 100644 --- a/eng/pipelines/onebranch/steps/build-all-configurations-signed-dlls-step.yml +++ b/eng/pipelines/onebranch/steps/build-all-configurations-signed-dlls-step.yml @@ -41,18 +41,14 @@ steps: - template: /eng/pipelines/steps/install-dotnet.yml@self - task: MSBuild@1 - displayName: 'BuildAllConfigurations using build.proj' + displayName: 'BuildMds using build2.proj' inputs: - solution: '**/build.proj' + solution: '**/build2.proj' configuration: Release msbuildArguments: >- - -t:BuildAllConfigurations + -t:BuildMds -p:ReferenceType=Package - -p:GenerateNuget=false - -p:SigningKeyPath=$(keyFile.secureFilePath) - -p:AssemblyFileVersion=${{ parameters.mdsAssemblyFileVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:AbstractionsAssemblyFileVersion=${{ parameters.abstractionsAssemblyFileVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:LoggingAssemblyFileVersion=${{ parameters.loggingAssemblyFileVersion }} + -p:SigningKeyPath="$(keyFile.secureFilePath)" + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} diff --git a/eng/pipelines/onebranch/steps/code-analyze-step.yml b/eng/pipelines/onebranch/steps/code-analyze-step.yml index a574c7886f..7b39083bc2 100644 --- a/eng/pipelines/onebranch/steps/code-analyze-step.yml +++ b/eng/pipelines/onebranch/steps/code-analyze-step.yml @@ -32,8 +32,6 @@ steps: setupCommandlinePicker: vs2022 msBuildCommandline: >- msbuild - ${{parameters.sourceRoot}}\build.proj - -t:BuildAllConfigurations + ${{parameters.sourceRoot}}\build2.proj + -t:BuildMds -p:configuration=Release - -p:GenerateNuget=false - -p:BuildTools=false diff --git a/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml b/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml index 663532b905..a575d2dd6a 100644 --- a/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml +++ b/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml @@ -44,6 +44,7 @@ pr: - tools/* - azurepipelines-coverage.yml - build.proj + - build2.proj - Directory.Packages.props - dotnet-tools.json - global.json diff --git a/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml b/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml index 868b3010ff..dd8f34e58b 100644 --- a/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml +++ b/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml @@ -44,6 +44,7 @@ pr: - tools/* - azurepipelines-coverage.yml - build.proj + - build2.proj - Directory.Packages.props - dotnet-tools.json - global.json From c183862e752bf4b4acb034c35ef4fde71a8e3176 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Wed, 11 Mar 2026 14:02:17 -0500 Subject: [PATCH 11/24] Reinstate the assemblybuildnumber property --- .../common/templates/steps/ci-project-build-step.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/eng/pipelines/common/templates/steps/ci-project-build-step.yml b/eng/pipelines/common/templates/steps/ci-project-build-step.yml index 5829a55324..09dd752373 100644 --- a/eng/pipelines/common/templates/steps/ci-project-build-step.yml +++ b/eng/pipelines/common/templates/steps/ci-project-build-step.yml @@ -46,6 +46,10 @@ parameters: - all - allNoDocs + # The build number suffix to apply to all assembly file versions built by this step. + - name: assemblyBuildNumber + type: string + # Necessary to build MDS when referenceType is Package. Ignored when referenceType is Project. - name: abstractionsPackageVersion type: string From 891b2ed7b8dedc48260266b6a52e9c99cf58b624 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Wed, 11 Mar 2026 16:18:04 -0500 Subject: [PATCH 12/24] Build all of MDS, once --- .../templates/steps/ci-project-build-step.yml | 52 ++++++------------- 1 file changed, 15 insertions(+), 37 deletions(-) diff --git a/eng/pipelines/common/templates/steps/ci-project-build-step.yml b/eng/pipelines/common/templates/steps/ci-project-build-step.yml index 09dd752373..b6c28ee1ce 100644 --- a/eng/pipelines/common/templates/steps/ci-project-build-step.yml +++ b/eng/pipelines/common/templates/steps/ci-project-build-step.yml @@ -66,24 +66,22 @@ parameters: default: $(mdsPackageVersion) steps: -- ${{ if or(eq(parameters.operatingSystem, 'Windows'), eq(parameters.operatingSystem, 'deferedToRuntime')) }}: - ${{ if or(eq(parameters.build, 'MDS'), eq(parameters.build, 'all')) }}: - - ${{ if or(eq(parameters.build, 'MDS'), eq(parameters.build, 'all')) }}: - - task: MSBuild@1 - displayName: 'Build Driver [Win]' - condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) - inputs: - solution: build2.proj - msbuildArchitecture: x64 - platform: '${{ parameters.platform }}' - configuration: '${{ parameters.buildConfiguration }}' - msbuildArguments: - -t:BuildMdsWindows - -p:ReferenceType=${{ parameters.referenceType }} - -p:BuildNumber=${{ parameters.buildNumber }} - -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} - -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} - -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} + - task: MSBuild@1 + displayName: 'Build Driver [Win]' + condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) + inputs: + solution: build2.proj + msbuildArchitecture: x64 + platform: '${{ parameters.platform }}' + configuration: '${{ parameters.buildConfiguration }}' + msbuildArguments: + -t:BuildMds + -p:ReferenceType=${{ parameters.referenceType }} + -p:BuildNumber=${{ parameters.buildNumber }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} - ${{ if or(eq(parameters.build, 'AKV'), eq(parameters.build, 'all'), eq(parameters.build, 'allNoDocs')) }}: - task: MSBuild@1 @@ -117,23 +115,3 @@ steps: -p:BuildNumber=${{ parameters.buildNumber }} -p:AssemblyBuildNumber=${{ parameters.assemblyBuildNumber }} -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} - -- ${{ if or(eq(parameters.operatingSystem, 'Linux'), eq(parameters.operatingSystem, 'MacOS'), eq(parameters.operatingSystem, 'deferedToRuntime')) }}: - - task: DotNetCoreCLI@2 - displayName: 'Build Driver [${{ parameters.operatingSystem }}]' - condition: and(succeeded(), ne(variables['Agent.OS'], 'Windows_NT')) - inputs: - command: custom - projects: build2.proj - custom: msbuild - arguments: >- - -t:BuildMdsUnix - -p:ReferenceType=${{ parameters.referenceType }} - -p:Configuration=${{ parameters.buildConfiguration }} - -p:BuildNumber=${{ parameters.buildNumber }} - -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} - -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} - -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} - verbosityRestore: Detailed - verbosityPack: Detailed - retryCountOnTaskFailure: 1 From a23cb73ad882136036235f5aad7e19ac9c5d07d6 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Wed, 11 Mar 2026 16:28:17 -0500 Subject: [PATCH 13/24] PR comments from copilot --- build2.proj | 29 +++++++++++++++---- .../templates/steps/run-all-tests-step.yml | 12 ++++---- .../MdsVersions.props | 2 +- 3 files changed, 30 insertions(+), 13 deletions(-) diff --git a/build2.proj b/build2.proj index 3efa90f8de..4ec86ed932 100644 --- a/build2.proj +++ b/build2.proj @@ -136,6 +136,20 @@ -p:ReferenceType=Package + + + + + -p:SigningKeyPath='$(SigningKeyPath)' + + - true - + true + --collect "Code coverage" --settings "$(RepoRoot)src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.TestUtilities/CodeCoverage.runsettings" - + $(ReferenceTypeArgument) @@ -294,6 +309,7 @@ "$(DotnetPath)dotnet" build $(MdsRefProjectPath) -p:Configuration=$(Configuration) + $(SigningKeyPathArgument) $(ReferenceTypeArgument) @@ -314,6 +330,7 @@ "$(DotnetPath)dotnet" build $(MdsProjectPath) -p:Configuration=$(Configuration) -p:TargetOs=Unix + $(SigningKeyPathArgument) $(BuildNumberArgument) @@ -339,6 +356,7 @@ "$(DotnetPath)dotnet" build $(MdsProjectPath) -p:Configuration=$(Configuration) -p:TargetOs=Windows_NT + $(SigningKeyPathArgument) $(BuildNumberArgument) @@ -363,8 +381,7 @@ automatically build before packaging. Instead, we rely on target dependency to handle building the same binaries that will be packaged. --> - - + - - -t:RunUnitTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsUnit + -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} - -p:Filters="category=flaky" + -p:TestFilters="category=flaky" -p:TestCodeCoverage=false continueOnError: true @@ -132,7 +132,7 @@ steps: configuration: '${{parameters.buildConfiguration }}' ${{ if eq(parameters.msbuildArchitecture, 'x64') }}: msbuildArguments: >- - -t:RunTestsFunctional + -t:TestMdsFunctional -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} @@ -140,7 +140,7 @@ steps: -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} ${{ else }}: # x86 msbuildArguments: >- - -t:RunTestsFunctional + -t:TestMdsFunctional -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} @@ -274,7 +274,7 @@ steps: -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:Configuration=${{ parameters.buildConfiguration }} -p:TestFilters="category=flaky" -p:TestCodeCoverage=false diff --git a/src/Microsoft.Data.SqlClient/MdsVersions.props b/src/Microsoft.Data.SqlClient/MdsVersions.props index df7eaac39d..24d3a6a745 100644 --- a/src/Microsoft.Data.SqlClient/MdsVersions.props +++ b/src/Microsoft.Data.SqlClient/MdsVersions.props @@ -1,5 +1,5 @@ - + 8.1.0 From 73f0bf86b6bdb8b650e3d4f670de181d538d60a1 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Wed, 11 Mar 2026 17:32:16 -0500 Subject: [PATCH 14/24] Specify test results folder for CI builds --- .../templates/steps/run-all-tests-step.yml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/eng/pipelines/common/templates/steps/run-all-tests-step.yml b/eng/pipelines/common/templates/steps/run-all-tests-step.yml index 2addaafb1d..41b5a03b33 100644 --- a/eng/pipelines/common/templates/steps/run-all-tests-step.yml +++ b/eng/pipelines/common/templates/steps/run-all-tests-step.yml @@ -90,12 +90,14 @@ steps: -t:TestMdsUnit -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} + -p:TestResultsFolderPath=TestResults ${{ else }}: # x86 msbuildArguments: >- -t:TestMdsUnit -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} + -p:TestResultsFolderPath=TestResults - task: MSBuild@1 displayName: 'Run Flaky Unit Tests ${{parameters.msbuildArchitecture }}' @@ -111,7 +113,8 @@ steps: -p:TargetFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:TestFilters="category=flaky" - -p:CollectCodeCoverage=false + -p:TestResultsFolderPath=TestResults + -p:TestCodeCoverage=false ${{ else }}: # x86 msbuildArguments: >- -t:TestMdsUnit @@ -119,6 +122,7 @@ steps: -p:ReferenceType=${{ parameters.referenceType }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} -p:TestFilters="category=flaky" + -p:TestResultsFolderPath=TestResults -p:TestCodeCoverage=false continueOnError: true @@ -138,6 +142,7 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} + -p:TestResultsFolderPath=TestResults ${{ else }}: # x86 msbuildArguments: >- -t:TestMdsFunctional @@ -147,6 +152,7 @@ steps: -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} + -p:TestResultsFolderPath=TestResults - task: MSBuild@1 condition: succeededOrFailed() @@ -165,6 +171,7 @@ steps: -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:TestFilters="category=flaky" + -p:TestResultsFolderPath=TestResults -p:TestCodeCoverage=false ${{ else }}: # x86 msbuildArguments: >- @@ -176,6 +183,7 @@ steps: -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} -p:TestFilters="category=flaky" + -p:TestResultsFolderPath=TestResults -p:TestCodeCoverage=false continueOnError: true @@ -196,6 +204,7 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} + -p:TestResultsFolderPath=TestResults ${{ else }}: # x86 msbuildArguments: >- -t:TestMdsManual @@ -206,6 +215,7 @@ steps: -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} + -p:TestResultsFolderPath=TestResults retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }} - task: MSBuild@1 @@ -226,6 +236,7 @@ steps: -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:TestFilters="category=flaky" + -p:TestResultsFolderPath=TestResults -p:TestCodeCoverage=false ${{ else }}: # x86 msbuildArguments: >- @@ -238,6 +249,7 @@ steps: -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} -p:TestFilters="category=flaky" + -p:TestResultsFolderPath=TestResults -p:TestCodeCoverage=false continueOnError: true @@ -277,6 +289,7 @@ steps: -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:Configuration=${{ parameters.buildConfiguration }} -p:TestFilters="category=flaky" + -p:TestResultsFolderPath=TestResults -p:TestCodeCoverage=false verbosityRestore: Detailed verbosityPack: Detailed @@ -297,6 +310,7 @@ steps: -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:Configuration=${{ parameters.buildConfiguration }} + -p:TestResultsFolderPath=TestResults verbosityRestore: Detailed verbosityPack: Detailed @@ -316,6 +330,7 @@ steps: -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:Configuration=${{ parameters.buildConfiguration }} -p:TestFilters="category=flaky" + -p:TestResultsFolderPath=TestResults -p:TestCodeCoverage=false verbosityRestore: Detailed verbosityPack: Detailed @@ -337,6 +352,7 @@ steps: -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:Configuration=${{ parameters.buildConfiguration }} + -p:TestResultsFolderPath=TestResults verbosityRestore: Detailed verbosityPack: Detailed retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }} @@ -358,6 +374,7 @@ steps: -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:Configuration=${{ parameters.buildConfiguration }} -p:TestFilters="category=flaky" + -p:TestResultsFolderPath=TestResults -p:TestCodeCoverage=false verbosityRestore: Detailed verbosityPack: Detailed From d0aa7b8ee70bec120507d6559c060db41799161c Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Wed, 11 Mar 2026 17:56:12 -0500 Subject: [PATCH 15/24] TargetFramework => TestFramework --- .../templates/steps/run-all-tests-step.yml | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/eng/pipelines/common/templates/steps/run-all-tests-step.yml b/eng/pipelines/common/templates/steps/run-all-tests-step.yml index 41b5a03b33..0dcf04477a 100644 --- a/eng/pipelines/common/templates/steps/run-all-tests-step.yml +++ b/eng/pipelines/common/templates/steps/run-all-tests-step.yml @@ -88,13 +88,13 @@ steps: ${{ if eq(parameters.msbuildArchitecture, 'x64') }}: msbuildArguments: >- -t:TestMdsUnit - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:TestResultsFolderPath=TestResults ${{ else }}: # x86 msbuildArguments: >- -t:TestMdsUnit - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} -p:TestResultsFolderPath=TestResults @@ -110,7 +110,7 @@ steps: ${{ if eq(parameters.msbuildArchitecture, 'x64') }}: msbuildArguments: >- -t:TestMdsUnit - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:TestFilters="category=flaky" -p:TestResultsFolderPath=TestResults @@ -118,7 +118,7 @@ steps: ${{ else }}: # x86 msbuildArguments: >- -t:TestMdsUnit - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} -p:TestFilters="category=flaky" @@ -137,7 +137,7 @@ steps: ${{ if eq(parameters.msbuildArchitecture, 'x64') }}: msbuildArguments: >- -t:TestMdsFunctional - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} @@ -146,7 +146,7 @@ steps: ${{ else }}: # x86 msbuildArguments: >- -t:TestMdsFunctional - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} @@ -165,7 +165,7 @@ steps: ${{ if eq(parameters.msbuildArchitecture, 'x64') }}: msbuildArguments: >- -t:TestMdsFunctional - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} @@ -176,7 +176,7 @@ steps: ${{ else }}: # x86 msbuildArguments: >- -t:TestMdsFunctional - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} @@ -198,7 +198,7 @@ steps: ${{ if eq(parameters.msbuildArchitecture, 'x64') }}: msbuildArguments: >- -t:TestMdsManual - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:TestSet=${{ parameters.testSet }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} @@ -208,7 +208,7 @@ steps: ${{ else }}: # x86 msbuildArguments: >- -t:TestMdsManual - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:TestSet=${{ parameters.testSet }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} @@ -229,7 +229,7 @@ steps: ${{ if eq(parameters.msbuildArchitecture, 'x64') }}: msbuildArguments: >- -t:TestMdsManual - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:TestSet=${{ parameters.testSet }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} @@ -241,7 +241,7 @@ steps: ${{ else }}: # x86 msbuildArguments: >- -t:TestMdsManual - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:TestSet=${{ parameters.testSet }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} @@ -264,7 +264,7 @@ steps: custom: msbuild arguments: >- -t:TestMdsUnit - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} @@ -282,7 +282,7 @@ steps: custom: msbuild arguments: >- -t:TestMdsUnit - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} @@ -304,7 +304,7 @@ steps: custom: msbuild arguments: >- -t:TestMdsFunctional - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} @@ -323,7 +323,7 @@ steps: custom: msbuild arguments: >- -t:TestMdsFunctional - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} @@ -345,7 +345,7 @@ steps: custom: msbuild arguments: >- -t:TestMdsManual - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:TestSet=${{ parameters.testSet }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} @@ -366,7 +366,7 @@ steps: custom: msbuild arguments: >- -t:TestMdsManual - -p:TargetFramework=${{ parameters.targetFramework }} + -p:TestFramework=${{ parameters.targetFramework }} -p:TestSet=${{ parameters.testSet }} -p:ReferenceType=${{ parameters.referenceType }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} From ef05fcbc1403b17ec2e06d970224aaf2b5548b6e Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Wed, 11 Mar 2026 23:30:21 -0500 Subject: [PATCH 16/24] Fixing a couple more comments --- build2.proj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build2.proj b/build2.proj index 4ec86ed932..d79dd69668 100644 --- a/build2.proj +++ b/build2.proj @@ -147,7 +147,7 @@ --> - -p:SigningKeyPath='$(SigningKeyPath)' + -p:SigningKeyPath="$(SigningKeyPath)" true - + --collect "Code coverage" --settings "$(RepoRoot)src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.TestUtilities/CodeCoverage.runsettings" - + true - + --collect "Code coverage" --settings "$(RepoRoot)src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.TestUtilities/CodeCoverage.runsettings" - + + $(AssemblyVersion) + System @@ -19,7 +22,7 @@ namespace $(ThisAssemblyNamespace) { internal static class ThisAssembly { - internal const string InformationalVersion = "$(AssemblyVersion)"%3B + internal const string InformationalVersion = "$(AssemblyFileVersion)"%3B internal const string NuGetPackageVersion = "$(Version)"%3B } } From f354eacaf27aaa0738a5b09d51eeaba4c5af522c Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Thu, 12 Mar 2026 13:32:27 -0500 Subject: [PATCH 18/24] downgrade back to 7.0.0 :) --- src/Microsoft.Data.SqlClient.sln | 3 +++ src/Microsoft.Data.SqlClient/MdsVersions.props | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.Data.SqlClient.sln b/src/Microsoft.Data.SqlClient.sln index 087ab690ff..13d574f92e 100644 --- a/src/Microsoft.Data.SqlClient.sln +++ b/src/Microsoft.Data.SqlClient.sln @@ -330,6 +330,9 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Logging", "Microsoft.Data.SqlClient.Extensions\Logging\src\Logging.csproj", "{A1B2C3D4-E5F6-7A8B-9C0D-1E2F3A4B5C6D}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Microsoft.Data.SqlClient", "Microsoft.Data.SqlClient", "{7289C27E-D7DF-2C71-84B4-151F3A162493}" + ProjectSection(SolutionItems) = preProject + Microsoft.Data.SqlClient\MdsVersions.props = Microsoft.Data.SqlClient\MdsVersions.props + EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{7E0602AC-7F0A-362A-D734-0FDDFCC600B5}" EndProject diff --git a/src/Microsoft.Data.SqlClient/MdsVersions.props b/src/Microsoft.Data.SqlClient/MdsVersions.props index 24d3a6a745..902a825937 100644 --- a/src/Microsoft.Data.SqlClient/MdsVersions.props +++ b/src/Microsoft.Data.SqlClient/MdsVersions.props @@ -1,7 +1,7 @@ - 8.1.0 + 7.0.0 $(ReferenceTypeArgument) @@ -310,6 +310,7 @@ "$(DotnetPath)dotnet" build $(MdsRefProjectPath) -p:Configuration=$(Configuration) $(SigningKeyPathArgument) + $(BuildNumberArgument) $(ReferenceTypeArgument) @@ -402,6 +403,7 @@ + $([System.Text.RegularExpressions.Regex]::Replace($(CommitId), "\s", "")) "$(NugetPath)" pack "$(MdsNuspecPath)" -Symbols diff --git a/eng/pipelines/common/templates/steps/run-all-tests-step.yml b/eng/pipelines/common/templates/steps/run-all-tests-step.yml index 0dcf04477a..2c407f7d1e 100644 --- a/eng/pipelines/common/templates/steps/run-all-tests-step.yml +++ b/eng/pipelines/common/templates/steps/run-all-tests-step.yml @@ -270,6 +270,7 @@ steps: -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} -p:Configuration=${{ parameters.buildConfiguration }} + -p:TestResultsFolderPath=TestResults verbosityRestore: Detailed verbosityPack: Detailed diff --git a/src/Microsoft.Data.SqlClient/notsupported/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/notsupported/Microsoft.Data.SqlClient.csproj index 6569f69a1a..6f5fc44f59 100644 --- a/src/Microsoft.Data.SqlClient/notsupported/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/notsupported/Microsoft.Data.SqlClient.csproj @@ -67,6 +67,14 @@ $(NoWarn);CS0618 + + + + $(MdsAssemblyVersion) + $(MdsAssemblyVersion) + $(MdsPackageVersion) + + + + + $(MdsAssemblyVersion) + $(MdsAssemblyVersion) + $(MdsPackageVersion) + + diff --git a/tools/targets/GenerateThisAssemblyCs.targets b/tools/targets/GenerateThisAssemblyCs.targets index 5c04438da1..6dfd670c5c 100644 --- a/tools/targets/GenerateThisAssemblyCs.targets +++ b/tools/targets/GenerateThisAssemblyCs.targets @@ -9,7 +9,7 @@ - $(AssemblyVersion) + $(AssemblyVersion) System From efbdbb2424b3bcccd2d1ab7b217335718090c3c4 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Mon, 16 Mar 2026 12:26:52 -0500 Subject: [PATCH 20/24] Fix indenting --- eng/pipelines/common/templates/steps/ci-project-build-step.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/common/templates/steps/ci-project-build-step.yml b/eng/pipelines/common/templates/steps/ci-project-build-step.yml index 679fcca55b..a2ade3fc88 100644 --- a/eng/pipelines/common/templates/steps/ci-project-build-step.yml +++ b/eng/pipelines/common/templates/steps/ci-project-build-step.yml @@ -91,7 +91,7 @@ steps: # Build AKV Provider - ${{ if or(eq(parameters.build, 'AkvProvider'), eq(parameters.build, 'all'), eq(parameters.build, 'allNoDocs')) }}: - - task: MSBuild@1 + - task: MSBuild@1 displayName: 'Build AKV Provider' condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) inputs: From cd744bff59e233f09082f5bb53ce220b7e992cc2 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Mon, 16 Mar 2026 17:46:31 -0500 Subject: [PATCH 21/24] Back out changes to official pipelines --- .../build-signed-sqlclient-package-job.yml | 9 +++++++++ ...ild-all-configurations-signed-dlls-step.yml | 18 +++++++++++------- src/Microsoft.Data.SqlClient.sln | 4 ---- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/eng/pipelines/onebranch/jobs/build-signed-sqlclient-package-job.yml b/eng/pipelines/onebranch/jobs/build-signed-sqlclient-package-job.yml index 1fc7b78d1e..a422a5351c 100644 --- a/eng/pipelines/onebranch/jobs/build-signed-sqlclient-package-job.yml +++ b/eng/pipelines/onebranch/jobs/build-signed-sqlclient-package-job.yml @@ -58,6 +58,15 @@ jobs: # Install the .NET SDK. - template: /eng/pipelines/steps/install-dotnet.yml@self + # Build our tooling, which is required by the analysis step below, but + # shouldn't be analyzed itself. + - task: MSBuild@1 + displayName: 'Build Tooling' + inputs: + solution: '**/build.proj' + configuration: Release + msbuildArguments: -t:BuildTools + # Perform analysis before building, since this step will clobber build output. - template: /eng/pipelines/onebranch/steps/code-analyze-step.yml@self diff --git a/eng/pipelines/onebranch/steps/build-all-configurations-signed-dlls-step.yml b/eng/pipelines/onebranch/steps/build-all-configurations-signed-dlls-step.yml index 3d3ceaa40c..b1429e1fd3 100644 --- a/eng/pipelines/onebranch/steps/build-all-configurations-signed-dlls-step.yml +++ b/eng/pipelines/onebranch/steps/build-all-configurations-signed-dlls-step.yml @@ -41,14 +41,18 @@ steps: - template: /eng/pipelines/steps/install-dotnet.yml@self - task: MSBuild@1 - displayName: 'BuildMds using build2.proj' + displayName: 'BuildAllConfigurations using build.proj' inputs: - solution: '**/build2.proj' + solution: '**/build.proj' configuration: Release msbuildArguments: >- - -t:BuildMds + -t:BuildAllConfigurations -p:ReferenceType=Package - -p:SigningKeyPath="$(keyFile.secureFilePath)" - -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} - -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} - -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:GenerateNuget=false + -p:SigningKeyPath=$(keyFile.secureFilePath) + -p:AssemblyFileVersion=${{ parameters.mdsAssemblyFileVersion }} + -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} + -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} + -p:AbstractionsAssemblyFileVersion=${{ parameters.abstractionsAssemblyFileVersion }} + -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} + -p:LoggingAssemblyFileVersion=${{ parameters.loggingAssemblyFileVersion }} diff --git a/src/Microsoft.Data.SqlClient.sln b/src/Microsoft.Data.SqlClient.sln index 572a8a82a3..b25ed21444 100644 --- a/src/Microsoft.Data.SqlClient.sln +++ b/src/Microsoft.Data.SqlClient.sln @@ -374,7 +374,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "onebranch", "onebranch", "{ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "jobs", "jobs", "{B3061B34-2A1C-49B9-A3A9-D4D37B4704B2}" ProjectSection(SolutionItems) = preProject - ..\eng\pipelines\onebranch\jobs\build-akv-official-job.yml = ..\eng\pipelines\onebranch\jobs\build-akv-official-job.yml ..\eng\pipelines\onebranch\jobs\build-signed-csproj-package-job.yml = ..\eng\pipelines\onebranch\jobs\build-signed-csproj-package-job.yml ..\eng\pipelines\onebranch\jobs\build-signed-sqlclient-package-job.yml = ..\eng\pipelines\onebranch\jobs\build-signed-sqlclient-package-job.yml ..\eng\pipelines\onebranch\jobs\publish-nuget-package-job.yml = ..\eng\pipelines\onebranch\jobs\publish-nuget-package-job.yml @@ -391,17 +390,14 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "steps", "steps", "{45B9E5C3 ProjectSection(SolutionItems) = preProject ..\eng\pipelines\onebranch\steps\build-all-configurations-signed-dlls-step.yml = ..\eng\pipelines\onebranch\steps\build-all-configurations-signed-dlls-step.yml ..\eng\pipelines\onebranch\steps\code-analyze-step.yml = ..\eng\pipelines\onebranch\steps\code-analyze-step.yml - ..\eng\pipelines\onebranch\steps\compound-build-akv-step.yml = ..\eng\pipelines\onebranch\steps\compound-build-akv-step.yml ..\eng\pipelines\onebranch\steps\compound-build-csproj-step.yml = ..\eng\pipelines\onebranch\steps\compound-build-csproj-step.yml ..\eng\pipelines\onebranch\steps\compound-esrp-dll-signing-step.yml = ..\eng\pipelines\onebranch\steps\compound-esrp-dll-signing-step.yml ..\eng\pipelines\onebranch\steps\compound-esrp-nuget-signing-step.yml = ..\eng\pipelines\onebranch\steps\compound-esrp-nuget-signing-step.yml - ..\eng\pipelines\onebranch\steps\compound-extract-akv-apiscan-files-step.yml = ..\eng\pipelines\onebranch\steps\compound-extract-akv-apiscan-files-step.yml ..\eng\pipelines\onebranch\steps\compound-nuget-pack-step.yml = ..\eng\pipelines\onebranch\steps\compound-nuget-pack-step.yml ..\eng\pipelines\onebranch\steps\compound-pack-csproj-step.yml = ..\eng\pipelines\onebranch\steps\compound-pack-csproj-step.yml ..\eng\pipelines\onebranch\steps\compound-publish-symbols-step.yml = ..\eng\pipelines\onebranch\steps\compound-publish-symbols-step.yml ..\eng\pipelines\onebranch\steps\esrp-code-signing-step.yml = ..\eng\pipelines\onebranch\steps\esrp-code-signing-step.yml ..\eng\pipelines\onebranch\steps\publish-symbols-step.yml = ..\eng\pipelines\onebranch\steps\publish-symbols-step.yml - ..\eng\pipelines\onebranch\steps\roslyn-analyzers-akv-step.yml = ..\eng\pipelines\onebranch\steps\roslyn-analyzers-akv-step.yml ..\eng\pipelines\onebranch\steps\script-output-environment-variables-step.yml = ..\eng\pipelines\onebranch\steps\script-output-environment-variables-step.yml EndProjectSection EndProject From 34f53e29db3afc93d8b694580a41cea25a13fdd9 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Mon, 16 Mar 2026 17:59:32 -0500 Subject: [PATCH 22/24] A couple more comments from CoPilot --- build2.proj | 6 ++++++ src/Microsoft.Data.SqlClient/MdsVersions.props | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/build2.proj b/build2.proj index 887dab7f03..9064ec8090 100644 --- a/build2.proj +++ b/build2.proj @@ -288,7 +288,10 @@ -p:Configuration=$(Configuration) -p:GenApiPath="@(GenApiArtifactPath->'%(FullPath)')" $(SigningKeyPathArgument) + + $(BuildNumberArgument) + $(PacakgeVersionArgument) $(ReferenceTypeArgument) @@ -310,7 +313,10 @@ "$(DotnetPath)dotnet" build $(MdsRefProjectPath) -p:Configuration=$(Configuration) $(SigningKeyPathArgument) + + $(BuildNumberArgument) + $(PacakgeVersionArgument) $(ReferenceTypeArgument) diff --git a/src/Microsoft.Data.SqlClient/MdsVersions.props b/src/Microsoft.Data.SqlClient/MdsVersions.props index da9e162780..cc36eb93ef 100644 --- a/src/Microsoft.Data.SqlClient/MdsVersions.props +++ b/src/Microsoft.Data.SqlClient/MdsVersions.props @@ -22,7 +22,7 @@ NOTE: It is possible that the build number can be in the format xxxx.y which *may* overflow the 16-bit integer for the revision part of the assembly version. For that reason, we simply - discard everythign after the first part of the build number for the assembly version. + discard everything after the first part of the build number for the assembly version. --> $(MdsVersionDefault).$(BuildNumber.Split('.')[0]) $(MdsPackageVersion.Split('-')[0]) From cc41334164cc0ecd919db803bdc55d3c74baf8eb Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Wed, 18 Mar 2026 13:10:31 -0500 Subject: [PATCH 23/24] Generate AKV documentation file during CI build ... idk why this is only a problem *now* --- eng/pipelines/common/templates/steps/ci-project-build-step.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/pipelines/common/templates/steps/ci-project-build-step.yml b/eng/pipelines/common/templates/steps/ci-project-build-step.yml index a2ade3fc88..d43222bfd1 100644 --- a/eng/pipelines/common/templates/steps/ci-project-build-step.yml +++ b/eng/pipelines/common/templates/steps/ci-project-build-step.yml @@ -104,7 +104,6 @@ steps: -p:ReferenceType=${{ parameters.referenceType }} -p:TestEnabled=true -p:GenerateNuget=false - -p:GenerateDocumentationFile=false -p:Configuration=${{ parameters.buildConfiguration }} -p:BuildNumber=${{ parameters.buildNumber }} -p:AssemblyBuildNumber=${{ parameters.assemblyBuildNumber }} From 3f08d218a3e46772ccf2c21285d2e206bd9a76c0 Mon Sep 17 00:00:00 2001 From: Ben Russell Date: Wed, 18 Mar 2026 13:51:46 -0500 Subject: [PATCH 24/24] Comments from Copilot ... I'd love it if it could give the same comments across commits. --- build2.proj | 4 +-- .../MdsVersions.props | 25 +++++++++++-------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/build2.proj b/build2.proj index 9064ec8090..b9b08f9a4a 100644 --- a/build2.proj +++ b/build2.proj @@ -291,7 +291,7 @@ $(BuildNumberArgument) - $(PacakgeVersionArgument) + $(PacakgeVersionMdsArgument) $(ReferenceTypeArgument) @@ -316,7 +316,7 @@ $(BuildNumberArgument) - $(PacakgeVersionArgument) + $(PacakgeVersionMdsArgument) $(ReferenceTypeArgument) diff --git a/src/Microsoft.Data.SqlClient/MdsVersions.props b/src/Microsoft.Data.SqlClient/MdsVersions.props index cc36eb93ef..e50e813f66 100644 --- a/src/Microsoft.Data.SqlClient/MdsVersions.props +++ b/src/Microsoft.Data.SqlClient/MdsVersions.props @@ -3,15 +3,7 @@ 7.0.0 - - $(MdsVersionDefault).$(BuildNumber)-dev + 0 $(MdsVersionDefault).$(BuildNumber.Split('.')[0]) $(MdsPackageVersion.Split('-')[0]) + + + $(MdsVersionDefault).$(BuildNumber)-dev