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))) - +