diff --git a/build2.proj b/build2.proj index a5fb6b89a2..b9b08f9a4a 100644 --- a/build2.proj +++ b/build2.proj @@ -6,6 +6,25 @@ + + + + + -p:BuildNumber=$(BuildNumber) + + - + + + + nuget @@ -97,6 +136,19 @@ -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" - + - $(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,98 +266,163 @@ --> - - "$(DotNetPath)dotnet" build "$(GenApiProjectPath)" + + "$(DotnetPath)dotnet" build "$(GenApiProjectPath)" -p:Configuration=$(Configuration) - + - $([System.Text.RegularExpressions.Regex]::Replace($(DotNetCommand), "\s+", " ")) + $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) - - + + - + - - "$(DotNetPath)dotnet" build "$(MdsNotSupportedProjectPath)" + + "$(DotnetPath)dotnet" build "$(MdsNotSupportedProjectPath)" -p:Configuration=$(Configuration) -p:GenApiPath="@(GenApiArtifactPath->'%(FullPath)')" - + $(SigningKeyPathArgument) + + + $(BuildNumberArgument) + $(PacakgeVersionMdsArgument) + + + $(ReferenceTypeArgument) + $(PackageVersionAbstractionsArgument) + $(PackageVersionLoggingArgument) + - $([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) + $(SigningKeyPathArgument) + + + $(BuildNumberArgument) + $(PacakgeVersionMdsArgument) + + $(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 + $(SigningKeyPathArgument) + + + $(BuildNumberArgument) + $(PackageVersionMdsArgument) $(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 + $(SigningKeyPathArgument) + + + $(BuildNumberArgument) + $(PackageVersionMdsArgument) $(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+", " ")) + + + + + + + + $([System.Text.RegularExpressions.Regex]::Replace($(CommitId), "\s", "")) + + "$(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($(NuGetCommand), "\s+", " ")) + + + @@ -316,11 +436,11 @@ MdsFunctional-$(OS) $(LogFilePrefix)-$(TestFramework) - - $(DotNetPath)dotnet test "$(MdsFunctionalTestProjectPath)" + + "$(DotnetPath)dotnet" test "$(MdsFunctionalTestProjectPath)" -p:Configuration=$(Configuration) $(TestBlameArgument) - $(TestCollectArgument) + $(TestCodeCoverageArgument) $(TestFiltersArgument) $(TestFrameworkArgument) --results-directory "$(TestResultsFolderPath)" @@ -331,12 +451,12 @@ $(PackageVersionAbstractionsArgument) $(PackageVersionLoggingArgument) $(PackageVersionMdsArgument) - + - $([System.Text.RegularExpressions.Regex]::Replace($(DotNetCommand), "\s+", " ")) + $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) - - + + @@ -346,11 +466,11 @@ $(LogFilePrefix)-$(TestFramework) $(LogFilePrefix)-$(TestSet) - - $(DotNetPath)dotnet test "$(MdsManualTestProjectPath)" + + "$(DotnetPath)dotnet" test "$(MdsManualTestProjectPath)" -p:Configuration=$(Configuration) $(TestBlameArgument) - $(TestCollectArgument) + $(TestCodeCoverageArgument) $(TestFiltersArgument) $(TestFrameworkArgument) $(TestSetArgument) @@ -362,12 +482,12 @@ $(PackageVersionAbstractionsArgument) $(PackageVersionLoggingArgument) $(PackageVersionMdsArgument) - + - $([System.Text.RegularExpressions.Regex]::Replace($(DotNetCommand), "\s+", " ")) + $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) - - + + @@ -380,21 +500,21 @@ MdsUnit-$(OS) $(LogFilePrefix)-$(TestFramework) - - $(DotNetPath)dotnet test "$(MdsUnitTestProjectPath)" + + "$(DotnetPath)dotnet" test "$(MdsUnitTestProjectPath)" -p:Configuration=$(Configuration) $(TestBlameArgument) - $(TestCollectArgument) + $(TestCodeCoverageArgument) $(TestFiltersArgument) $(TestFrameworkArgument) --results-directory "$(TestResultsFolderPath)" --logger:"trx;LogFilePrefix=$(LogFilePrefix)" - + - $([System.Text.RegularExpressions.Regex]::Replace($(DotNetCommand), "\s+", " ")) + $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) - - + + 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 e496aa2b71..d43222bfd1 100644 --- a/eng/pipelines/common/templates/steps/ci-project-build-step.yml +++ b/eng/pipelines/common/templates/steps/ci-project-build-step.yml @@ -71,61 +71,25 @@ parameters: default: $(akvPackageVersion) steps: -- ${{ if or(eq(parameters.operatingSystem, 'Windows'), eq(parameters.operatingSystem, 'deferedToRuntime')) }}: + # Build MDS - ${{ if or(eq(parameters.build, 'MDS'), eq(parameters.build, 'all'), eq(parameters.build, 'allNoDocs')) }}: - task: MSBuild@1 - displayName: 'Restore [Win]' + displayName: 'Build Driver' condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) inputs: - solution: build.proj + solution: build2.proj msbuildArchitecture: x64 - msbuildArguments: >- - -t:restore + platform: '${{ parameters.platform }}' + configuration: '${{ parameters.buildConfiguration }}' + msbuildArguments: + -t:BuildMds -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')) }}: - - task: MSBuild@1 - displayName: 'Build Driver [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:BuildNumber=${{ parameters.buildNumber }} - -p:AssemblyBuildNumber=${{ parameters.assemblyBuildNumber }} - -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} + -p:BuildNumber=${{ parameters.buildNumber }} + -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} + -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionMds=${{ parameters.mdsPackageVersion }} + # Build AKV Provider - ${{ if or(eq(parameters.build, 'AkvProvider'), eq(parameters.build, 'all'), eq(parameters.build, 'allNoDocs')) }}: - task: MSBuild@1 displayName: 'Build AKV Provider' @@ -136,53 +100,10 @@ steps: platform: '${{ parameters.platform }}' configuration: '${{ parameters.buildConfiguration }}' msbuildArguments: >- - -t:BuildAkvProvider - -p:ReferenceType=${{ parameters.referenceType }} - -p:GenerateNuget=false - -p:BuildNumber=${{ parameters.buildNumber }} - -p:AssemblyBuildNumber=${{ parameters.assemblyBuildNumber }} - -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} - -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} - -p:AkvPackageVersion=${{ parameters.akvPackageVersion }} - -- ${{ if or(eq(parameters.operatingSystem, 'Linux'), eq(parameters.operatingSystem, 'MacOS'), eq(parameters.operatingSystem, 'deferedToRuntime')) }}: - - ${{ if or(eq(parameters.build, 'MDS'), eq(parameters.build, 'all'), eq(parameters.build, 'allNoDocs')) }}: - - task: DotNetCoreCLI@2 - displayName: 'Build SqlClient [${{ parameters.operatingSystem }}]' - condition: and(succeeded(), ne(variables['Agent.OS'], 'Windows_NT')) - inputs: - command: custom - projects: build.proj - custom: build - arguments: >- - -t:BuildSqlClient - -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 }} - verbosityRestore: Detailed - verbosityPack: Detailed - - - ${{ if or(eq(parameters.build, 'AkvProvider'), eq(parameters.build, 'all'), eq(parameters.build, 'allNoDocs')) }}: - - task: DotNetCoreCLI@2 - displayName: 'Build AKV Provider [${{ parameters.operatingSystem }}]' - condition: and(succeeded(), ne(variables['Agent.OS'], 'Windows_NT')) - inputs: - command: custom - projects: build.proj - custom: build - arguments: >- -t:BuildAkvProvider -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 }} @@ -192,3 +113,4 @@ steps: -p:MdsPackageVersion=${{ parameters.mdsPackageVersion }} verbosityRestore: Detailed verbosityPack: Detailed + 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..2c407f7d1e 100644 --- a/eng/pipelines/common/templates/steps/run-all-tests-step.yml +++ b/eng/pipelines/common/templates/steps/run-all-tests-step.yml @@ -81,168 +81,176 @@ 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:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} + -p:TestResultsFolderPath=TestResults ${{ else }}: # x86 msbuildArguments: >- - -t:RunUnitTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsUnit + -p:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} + -p:TestResultsFolderPath=TestResults - task: MSBuild@1 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:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} - -p:Filter="category=flaky" - -p:CollectCodeCoverage=false + -p:TestFilters="category=flaky" + -p:TestResultsFolderPath=TestResults + -p:TestCodeCoverage=false ${{ else }}: # x86 msbuildArguments: >- - -t:RunUnitTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsUnit + -p:TestFramework=${{ parameters.targetFramework }} -p:ReferenceType=${{ parameters.referenceType }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} - -p:Filter="category=flaky" - -p:CollectCodeCoverage=false + -p:TestFilters="category=flaky" + -p:TestResultsFolderPath=TestResults + -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:TestMdsFunctional + -p:TestFramework=${{ 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:TestResultsFolderPath=TestResults ${{ else }}: # x86 msbuildArguments: >- - -t:RunFunctionalTests - -p:TF=${{ parameters.targetFramework }} - -p:TestSet=${{ parameters.testSet }} + -t:TestMdsFunctional + -p:TestFramework=${{ 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:TestResultsFolderPath=TestResults - 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:TestFramework=${{ 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:TestResultsFolderPath=TestResults + -p:TestCodeCoverage=false ${{ else }}: # x86 msbuildArguments: >- - -t:RunFunctionalTests - -p:TF=${{ parameters.targetFramework }} - -p:TestSet=${{ parameters.testSet }} + -t:TestMdsFunctional + -p:TestFramework=${{ 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:TestResultsFolderPath=TestResults + -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:TestFramework=${{ 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:TestResultsFolderPath=TestResults ${{ else }}: # x86 msbuildArguments: >- - -t:RunManualTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsManual + -p:TestFramework=${{ 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:TestResultsFolderPath=TestResults retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }} - task: MSBuild@1 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:TestFramework=${{ 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:TestResultsFolderPath=TestResults + -p:TestCodeCoverage=false ${{ else }}: # x86 msbuildArguments: >- - -t:RunManualTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsManual + -p:TestFramework=${{ 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:TestResultsFolderPath=TestResults + -p:TestCodeCoverage=false continueOnError: true - ${{ else }}: # Linux or macOS @@ -252,18 +260,17 @@ 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:TestFramework=${{ 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:TestResultsFolderPath=TestResults verbosityRestore: Detailed verbosityPack: Detailed @@ -272,20 +279,19 @@ 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:TestFramework=${{ 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:TestResultsFolderPath=TestResults + -p:TestCodeCoverage=false verbosityRestore: Detailed verbosityPack: Detailed continueOnError: true @@ -295,18 +301,17 @@ 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:TestFramework=${{ 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:TestResultsFolderPath=TestResults verbosityRestore: Detailed verbosityPack: Detailed @@ -315,20 +320,19 @@ 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:TestFramework=${{ 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:TestResultsFolderPath=TestResults + -p:TestCodeCoverage=false verbosityRestore: Detailed verbosityPack: Detailed continueOnError: true @@ -338,18 +342,18 @@ steps: condition: succeededOrFailed() inputs: command: custom - projects: build.proj + projects: build2.proj custom: msbuild arguments: >- - -t:RunManualTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsManual + -p:TestFramework=${{ 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:TestResultsFolderPath=TestResults verbosityRestore: Detailed verbosityPack: Detailed retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }} @@ -359,20 +363,20 @@ steps: condition: succeededOrFailed() inputs: command: custom - projects: build.proj + projects: build2.proj custom: msbuild arguments: >- - -t:RunManualTests - -p:TF=${{ parameters.targetFramework }} + -t:TestMdsManual + -p:TestFramework=${{ 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:TestResultsFolderPath=TestResults + -p:TestCodeCoverage=false verbosityRestore: Detailed verbosityPack: Detailed continueOnError: true diff --git a/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml b/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml index 35ec3a15cd..87048dfcd4 100644 --- a/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml +++ b/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml @@ -43,6 +43,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 c12fcee659..438f62dab2 100644 --- a/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml +++ b/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml @@ -43,6 +43,7 @@ pr: - tools/* - azurepipelines-coverage.yml - build.proj + - build2.proj - Directory.Packages.props - dotnet-tools.json - global.json diff --git a/src/Microsoft.Data.SqlClient.sln b/src/Microsoft.Data.SqlClient.sln index 0a80e8f0ca..b25ed21444 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}" @@ -363,6 +332,9 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Microsoft.Data.SqlClient.Internal", "Microsoft.Data.SqlClient.Internal", "{C1D2E3F4-A5B6-7C8D-9E0F-1A2B3C4D5E6F}" 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 @@ -372,6 +344,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 @@ -391,6 +366,48 @@ 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-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-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-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\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 @@ -883,7 +900,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} @@ -918,6 +934,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} diff --git a/src/Microsoft.Data.SqlClient/MdsVersions.props b/src/Microsoft.Data.SqlClient/MdsVersions.props new file mode 100644 index 0000000000..e50e813f66 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/MdsVersions.props @@ -0,0 +1,35 @@ + + + + 7.0.0 + + 0 + + + $(MdsVersionDefault).$(BuildNumber.Split('.')[0]) + $(MdsPackageVersion.Split('-')[0]) + + + $(MdsVersionDefault).$(BuildNumber)-dev + + diff --git a/src/Microsoft.Data.SqlClient/notsupported/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/notsupported/Microsoft.Data.SqlClient.csproj index 065e10dcd3..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) + + - $(RepoRoot)artifacts/$(AssemblyName).notsupported/$(Configuration)/ + $(RepoRoot)artifacts/$(AssemblyName).notsupported/$(ReferenceType)-$(Configuration)/ @@ -86,7 +94,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 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..dbdf7e9338 100644 --- a/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj @@ -2,6 +2,15 @@ Microsoft.Data.SqlClient net462;net8.0;net9.0;netstandard2.0 + true + + + + + + $(MdsAssemblyVersion) + $(MdsAssemblyVersion) + $(MdsPackageVersion) @@ -24,7 +33,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 +44,9 @@ have the full documentation. --> - + powershell.exe pwsh @@ -43,7 +54,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/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj index 9520356e8f..758467c03f 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj @@ -1,11 +1,21 @@ - + Microsoft.Data.SqlClient Debug;Release; - true - + true + + true + + + + + + $(MdsAssemblyVersion) + $(MdsAssemblyVersion) + $(MdsPackageVersion) + @@ -62,7 +72,7 @@ - $(ArtifactPath)$(AssemblyName)/$(Configuration)/$(NormalizedTargetOs)/ + $(ArtifactPath)$(AssemblyName)/$(ReferenceType)-$(Configuration)/$(NormalizedTargetOs)/ @@ -131,7 +141,7 @@ - + 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 0d6203c08d..8806df9432 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlDataReader.cs +++ b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlDataReader.cs @@ -845,7 +845,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"); @@ -1054,7 +1054,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) { @@ -1073,7 +1073,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 @@ -1658,7 +1658,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); @@ -2598,7 +2598,7 @@ virtual public SqlXml GetSqlXml(int i) return sx; } - /// + /// virtual public SqlJson GetSqlJson(int i) { ReadColumn(i); @@ -2606,7 +2606,7 @@ virtual public SqlJson GetSqlJson(int i) return json; } - /// + /// virtual public SqlVector GetSqlVector(int i) where T : unmanaged { if (typeof(T) != typeof(float)) @@ -3139,7 +3139,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 @@ -3909,7 +3909,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 } 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 diff --git a/tools/props/Versions.props b/tools/props/Versions.props index 739055dbf0..858b41628b 100644 --- a/tools/props/Versions.props +++ b/tools/props/Versions.props @@ -29,38 +29,7 @@ - - - 7.0.0 - - $(MdsVersionDefault).$(BuildNumber)-dev - - - - - $(MdsVersionDefault).$(AssemblyBuildNumber) - - - 7.0.0.0 - - $(AssemblyFileVersion) - - - $(MdsPackageVersion) - + diff --git a/tools/specs/Microsoft.Data.SqlClient.nuspec b/tools/specs/Microsoft.Data.SqlClient.nuspec index 117af2dcb2..c068fd6f82 100644 --- a/tools/specs/Microsoft.Data.SqlClient.nuspec +++ b/tools/specs/Microsoft.Data.SqlClient.nuspec @@ -129,103 +129,111 @@ command line to indicate where the DLLs are. --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/targets/GenerateThisAssemblyCs.targets b/tools/targets/GenerateThisAssemblyCs.targets index dc12b40322..6dfd670c5c 100644 --- a/tools/targets/GenerateThisAssemblyCs.targets +++ b/tools/targets/GenerateThisAssemblyCs.targets @@ -8,6 +8,9 @@ + + $(AssemblyVersion) + System