diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 75e4411e4b..6c50d2a3d8 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -95,7 +95,7 @@ jobs:
- name: Run manual build steps
if: matrix.build-mode == 'manual'
shell: bash
- run: dotnet build src/Microsoft.Data.SqlClient.slnx
+ run: dotnet build build.proj -t:BuildAll
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 62918f7d65..f47d7ea9ac 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -1,4 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
true
-
-
-
-
-
-
-
-
+
+
-
+
diff --git a/build.proj b/build.proj
index 971cfb12fa..516cd9e5f9 100644
--- a/build.proj
+++ b/build.proj
@@ -1,5 +1,6 @@
-
+
+
@@ -208,12 +209,15 @@
ReferenceType
Applies to: BuildSqlClient, BuildSqlClientUnix, BuildSqlClientWindows
Description: Determines how to build SqlClient. If set to "Project", any cross-project
- references (eg, Abstractions from SqlClient) will be made as project references. If
- set to "Package", package references will be made instead. When running in
- package mode, target versions can be specified via PackageVersion* build
- parameters. If these are not provided, the central feed version will be used
- instead (see Directory.Packages.props). When running in project mode, the
- dependencies will be built automatically.
+ references (eg, Abstractions from SqlClient) will be made as project
+ references. If set to "Package", package references will be made instead. When
+ running in package mode, target versions can be specified via PackageVersion*
+ build parameters. If these are not provided, the central feed version will be
+ used instead (see Directory.Packages.props). In package mode, all Pack*
+ targets also mirror their .nupkg/.snupkg output into the local NuGet feed
+ directory (packages/) so that downstream builds in the same invocation can
+ restore them without a separate feed publish step. When running in project
+ mode, the dependencies will be built automatically.
Applies to: TestSqlClientFunctional, TestSqlClientManual
Description: Determines whether to test against a project reference or a package version
@@ -329,11 +333,14 @@
+
+
+
@@ -346,16 +353,18 @@
@@ -370,6 +379,7 @@
$(SqlClientSrcRoot)src/Microsoft.Data.SqlClient.csproj
$(SqlClientSrcRoot)ref/Microsoft.Data.SqlClient.csproj
$(SqlClientSrcRoot)notsupported/Microsoft.Data.SqlClient.csproj
+ $(SqlClientArtifactRoot)$(ReferenceType)-$(Configuration)/
$(SqlClientSrcRoot)tests/FunctionalTests/Microsoft.Data.SqlClient.FunctionalTests.csproj
@@ -390,7 +400,10 @@
PlatformNotSupportedException. It generates the source for this using GenAPI which is built as
the first step of this target.
-->
-
+
+ PackAbstractions;PackSqlServer
+
+
"$(DotnetPath)dotnet" build "$(GenApiProjectPath)"
@@ -424,6 +437,7 @@
$(ReferenceTypeArgument)
$(PackageVersionAbstractionsArgument)
$(PackageVersionLoggingArgument)
+ $(PackageVersionSqlServerArgument)
$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))
@@ -434,7 +448,10 @@
-
+
+ PackAbstractions;PackSqlServer
+
+
"$(DotnetPath)dotnet" build $(SqlClientRefProjectPath)
@@ -449,6 +466,7 @@
$(ReferenceTypeArgument)
$(PackageVersionAbstractionsArgument)
+ $(PackageVersionSqlServerArgument)
$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))
@@ -459,7 +477,10 @@
-
+
+ PackAbstractions;PackLogging;PackSqlServer
+
+
"$(DotnetPath)dotnet" build $(SqlClientProjectPath)
@@ -476,6 +497,7 @@
$(ReferenceTypeArgument)
$(PackageVersionAbstractionsArgument)
$(PackageVersionLoggingArgument)
+ $(PackageVersionSqlServerArgument)
$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))
@@ -486,7 +508,10 @@
-
+
+ PackAbstractions;PackLogging;PackSqlServer
+
+
"$(DotnetPath)dotnet" build $(SqlClientProjectPath)
@@ -503,6 +528,7 @@
$(ReferenceTypeArgument)
$(PackageVersionAbstractionsArgument)
$(PackageVersionLoggingArgument)
+ $(PackageVersionSqlServerArgument)
$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))
@@ -545,15 +571,27 @@
$(ReferenceTypeArgument)
$(PackageVersionAbstractionsArgument)
$(PackageVersionLoggingArgument)
+ $(PackageVersionSqlServerArgument)
- -p:PackageOutputPath="$(SqlClientArtifactRoot)/$(ReferenceType)-$(Configuration)"
+ -p:PackageOutputPath="$(SqlClientPackageArtifactRoot)"
$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))
+
+
+
+
+
+
+
@@ -582,6 +620,7 @@
$(PackageVersionAbstractionsArgument)
$(PackageVersionLoggingArgument)
$(PackageVersionSqlClientArgument)
+ $(PackageVersionSqlServerArgument)
$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))
@@ -613,6 +652,7 @@
$(PackageVersionAbstractionsArgument)
$(PackageVersionLoggingArgument)
$(PackageVersionSqlClientArgument)
+ $(PackageVersionSqlServerArgument)
$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))
@@ -654,10 +694,14 @@
$(RepoRoot)src/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider/
$(AkvProviderSrcRoot)src/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj
+ $(RepoRoot)artifacts/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider/$(Configuration)/
-
+
+ PackSqlClient;PackLogging
+
+
"$(DotnetPath)dotnet" build "$(AkvProviderProjectPath)"
@@ -674,6 +718,7 @@
$(PackageVersionAbstractionsArgument)
$(PackageVersionLoggingArgument)
$(PackageVersionSqlClientArgument)
+ $(PackageVersionSqlServerArgument)
$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))
@@ -702,6 +747,7 @@
$(PackageVersionAbstractionsArgument)
$(PackageVersionLoggingArgument)
$(PackageVersionSqlClientArgument)
+ $(PackageVersionSqlServerArgument)
$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))
@@ -709,18 +755,34 @@
+
+
+
+
+
+
+
+
$(RepoRoot)src/Microsoft.Data.SqlClient.Extensions/Abstractions/
$(AbstractionsSrcRoot)src/Abstractions.csproj
$(AbstractionsSrcRoot)test/Abstractions.Test.csproj
+ $(RepoRoot)artifacts/Microsoft.Data.SqlClient.Extensions.Abstractions/$(Configuration)/
-
+
+ PackLogging
+
+
"$(DotnetPath)dotnet" build "$(AbstractionsProjectPath)"
@@ -768,6 +830,17 @@
+
+
+
+
+
+
+
@@ -804,10 +877,14 @@
$(RepoRoot)src/Microsoft.Data.SqlClient.Extensions/Azure/
$(AzureSrcRoot)src/Azure.csproj
$(AzureSrcRoot)test/Azure.Test.csproj
+ $(RepoRoot)artifacts/Microsoft.Data.SqlClient.Extensions.Azure/$(Configuration)/
-
+
+ PackAbstractions;PackLogging
+
+
"$(DotnetPath)dotnet" build "$(AzureProjectPath)"
@@ -855,6 +932,17 @@
+
+
+
+
+
+
+
@@ -875,14 +963,16 @@
$(ReferenceTypeArgument)
-
+ $(PackageVersionAbstractionsArgument)
+ $(PackageVersionLoggingArgument)
$(PackageVersionSqlClientArgument)
+ $(PackageVersionSqlServerArgument)
$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))
-
+
@@ -891,6 +981,7 @@
$(RepoRoot)src/Microsoft.Data.SqlClient.Internal/Logging/src/
$(LoggingSrcRoot)Logging.csproj
+ $(RepoRoot)artifacts/Microsoft.Data.SqlClient.Internal.Logging/$(Configuration)/
@@ -934,6 +1025,17 @@
+
+
+
+
+
+
+
@@ -941,6 +1043,7 @@
$(RepoRoot)src/Microsoft.SqlServer.Server/
$(SqlServerSrcRoot)Microsoft.SqlServer.Server.csproj
+ $(RepoRoot)artifacts/Microsoft.SqlServer.Server/$(Configuration)/
@@ -984,5 +1087,131 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_OsList>Windows_NT;Unix
+
+
+ <_OsValues Include="$(_OsList)" />
+
+
+
+
+ <_DotnetArguments>
+ -p:Configuration=$(Configuration)
+ -p:TrimDocs=false
+
+
+ $(BuildNumberArgument)
+ $(BuildSuffixArgument)
+
+
+ $(ReferenceTypeArgument)
+ $(PackageVersionAbstractionsArgument)
+ $(PackageVersionAkvProviderArgument)
+ $(PackageVersionAzureArgument)
+ $(PackageVersionLoggingArgument)
+ $(PackageVersionSqlClientArgument)
+ $(PackageVersionSqlServerArgument)
+
+
+ <_DotnetArguments>$([System.Text.RegularExpressions.Regex]::Replace($(_DotnetArguments), "\s+", " "))
+
+
+
+
+ $(RepoRoot)src/Microsoft.Data.SqlClient.Extensions/Abstractions/test/Abstractions.Test.csproj
+ $(RepoRoot)src/Microsoft.Data.SqlClient/tests/UnitTests/Microsoft.Data.SqlClient.UnitTests.csproj
+ $(RepoRoot)src/Microsoft.Data.SqlClient/tests/FunctionalTests/Microsoft.Data.SqlClient.FunctionalTests.csproj
+ $(RepoRoot)src/Microsoft.Data.SqlClient/tests/ManualTests/Microsoft.Data.SqlClient.ManualTests.csproj
+ $(RepoRoot)src/Microsoft.Data.SqlClient/tests/PerformanceTests/Microsoft.Data.SqlClient.PerformanceTests.csproj
+ $(RepoRoot)src/Microsoft.Data.SqlClient/tests/StressTests/SqlClient.Stress.Runner/SqlClient.Stress.Runner.csproj
+ $(RepoRoot)src/Microsoft.Data.SqlClient.Extensions/Azure/test/Azure.Test.csproj
+
+ $(RepoRoot)doc/samples/Microsoft.Data.SqlClient.Samples.csproj
+
+ $(RepoRoot)tools/GenAPI/Microsoft.DotNet.GenAPI/Microsoft.DotNet.GenAPI.csproj
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/Directory.Packages.props b/doc/Directory.Packages.props
index 2ead6c1757..d47f7e01b9 100644
--- a/doc/Directory.Packages.props
+++ b/doc/Directory.Packages.props
@@ -6,5 +6,6 @@
+
diff --git a/doc/samples/Microsoft.Data.SqlClient.Samples.csproj b/doc/samples/Microsoft.Data.SqlClient.Samples.csproj
index c194fac4d0..44a153f6f2 100644
--- a/doc/samples/Microsoft.Data.SqlClient.Samples.csproj
+++ b/doc/samples/Microsoft.Data.SqlClient.Samples.csproj
@@ -10,14 +10,19 @@
False
+
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/eng/pipelines/common/templates/jobs/ci-build-nugets-job.yml b/eng/pipelines/common/templates/jobs/ci-build-nugets-job.yml
index 8d051e5167..e9c3ad7c64 100644
--- a/eng/pipelines/common/templates/jobs/ci-build-nugets-job.yml
+++ b/eng/pipelines/common/templates/jobs/ci-build-nugets-job.yml
@@ -77,6 +77,16 @@ parameters:
- name: akvPackageVersion
type: string
+ # The version of the SqlServer package to depend on when referenceType is 'Package'.
+ - name: sqlServerPackageVersion
+ type: string
+ default: $(sqlServerPackageVersion)
+
+ # The name of the SqlServer pipeline artifact to download when referenceType is 'Package'.
+ - name: sqlServerArtifactsName
+ type: string
+ default: SqlServer.Artifacts
+
jobs:
- job: build_mds_akv_packages_job
displayName: Build MDS & AKV Packages
@@ -115,6 +125,12 @@ jobs:
artifactName: ${{ parameters.loggingArtifactsName }}
targetPath: $(localFeedPath)
+ - task: DownloadPipelineArtifact@2
+ displayName: Download SqlServer Package Artifacts
+ inputs:
+ artifactName: ${{ parameters.sqlServerArtifactsName }}
+ targetPath: $(localFeedPath)
+
# Install the .NET SDK.
- template: /eng/pipelines/steps/install-dotnet.yml@self
@@ -139,6 +155,7 @@ jobs:
build: MDS
abstractionsPackageVersion: ${{parameters.abstractionsPackageVersion}}
loggingPackageVersion: ${{ parameters.loggingPackageVersion }}
+ sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }}
- task: DotNetCoreCLI@2
displayName: 'Create MDS NuGet Package'
@@ -153,6 +170,7 @@ jobs:
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
# PackSqlClient outputs to artifacts/Microsoft.Data.SqlClient/-/.
# Downstream steps (local feed copy, AKV pack, artifact publish) all expect packages at
@@ -184,6 +202,7 @@ jobs:
loggingPackageVersion: ${{ parameters.loggingPackageVersion }}
mdsPackageVersion: ${{ parameters.mdsPackageVersion }}
akvPackageVersion: ${{ parameters.akvPackageVersion }}
+ sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }}
- task: DotNetCoreCLI@2
displayName: 'Create AKV Provider NuGet Package'
@@ -199,6 +218,7 @@ jobs:
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
-p:PackageVersionAkvProvider=${{ parameters.akvPackageVersion }}
- task: CopyFiles@2
diff --git a/eng/pipelines/common/templates/jobs/ci-run-tests-job.yml b/eng/pipelines/common/templates/jobs/ci-run-tests-job.yml
index 5c593e11e3..8b79bf7274 100644
--- a/eng/pipelines/common/templates/jobs/ci-run-tests-job.yml
+++ b/eng/pipelines/common/templates/jobs/ci-run-tests-job.yml
@@ -88,6 +88,16 @@ parameters:
- name: mdsPackageVersion
type: string
+ # The name of the SqlServer pipeline artifact to download when referenceType is 'Package'.
+ - name: sqlServerArtifactsName
+ type: string
+ default: SqlServer.Artifacts
+
+ # The version of the SqlServer package to depend on when referenceType is 'Package'.
+ - name: sqlServerPackageVersion
+ type: string
+ default: $(sqlServerPackageVersion)
+
# TODO: What is this for?
- name: netcoreVersionTestUtils
type: string
@@ -194,6 +204,12 @@ jobs:
artifactName: ${{ parameters.mdsArtifactsName }}
targetPath: $(Build.SourcesDirectory)/packages
+ - task: DownloadPipelineArtifact@2
+ displayName: Download SqlServer Package Artifacts
+ inputs:
+ artifactName: ${{ parameters.sqlServerArtifactsName }}
+ targetPath: $(Build.SourcesDirectory)/packages
+
# Install the .NET SDK and Runtimes.
- template: /eng/pipelines/steps/install-dotnet.yml@self
parameters:
@@ -364,6 +380,7 @@ jobs:
abstractionsPackageVersion: ${{ parameters.abstractionsPackageVersion }}
loggingPackageVersion: ${{ parameters.loggingPackageVersion }}
mdsPackageVersion: ${{ parameters.mdsPackageVersion }}
+ sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }}
- ${{ if and(eq(parameters.enableX86Test, true), eq(parameters.operatingSystem, 'Windows')) }}:
- template: /eng/pipelines/common/templates/steps/run-all-tests-step.yml@self
@@ -379,6 +396,7 @@ jobs:
abstractionsPackageVersion: ${{ parameters.abstractionsPackageVersion }}
loggingPackageVersion: ${{ parameters.loggingPackageVersion }}
mdsPackageVersion: ${{ parameters.mdsPackageVersion }}
+ sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }}
- template: /eng/pipelines/common/templates/steps/publish-test-results-step.yml@self
parameters:
diff --git a/eng/pipelines/common/templates/stages/ci-run-tests-stage.yml b/eng/pipelines/common/templates/stages/ci-run-tests-stage.yml
index fd87d7d9ac..86ddc0ca45 100644
--- a/eng/pipelines/common/templates/stages/ci-run-tests-stage.yml
+++ b/eng/pipelines/common/templates/stages/ci-run-tests-stage.yml
@@ -50,6 +50,16 @@ parameters:
- name: mdsPackageVersion
type: string
+ # The name of the SqlServer pipeline artifacts to download.
+ - name: sqlServerArtifactsName
+ type: string
+ default: SqlServer.Artifacts
+
+ # The version of the SqlServer package to depend on when referenceType is 'Package'.
+ - name: sqlServerPackageVersion
+ type: string
+ default: $(sqlServerPackageVersion)
+
# Jobs to run after the test jobs complete, if any.
- name: postTestJobs
type: jobList
@@ -114,6 +124,8 @@ stages:
loggingPackageVersion: ${{ parameters.loggingPackageVersion }}
mdsArtifactsName: ${{ parameters.mdsArtifactsName }}
mdsPackageVersion: ${{ parameters.mdsPackageVersion }}
+ sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }}
+ sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }}
prebuildSteps: ${{ parameters.prebuildSteps }}
targetFramework: ${{ targetFramework }}
netcoreVersionTestUtils: ${{config.value.netcoreVersionTestUtils }}
@@ -150,6 +162,8 @@ stages:
loggingPackageVersion: ${{ parameters.loggingPackageVersion }}
mdsArtifactsName: ${{ parameters.mdsArtifactsName }}
mdsPackageVersion: ${{ parameters.mdsPackageVersion }}
+ sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }}
+ sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }}
prebuildSteps: ${{ parameters.prebuildSteps }}
targetFramework: ${{ targetFramework }}
netcoreVersionTestUtils: ${{config.value.netcoreVersionTestUtils }}
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 fe46ad66a2..e5fa6d4424 100644
--- a/eng/pipelines/common/templates/steps/ci-project-build-step.yml
+++ b/eng/pipelines/common/templates/steps/ci-project-build-step.yml
@@ -68,6 +68,11 @@ parameters:
type: string
default: $(akvPackageVersion)
+ # Necessary when referenceType is Package. Ignored when referenceType is Project.
+ - name: sqlServerPackageVersion
+ type: string
+ default: $(sqlServerPackageVersion)
+
steps:
# Build MDS
- ${{ if or(eq(parameters.build, 'MDS'), eq(parameters.build, 'all'), eq(parameters.build, 'allNoDocs')) }}:
@@ -85,6 +90,7 @@ steps:
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
# Build AKV Provider
- ${{ if or(eq(parameters.build, 'AkvProvider'), eq(parameters.build, 'all'), eq(parameters.build, 'allNoDocs')) }}:
@@ -103,3 +109,4 @@ steps:
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
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 cf3ce206a4..374c31c29a 100644
--- a/eng/pipelines/common/templates/steps/run-all-tests-step.yml
+++ b/eng/pipelines/common/templates/steps/run-all-tests-step.yml
@@ -22,6 +22,10 @@ parameters:
- name: mdsPackageVersion
type: string
+ - name: sqlServerPackageVersion
+ type: string
+ default: $(sqlServerPackageVersion)
+
- name: platform
type: string
default: $(Platform)
@@ -137,6 +141,7 @@ steps:
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
-p:TestResultsFolderPath=TestResults
${{ else }}: # x86
arguments: >-
@@ -147,6 +152,7 @@ steps:
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
-p:DotnetPath=${{ parameters.dotnetx86RootPath }}
-p:TestResultsFolderPath=TestResults
@@ -165,6 +171,7 @@ steps:
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
-p:TestFilters="category=flaky"
-p:TestResultsFolderPath=TestResults
-p:TestCodeCoverage=false
@@ -177,6 +184,7 @@ steps:
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
-p:DotnetPath=${{ parameters.dotnetx86RootPath }}
-p:TestFilters="category=flaky"
-p:TestResultsFolderPath=TestResults
@@ -199,6 +207,7 @@ steps:
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
-p:TestResultsFolderPath=TestResults
${{ else }}: # x86
arguments: >-
@@ -210,6 +219,7 @@ steps:
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
-p:DotnetPath=${{ parameters.dotnetx86RootPath }}
-p:TestResultsFolderPath=TestResults
retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }}
@@ -230,6 +240,7 @@ steps:
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
-p:TestFilters="category=flaky"
-p:TestResultsFolderPath=TestResults
-p:TestCodeCoverage=false
@@ -243,6 +254,7 @@ steps:
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
-p:DotnetPath=${{ parameters.dotnetx86RootPath }}
-p:TestFilters="category=flaky"
-p:TestResultsFolderPath=TestResults
@@ -292,6 +304,7 @@ steps:
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
-p:TestResultsFolderPath=TestResults
- task: DotNetCoreCLI@2
@@ -308,6 +321,7 @@ steps:
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
-p:TestFilters="category=flaky"
-p:TestResultsFolderPath=TestResults
-p:TestCodeCoverage=false
@@ -327,6 +341,7 @@ steps:
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
-p:TestResultsFolderPath=TestResults
retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }}
@@ -345,6 +360,7 @@ steps:
-p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }}
-p:PackageVersionLogging=${{ parameters.loggingPackageVersion }}
-p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
-p:TestFilters="category=flaky"
-p:TestResultsFolderPath=TestResults
-p:TestCodeCoverage=false
diff --git a/eng/pipelines/dotnet-sqlclient-ci-core.yml b/eng/pipelines/dotnet-sqlclient-ci-core.yml
index c8181aff5a..0de11238ec 100644
--- a/eng/pipelines/dotnet-sqlclient-ci-core.yml
+++ b/eng/pipelines/dotnet-sqlclient-ci-core.yml
@@ -185,14 +185,17 @@ stages:
mdsPackageVersion: $(mdsPackageVersion)
akvPackageVersion: $(akvPackageVersion)
referenceType: ${{ parameters.referenceType }}
+ sqlServerArtifactsName: $(sqlServerArtifactsName)
+ sqlServerPackageVersion: $(sqlServerPackageVersion)
SNIVersion: ${{ parameters.SNIVersion }}
SNIValidationFeed: ${{ parameters.SNIValidationFeed }}
- # When building SqlClient via packages, we must depend on the Abstractions and Logging
- # packages.
+ # When building SqlClient via packages, we must depend on the Abstractions, Logging,
+ # and SqlServer packages.
${{ if eq(parameters.referenceType, 'Package') }}:
additionalDependsOn:
- build_abstractions_package_stage
- build_logging_package_stage
+ - build_sqlserver_package_stage
# Build the Azure package, and publish it to the pipeline artifacts under the
# given artifact name.
@@ -206,16 +209,19 @@ stages:
buildConfiguration: ${{ parameters.buildConfiguration }}
debug: ${{ parameters.debug }}
# When building via packages, we must depend on the Abstractions, Logging,
- # and MDS packages.
+ # SqlServer, and MDS packages.
${{ if eq(parameters.referenceType, 'Package') }}:
additionalDependsOn:
- build_abstractions_package_stage
- build_logging_package_stage
+ - build_sqlserver_package_stage
- build_sqlclient_package_stage
dotnetVerbosity: ${{ parameters.dotnetVerbosity }}
mdsArtifactsName: $(mdsArtifactsName)
mdsPackageVersion: $(mdsPackageVersion)
referenceType: ${{ parameters.referenceType }}
+ sqlServerArtifactsName: $(sqlServerArtifactsName)
+ sqlServerPackageVersion: $(sqlServerPackageVersion)
# Verify that all NuGet packages comply with Microsoft metadata requirements.
# This runs on a Windows agent after all packages have been built and
@@ -240,14 +246,17 @@ stages:
loggingPackageVersion: $(loggingPackageVersion)
mdsArtifactsName: $(mdsArtifactsName)
mdsPackageVersion: $(mdsPackageVersion)
+ sqlServerArtifactsName: $(sqlServerArtifactsName)
+ sqlServerPackageVersion: $(sqlServerPackageVersion)
testJobTimeout: ${{ parameters.testJobTimeout }}
# When testing MDS via packages, we must depend on the Abstractions,
- # Logging, MDS, and Azure packages.
+ # Logging, SqlServer, MDS, and Azure packages.
${{ if eq(parameters.referenceType, 'Package') }}:
additionalDependsOn:
- build_abstractions_package_stage
- build_logging_package_stage
+ - build_sqlserver_package_stage
- build_sqlclient_package_stage
- build_azure_package_stage
diff --git a/eng/pipelines/jobs/test-azure-package-ci-job.yml b/eng/pipelines/jobs/test-azure-package-ci-job.yml
index cd9b87e103..770c69552a 100644
--- a/eng/pipelines/jobs/test-azure-package-ci-job.yml
+++ b/eng/pipelines/jobs/test-azure-package-ci-job.yml
@@ -79,6 +79,21 @@ parameters:
- name: mdsPackageVersion
type: string
+ # The name of the SqlServer pipeline artifacts to download.
+ #
+ # This is used when the referenceType is 'Package'. MDS depends on
+ # SqlServer.Server, so the package must be available for transitive restore.
+ - name: sqlServerArtifactsName
+ type: string
+ default: SqlServer.Artifacts
+
+ # The SqlServer package version to depend on.
+ #
+ # This is used when the referenceType is 'Package'.
+ - name: sqlServerPackageVersion
+ type: string
+ default: ''
+
# The list of .NET Framework runtimes to test against.
- name: netFrameworkRuntimes
type: object
@@ -154,6 +169,7 @@ jobs:
-p:ReferenceType=${{ parameters.referenceType }}
-p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }}
-p:SqlClientPackageVersion=${{ parameters.mdsPackageVersion }}
+ -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }}
# Explicitly unset the $PLATFORM environment variable that is set by the
# 'ADO Build properties' Library in the ADO SqlClientDrivers public
@@ -208,6 +224,16 @@ jobs:
artifactName: ${{ parameters.mdsArtifactsName }}
targetPath: $(Build.SourcesDirectory)/packages
+ # Download the SqlServer package artifacts into packages/.
+ #
+ # MDS depends on SqlServer.Server, so the package must be available for
+ # transitive restore.
+ - task: DownloadPipelineArtifact@2
+ displayName: Download SqlServer Package Artifacts
+ inputs:
+ artifactName: ${{ parameters.sqlServerArtifactsName }}
+ targetPath: $(Build.SourcesDirectory)/packages
+
# Install the .NET SDK and Runtimes.
- template: /eng/pipelines/steps/install-dotnet.yml@self
parameters:
diff --git a/eng/pipelines/stages/build-azure-package-ci-stage.yml b/eng/pipelines/stages/build-azure-package-ci-stage.yml
index 3b57ce8c3b..9fc42bf963 100644
--- a/eng/pipelines/stages/build-azure-package-ci-stage.yml
+++ b/eng/pipelines/stages/build-azure-package-ci-stage.yml
@@ -114,6 +114,21 @@ parameters:
- name: mdsPackageVersion
type: string
+ # The name of the SqlServer pipeline artifacts to download.
+ #
+ # This is used when the referenceType is 'Package'. MDS depends on
+ # SqlServer.Server, so the package must be available for transitive restore.
+ - name: sqlServerArtifactsName
+ type: string
+ default: SqlServer.Artifacts
+
+ # The SqlServer package version to depend on.
+ #
+ # This is used when the referenceType is 'Package'.
+ - name: sqlServerPackageVersion
+ type: string
+ default: ''
+
# The C# project reference type to use when building and packing the packages.
- name: referenceType
type: string
@@ -154,6 +169,8 @@ stages:
jobNameSuffix: linux
mdsArtifactsName: ${{ parameters.mdsArtifactsName }}
mdsPackageVersion: ${{ parameters.mdsPackageVersion }}
+ sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }}
+ sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }}
netFrameworkRuntimes: []
netRuntimes: [net8.0, net9.0, net10.0]
poolName: ${{ parameters.azurePoolName }}
@@ -172,6 +189,8 @@ stages:
jobNameSuffix: linux_integration
mdsArtifactsName: ${{ parameters.mdsArtifactsName }}
mdsPackageVersion: ${{ parameters.mdsPackageVersion }}
+ sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }}
+ sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }}
netFrameworkRuntimes: []
netRuntimes: [net8.0, net9.0, net10.0]
poolName: ${{ parameters.adoPoolName }}
@@ -199,6 +218,8 @@ stages:
jobNameSuffix: windows
mdsArtifactsName: ${{ parameters.mdsArtifactsName }}
mdsPackageVersion: ${{ parameters.mdsPackageVersion }}
+ sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }}
+ sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }}
netFrameworkRuntimes: [net462]
netRuntimes: [net8.0, net9.0, net10.0]
poolName: ${{ parameters.azurePoolName }}
@@ -217,6 +238,8 @@ stages:
jobNameSuffix: windows_integration
mdsArtifactsName: ${{ parameters.mdsArtifactsName }}
mdsPackageVersion: ${{ parameters.mdsPackageVersion }}
+ sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }}
+ sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }}
netFrameworkRuntimes: [net462]
netRuntimes: [net8.0, net9.0, net10.0]
poolName: ${{ parameters.adoPoolName }}
@@ -253,6 +276,8 @@ stages:
jobNameSuffix: macos
mdsArtifactsName: ${{ parameters.mdsArtifactsName }}
mdsPackageVersion: ${{ parameters.mdsPackageVersion }}
+ sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }}
+ sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }}
netFrameworkRuntimes: []
netRuntimes: [net8.0, net9.0, net10.0]
poolName: ${{ parameters.azurePoolName }}
diff --git a/eng/pipelines/stages/build-sqlclient-package-ci-stage.yml b/eng/pipelines/stages/build-sqlclient-package-ci-stage.yml
index 57343a0006..858f1c8500 100644
--- a/eng/pipelines/stages/build-sqlclient-package-ci-stage.yml
+++ b/eng/pipelines/stages/build-sqlclient-package-ci-stage.yml
@@ -56,6 +56,16 @@ parameters:
- name: akvPackageVersion
type: string
+ # The name of the SqlServer pipeline artifacts to download.
+ - name: sqlServerArtifactsName
+ type: string
+ default: SqlServer.Artifacts
+
+ # The SqlServer package version.
+ - name: sqlServerPackageVersion
+ type: string
+ default: $(sqlServerPackageVersion)
+
# The C# project reference type to use when building and packing the packages.
- name: referenceType
type: string
@@ -97,6 +107,8 @@ stages:
mdsPackageVersion: ${{ parameters.mdsPackageVersion }}
mdsArtifactsName: ${{ parameters.mdsArtifactsName }}
akvPackageVersion: ${{ parameters.akvPackageVersion }}
+ sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }}
+ sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }}
${{ if ne(parameters.SNIVersion, '') }}:
prebuildSteps:
- template: /eng/pipelines/common/templates/steps/override-sni-version.yml@self
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index e760ebe9f3..b3e0663fd3 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -1,5 +1,5 @@
-
+
-
+
$(AkvProviderAssemblyVersion)
$(AkvProviderFileVersion)
diff --git a/src/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider/src/Versions.props b/src/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider/src/Versions.props
index 31f85b7da4..3e674c3fc4 100644
--- a/src/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider/src/Versions.props
+++ b/src/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider/src/Versions.props
@@ -13,6 +13,10 @@
NuGet package. It should be in the form: (Major).(Minor).(Patch)[-(Suffix)(BuildNumber)]
-->
+
+ true
+
+
-
+
$(AbstractionsAssemblyVersion)
$(AbstractionsFileVersion)
@@ -71,9 +71,9 @@
+ Condition="'$(ReferenceType)' != 'Package'" />
+ Condition="'$(ReferenceType)' == 'Package'" />
diff --git a/src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/Versions.props b/src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/Versions.props
index 14daeda570..9063996d7e 100644
--- a/src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/Versions.props
+++ b/src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/Versions.props
@@ -13,6 +13,10 @@
naming. It must be in the form: (Major).0.0.0
-->
+
+ true
+
+
-
+
$(AzureAssemblyVersion)
$(AzureFileVersion)
diff --git a/src/Microsoft.Data.SqlClient.Extensions/Azure/src/Versions.props b/src/Microsoft.Data.SqlClient.Extensions/Azure/src/Versions.props
index 3c4bb9dfac..948cc6c7fc 100644
--- a/src/Microsoft.Data.SqlClient.Extensions/Azure/src/Versions.props
+++ b/src/Microsoft.Data.SqlClient.Extensions/Azure/src/Versions.props
@@ -13,6 +13,10 @@
form: (Major).(Minor).(Patch).(BuildNumber)
-->
+
+ true
+
+
-
+
$(LoggingAssemblyVersion)
$(LoggingFileVersion)
diff --git a/src/Microsoft.Data.SqlClient.Internal/Logging/src/Versions.props b/src/Microsoft.Data.SqlClient.Internal/Logging/src/Versions.props
index eeb25b93ca..15e1d85de2 100644
--- a/src/Microsoft.Data.SqlClient.Internal/Logging/src/Versions.props
+++ b/src/Microsoft.Data.SqlClient.Internal/Logging/src/Versions.props
@@ -13,6 +13,10 @@
naming. It must be in the form: (Major).0.0.0
-->
+
+ true
+
+
+
+ true
+
+
-
+
$(SqlClientAssemblyVersion)
$(SqlClientFileVersion)
@@ -112,9 +112,9 @@
+
+
+
+
+
@@ -156,7 +163,6 @@
-
@@ -170,7 +176,6 @@
-
diff --git a/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj
index 0b6282965d..e161266b20 100644
--- a/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj
+++ b/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj
@@ -11,7 +11,7 @@
-
+
$(SqlClientAssemblyVersion)
$(SqlClientFileVersion)
@@ -51,7 +51,7 @@
+ Condition="'$(TrimDocs)' != 'false' AND '$(IsCrossTargetingBuild)' != 'true' AND '$(GenerateDocumentationFile)' == 'true'">
powershell.exe
@@ -79,6 +79,13 @@
+
+
+
+
+
@@ -112,7 +119,6 @@
-
@@ -124,7 +130,6 @@
-
diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj
index cd7fdb4b79..b2d61111d5 100644
--- a/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj
+++ b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj
@@ -50,7 +50,7 @@
-
+
$(SqlClientAssemblyVersion)
$(SqlClientFileVersion)
@@ -87,6 +87,7 @@
$(RepoRoot)/src/Microsoft.Data.SqlClient.Internal/Logging/src/Logging.csproj
$(RepoRoot)/src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/Versions.props
$(RepoRoot)/src/Microsoft.Data.SqlClient.Internal/Logging/src/Versions.props
+ $(RepoRoot)/src/Microsoft.SqlServer.Server/Versions.props
@@ -129,13 +130,15 @@
+
+
<_AbstractionsPackageVersionTrimmed>$([System.String]::Copy('$(AbstractionsPackageVersion)').Trim())
<_LoggingPackageVersionTrimmed>$([System.String]::Copy('$(LoggingPackageVersion)').Trim())
+ <_SqlServerPackageVersionTrimmed>$([System.String]::Copy('$(SqlServerPackageVersion)').Trim())
-
+
- <_SqlClientPackNuspecExpandedText>$([System.IO.File]::ReadAllText('$(SqlClientPackNuspecTemplatePath)').Replace('$AbstractionsPackageVersion$','$(AbstractionsPackageVersion)').Replace('$LoggingPackageVersion$','$(LoggingPackageVersion)'))
+ <_SqlClientPackNuspecExpandedText>$([System.IO.File]::ReadAllText('$(SqlClientPackNuspecTemplatePath)').Replace('$AbstractionsPackageVersion$','$(AbstractionsPackageVersion)').Replace('$LoggingPackageVersion$','$(LoggingPackageVersion)').Replace('$SqlServerPackageVersion$','$(SqlServerPackageVersion)'))
-
+
@@ -73,7 +73,7 @@
-
+
@@ -85,7 +85,7 @@
-
+
diff --git a/src/Microsoft.Data.SqlClient/tests/Common/Microsoft.Data.SqlClient.TestCommon.csproj b/src/Microsoft.Data.SqlClient/tests/Common/Microsoft.Data.SqlClient.TestCommon.csproj
index 3f014f9fbe..63a8f91954 100644
--- a/src/Microsoft.Data.SqlClient/tests/Common/Microsoft.Data.SqlClient.TestCommon.csproj
+++ b/src/Microsoft.Data.SqlClient/tests/Common/Microsoft.Data.SqlClient.TestCommon.csproj
@@ -2,6 +2,8 @@
Microsoft.Data.SqlClient.TestCommon
Microsoft.Data.SqlClient.TestCommon
+
+ enable
enable
+
+
+
+
+
@@ -367,7 +374,6 @@
-
@@ -394,7 +400,6 @@
-
diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/SqlServerTypesTest.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/SqlServerTypesTest.cs
index 3719a09328..5b83a86eff 100644
--- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/SqlServerTypesTest.cs
+++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/SqlServerTypesTest.cs
@@ -11,6 +11,7 @@
using System.IO;
using System.Linq;
using System.Text;
+using Microsoft.Data.SqlClient.TestCommon;
using Microsoft.SqlServer.Types;
using Xunit;
@@ -18,6 +19,23 @@ namespace Microsoft.Data.SqlClient.ManualTesting.Tests
{
public static class SqlServerTypesTest
{
+ ///
+ /// Aggregates all gating checks for SQL Server UDT tests into a single condition member.
+ ///
+ ///
+ /// and
+ /// accept condition member names from a single declaring type per attribute instance, and
+ /// the attribute is not declared with multiple-use support. We therefore cannot compose
+ /// conditions from both and
+ /// by stacking multiple
+ /// ConditionalFact/ConditionalTheory attributes on the same test.
+ /// This helper keeps the existing environment checks and the strong-name check in one place.
+ ///
+ private static bool IsSqlServerTypesUdtTestsEnabled =>
+ DataTestUtility.AreConnStringsSetup() &&
+ DataTestUtility.IsNotAzureSynapse() &&
+ SqlServerStrongNameTestCondition.IsUnsignedSqlServerAssemblyUsable;
+
private const string BuiltInUdtSelectQuery =
@"SELECT " +
@" hierarchyid::Parse('/1/1/3/') AS col0, " +
@@ -34,7 +52,7 @@ public static class SqlServerTypesTest
private const string HierarchyIdBytesHexString = "5ade";
// Synapse: Parse error at line: 1, column: 48: Incorrect syntax near 'hierarchyid'.
- [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))]
+ [ConditionalFact(nameof(IsSqlServerTypesUdtTestsEnabled))]
public static void GetSchemaTableTest()
{
string db = new SqlConnectionStringBuilder(DataTestUtility.TCPConnectionString).InitialCatalog;
@@ -60,7 +78,7 @@ public static void GetSchemaTableTest()
}
// Synapse: Parse error at line: 1, column: 48: Incorrect syntax near 'hierarchyid'.
- [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))]
+ [ConditionalFact(nameof(IsSqlServerTypesUdtTestsEnabled))]
public static void GetValueTest()
{
using (SqlConnection conn = new SqlConnection(DataTestUtility.TCPConnectionString))
@@ -218,7 +236,7 @@ void ActAndAssert(int index, string expectedHexString)
}
// Synapse: Parse error at line: 1, column: 41: Incorrect syntax near 'hierarchyid'.
- [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))]
+ [ConditionalFact(nameof(IsSqlServerTypesUdtTestsEnabled))]
public static void TestUdtSchemaMetadata()
{
using (SqlConnection connection = new SqlConnection(DataTestUtility.TCPConnectionString))
@@ -372,7 +390,7 @@ private static string GetUdtName(Type udtClrType)
}
// Synapse: Parse error at line: 1, column: 8: Incorrect syntax near 'geometry'.
- [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))]
+ [ConditionalFact(nameof(IsSqlServerTypesUdtTestsEnabled))]
public static void TestSqlServerTypesInsertAndRead()
{
string tableName = DataTestUtility.GetLongName("Type");
diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Address/Address.csproj b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Address/Address.csproj
index d481e4cca6..c98b9b3fae 100644
--- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Address/Address.csproj
+++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Address/Address.csproj
@@ -1,4 +1,4 @@
-
+
Address
Address
@@ -16,6 +16,9 @@
-
+
+
diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Circle/Circle.csproj b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Circle/Circle.csproj
index 6066c1c751..db53171c6e 100644
--- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Circle/Circle.csproj
+++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Circle/Circle.csproj
@@ -1,4 +1,4 @@
-
+
Circle
Circle
@@ -16,6 +16,9 @@
-
+
+
diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Shapes/Shapes.csproj b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Shapes/Shapes.csproj
index 67f26c9ae9..e115355bfe 100644
--- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Shapes/Shapes.csproj
+++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Shapes/Shapes.csproj
@@ -16,6 +16,9 @@
-
+
+
diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Utf8String/Utf8String.csproj b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Utf8String/Utf8String.csproj
index aa1dd19dd2..02e0193f82 100644
--- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Utf8String/Utf8String.csproj
+++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Utf8String/Utf8String.csproj
@@ -16,6 +16,9 @@
-
+
+
diff --git a/src/Microsoft.Data.SqlClient/tests/UnitTests/Microsoft.Data.SqlClient.UnitTests.csproj b/src/Microsoft.Data.SqlClient/tests/UnitTests/Microsoft.Data.SqlClient.UnitTests.csproj
index 8c59d27572..82e900e54c 100644
--- a/src/Microsoft.Data.SqlClient/tests/UnitTests/Microsoft.Data.SqlClient.UnitTests.csproj
+++ b/src/Microsoft.Data.SqlClient/tests/UnitTests/Microsoft.Data.SqlClient.UnitTests.csproj
@@ -39,16 +39,26 @@
+
+
+
+
+
+
-
@@ -65,7 +75,6 @@
-
diff --git a/src/Microsoft.SqlServer.Server/Microsoft.SqlServer.Server.csproj b/src/Microsoft.SqlServer.Server/Microsoft.SqlServer.Server.csproj
index ead90d9eac..060024c239 100644
--- a/src/Microsoft.SqlServer.Server/Microsoft.SqlServer.Server.csproj
+++ b/src/Microsoft.SqlServer.Server/Microsoft.SqlServer.Server.csproj
@@ -6,7 +6,7 @@
-
+
$(SqlServerAssemblyVersion)
$(SqlServerFileVersion)
diff --git a/src/Microsoft.SqlServer.Server/Versions.props b/src/Microsoft.SqlServer.Server/Versions.props
index 0a342f9426..7be7913091 100644
--- a/src/Microsoft.SqlServer.Server/Versions.props
+++ b/src/Microsoft.SqlServer.Server/Versions.props
@@ -13,6 +13,10 @@
naming. It must be in the form: (Major).0.0.0
-->
+
+ true
+
+
$(_TranslateUrlPattern), $(_TranslateUrlReplacement)))
-
+