From 2784705f95b94cbfa4e496444e4e0a59ddaacf48 Mon Sep 17 00:00:00 2001 From: Igor Velikorossov Date: Fri, 25 Nov 2022 05:02:15 +1100 Subject: [PATCH] Add .NET 8 support (#425) --- Directory.Build.props | 1 + azure-pipelines-official.yml | 6 ++++ azure-pipelines.yml | 29 ++++++++++++++++++- global.json | 2 +- .../Microsoft.VisualStudio.SlnGen.Tool.csproj | 8 +++++ .../Program.cs | 4 +++ ...osoft.VisualStudio.SlnGen.UnitTests.csproj | 2 +- .../Microsoft.VisualStudio.SlnGen.csproj | 4 +-- version.json | 2 +- 9 files changed, 52 insertions(+), 6 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index a2e9d09a..cf84055c 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -7,5 +7,6 @@ Latest true $(NoWarn);SA0001;SA1515;SA1005;SA1629;NETSDK1192 + true diff --git a/azure-pipelines-official.yml b/azure-pipelines-official.yml index 6aaa9053..eea4030c 100644 --- a/azure-pipelines-official.yml +++ b/azure-pipelines-official.yml @@ -9,6 +9,7 @@ variables: DotNet5Version: '5.x' DotNet6Version: '6.x' DotNet7Version: '7.x' + DotNet8Version: '8.x' MSBuildArgs: '"/Property:Platform=$(BuildPlatform);Configuration=$(BuildConfiguration)" "/BinaryLogger:$(Build.SourcesDirectory)\$(ArtifactsDirectoryName)\msbuild.binlog"' SignType: 'Test' @@ -56,6 +57,11 @@ stages: version: '$(DotNet7Version)' includePreviewVersions: true + - script: | + powershell -NoProfile -ExecutionPolicy unrestricted -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; &([scriptblock]::Create((Invoke-WebRequest -UseBasicParsing 'https://dot.net/v1/dotnet-install.ps1'))) -Channel 8.0 -Quality daily -InstallDir D:\a\_work\_tool\dotnet" + dotnet --info + displayName: 'Install .NET $(DotNet8Version)' + - task: MicroBuildSigningPlugin@1 displayName: 'Install MicroBuild Signing Plugin' inputs: diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 321b0ca1..961125f8 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -9,6 +9,7 @@ variables: DotNet5Version: '5.x' DotNet6Version: '6.x' DotNet7Version: '7.x' + DotNet8Version: '8.x' MSBuildArgs: '"/Property:Platform=$(BuildPlatform);Configuration=$(BuildConfiguration)"' SignType: 'Test' @@ -68,6 +69,24 @@ jobs: version: '$(DotNet7Version)' includePreviewVersions: true + - script: | + powershell -NoProfile -ExecutionPolicy unrestricted -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; &([scriptblock]::Create((Invoke-WebRequest -UseBasicParsing 'https://dot.net/v1/dotnet-install.ps1'))) -Channel 8.0 -Quality daily -InstallDir C:\hostedtoolcache\windows\dotnet" + dotnet --info + displayName: 'Install .NET $(DotNet8Version) (Windows)' + condition: eq(variables.osName, 'Windows') + + - script: | + curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel 8.0 --quality daily --install-dir /opt/hostedtoolcache/dotnet + dotnet --info + displayName: 'Install .NET $(DotNet8Version) (Linux)' + condition: eq(variables.osName, 'Linux') + + - script: | + curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel 8.0 --quality daily --install-dir /Users/runner/hostedtoolcache/dotnet + dotnet --info + displayName: 'Install .NET $(DotNet8Version) (MacOS)' + condition: eq(variables.osName, 'MacOS') + - task: VSBuild@1 displayName: 'Build (Visual Studio)' inputs: @@ -117,10 +136,18 @@ jobs: displayName: 'Run Unit Tests (.NET 7)' inputs: command: 'test' - arguments: '--no-restore --no-build --framework net7.0 /noautorsp $(MSBuildArgs) "/BinaryLogger:$(ArtifactsDirectoryName)/test-net6.0.binlog"' + arguments: '--no-restore --no-build --framework net7.0 /noautorsp $(MSBuildArgs) "/BinaryLogger:$(ArtifactsDirectoryName)/test-net7.0.binlog"' testRunTitle: '$(osName) .NET 7.0' condition: succeededOrFailed() + - task: DotNetCoreCLI@2 + displayName: 'Run Unit Tests (.NET 8)' + inputs: + command: 'test' + arguments: '--no-restore --no-build --framework net8.0 /noautorsp $(MSBuildArgs) "/BinaryLogger:$(ArtifactsDirectoryName)/test-net8.0.binlog"' + testRunTitle: '$(osName) .NET 8.0' + condition: succeededOrFailed() + - task: PublishBuildArtifacts@1 displayName: 'Publish Artifacts' inputs: diff --git a/global.json b/global.json index 9e5e1fd1..7cd6a1f4 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "6.0.0", + "version": "7.0.0", "rollForward": "latestMajor", "allowPrerelease": true } diff --git a/src/Microsoft.VisualStudio.SlnGen.Tool/Microsoft.VisualStudio.SlnGen.Tool.csproj b/src/Microsoft.VisualStudio.SlnGen.Tool/Microsoft.VisualStudio.SlnGen.Tool.csproj index eeb9cee1..cde9cbd0 100644 --- a/src/Microsoft.VisualStudio.SlnGen.Tool/Microsoft.VisualStudio.SlnGen.Tool.csproj +++ b/src/Microsoft.VisualStudio.SlnGen.Tool/Microsoft.VisualStudio.SlnGen.Tool.csproj @@ -62,6 +62,14 @@ ReferenceOutputAssembly="false" SkipGetTargetFrameworkProperties="true" TargetFramework="net7.0" /> + - net472;netcoreapp3.1;net5.0;net6.0;net7.0 + net472;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 false $(NoWarn);SA1600 diff --git a/src/Microsoft.VisualStudio.SlnGen/Microsoft.VisualStudio.SlnGen.csproj b/src/Microsoft.VisualStudio.SlnGen/Microsoft.VisualStudio.SlnGen.csproj index 1f9b1f7d..f0774570 100644 --- a/src/Microsoft.VisualStudio.SlnGen/Microsoft.VisualStudio.SlnGen.csproj +++ b/src/Microsoft.VisualStudio.SlnGen/Microsoft.VisualStudio.SlnGen.csproj @@ -1,7 +1,7 @@  Exe - net461;net472;netcoreapp3.1;net5.0;net6.0;net7.0 + net461;net472;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 $(AllowedOutputExtensionsInPackageBuildOutputFolder);.config true true @@ -31,7 +31,7 @@ - + diff --git a/version.json b/version.json index f94e8f3f..41a462c3 100644 --- a/version.json +++ b/version.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "8.6", + "version": "9.0", "assemblyVersion": "3.0", "buildNumberOffset": -1, "publicReleaseRefSpec": [