From 68f4394c660928ab0321b0085f5a1e01a6963e74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Le=C3=9Fmann?= Date: Wed, 10 Jan 2024 13:54:50 +0100 Subject: [PATCH 1/4] Add target framework to nunit-agent, disable NuGet audit --- global.json | 2 +- src/NUnitEngine/mock-assembly-x86/mock-assembly-x86.csproj | 1 + src/NUnitEngine/mock-assembly/mock-assembly.csproj | 3 ++- src/NUnitEngine/notest-assembly/notest-assembly.csproj | 1 + src/NUnitEngine/nunit-agent/Program.cs | 6 +++++- src/NUnitEngine/nunit-agent/nunit-agent.csproj | 2 +- .../nunit.engine.core.tests/nunit.engine.core.tests.csproj | 1 + .../nunit.engine.tests/nunit.engine.tests.csproj | 1 + src/NUnitEngine/nunit.engine/Services/AgentProcess.cs | 2 +- 9 files changed, 14 insertions(+), 5 deletions(-) diff --git a/global.json b/global.json index 8a46e9ab2..7eb9bc5b3 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "6.0.101", + "version": "8.0.100", "rollForward": "feature" } } \ No newline at end of file diff --git a/src/NUnitEngine/mock-assembly-x86/mock-assembly-x86.csproj b/src/NUnitEngine/mock-assembly-x86/mock-assembly-x86.csproj index f21146db6..1a5677711 100644 --- a/src/NUnitEngine/mock-assembly-x86/mock-assembly-x86.csproj +++ b/src/NUnitEngine/mock-assembly-x86/mock-assembly-x86.csproj @@ -7,6 +7,7 @@ ..\..\nunit.snk x86 false + false diff --git a/src/NUnitEngine/mock-assembly/mock-assembly.csproj b/src/NUnitEngine/mock-assembly/mock-assembly.csproj index 7a775e1b3..74ad22266 100644 --- a/src/NUnitEngine/mock-assembly/mock-assembly.csproj +++ b/src/NUnitEngine/mock-assembly/mock-assembly.csproj @@ -2,10 +2,11 @@ NUnit.Tests - net35;net40;netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 + net35;net40;netcoreapp2.1;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 true ..\..\nunit.snk false + false diff --git a/src/NUnitEngine/notest-assembly/notest-assembly.csproj b/src/NUnitEngine/notest-assembly/notest-assembly.csproj index 07eeca2ba..babc040ef 100644 --- a/src/NUnitEngine/notest-assembly/notest-assembly.csproj +++ b/src/NUnitEngine/notest-assembly/notest-assembly.csproj @@ -4,6 +4,7 @@ notest_assembly net35;netcoreapp2.1;netcoreapp3.1 false + false diff --git a/src/NUnitEngine/nunit-agent/Program.cs b/src/NUnitEngine/nunit-agent/Program.cs index 4c98c0591..45f951ac7 100644 --- a/src/NUnitEngine/nunit-agent/Program.cs +++ b/src/NUnitEngine/nunit-agent/Program.cs @@ -3,7 +3,9 @@ using System; using System.Diagnostics; using System.IO; +using System.Reflection; using System.Runtime.InteropServices; +using System.Runtime.Versioning; using System.Security; using NUnit.Common; using NUnit.Engine; @@ -71,7 +73,9 @@ public static void Main(string[] args) LocateAgencyProcess(agencyPid); -#if NETCOREAPP3_1 +#if NET5_0_OR_GREATER + log.Info($"Running {typeof(NUnitTestAgent).Assembly.GetCustomAttribute().FrameworkDisplayName} agent under {RuntimeInformation.FrameworkDescription}"); +#elif NETCOREAPP3_1 log.Info($"Running .NET Core 3.1 agent under {RuntimeInformation.FrameworkDescription}"); #elif NET40 log.Info($"Running .NET 4.0 agent under {RuntimeFramework.CurrentFramework.DisplayName}"); diff --git a/src/NUnitEngine/nunit-agent/nunit-agent.csproj b/src/NUnitEngine/nunit-agent/nunit-agent.csproj index aeca8e54a..c7b24aee7 100644 --- a/src/NUnitEngine/nunit-agent/nunit-agent.csproj +++ b/src/NUnitEngine/nunit-agent/nunit-agent.csproj @@ -3,7 +3,7 @@ Exe nunit.agent - net20;net40;netcoreapp3.1;net5.0;net6.0 + net20;net40;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 app.manifest ..\..\..\nunit.ico false diff --git a/src/NUnitEngine/nunit.engine.core.tests/nunit.engine.core.tests.csproj b/src/NUnitEngine/nunit.engine.core.tests/nunit.engine.core.tests.csproj index 0441bbc04..ed9a7df0b 100644 --- a/src/NUnitEngine/nunit.engine.core.tests/nunit.engine.core.tests.csproj +++ b/src/NUnitEngine/nunit.engine.core.tests/nunit.engine.core.tests.csproj @@ -8,6 +8,7 @@ ..\..\nunit.snk Full false + false diff --git a/src/NUnitEngine/nunit.engine.tests/nunit.engine.tests.csproj b/src/NUnitEngine/nunit.engine.tests/nunit.engine.tests.csproj index bdb1a9898..cd074fe74 100644 --- a/src/NUnitEngine/nunit.engine.tests/nunit.engine.tests.csproj +++ b/src/NUnitEngine/nunit.engine.tests/nunit.engine.tests.csproj @@ -8,6 +8,7 @@ ..\..\nunit.snk Full false + false diff --git a/src/NUnitEngine/nunit.engine/Services/AgentProcess.cs b/src/NUnitEngine/nunit.engine/Services/AgentProcess.cs index 6411d810e..91f6e6371 100644 --- a/src/NUnitEngine/nunit.engine/Services/AgentProcess.cs +++ b/src/NUnitEngine/nunit.engine/Services/AgentProcess.cs @@ -127,7 +127,7 @@ public static string GetTestAgentExePath(RuntimeFramework targetRuntime, bool re agentExtension = ".exe"; break; case RuntimeType.NetCore: - runtimeDir = major >= 6 ? "net6.0" : major == 5 ? "net5.0" : "netcoreapp3.1"; + runtimeDir = major >= 8 ? "net8.0" : major == 7 ? "net7.0" : major == 6 ? "net6.0" : major == 5 ? "net5.0" : "netcoreapp3.1"; agentName = "nunit-agent"; agentExtension = ".dll"; break; From 6d21729c0134ae87435d9d0983e0a14af7ab9ff4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Le=C3=9Fmann?= Date: Wed, 10 Jan 2024 14:42:22 +0100 Subject: [PATCH 2/4] Add .NET 8 console --- cake/constants.cake | 1 + cake/package-definitions.cake | 34 ++++++++++++++++--- cake/package-tests.cake | 14 +++++++- cake/utilities.cake | 2 +- choco/nunit-console-runner.nuspec | 20 +++++++++++ nuget/runners/nunit.console-runner.nuspec | 26 ++++++++++++++ .../nunit3-console.tests.csproj | 2 +- .../nunit3-console/OptionsUtils/Options.cs | 4 +-- .../nunit3-console/nunit3-console.csproj | 2 +- 9 files changed, 95 insertions(+), 10 deletions(-) diff --git a/cake/constants.cake b/cake/constants.cake index 4c3b713bc..c3b2682f2 100644 --- a/cake/constants.cake +++ b/cake/constants.cake @@ -39,6 +39,7 @@ var NOTEST_PROJECT = SOURCE_DIR + "NUnitEngine/notest-assembly/notest-assembly.c // Console Runner var NET20_CONSOLE = BIN_DIR + "net20/nunit3-console.exe"; var NET60_CONSOLE = BIN_DIR + "net6.0/nunit3-console.dll"; +var NET80_CONSOLE = BIN_DIR + "net8.0/nunit3-console.dll"; // Unit Tests var NETFX_ENGINE_CORE_TESTS = "nunit.engine.core.tests.exe"; var NETCORE_ENGINE_CORE_TESTS = "nunit.engine.core.tests.dll"; diff --git a/cake/package-definitions.cake b/cake/package-definitions.cake index 93db0d309..f8786f0c7 100644 --- a/cake/package-definitions.cake +++ b/cake/package-definitions.cake @@ -5,6 +5,7 @@ PackageDefinition NUnitConsoleNuGetPackage; PackageDefinition NUnitConsoleRunnerNuGetPackage; PackageDefinition NUnitConsoleRunnerNet60Package; +PackageDefinition NUnitConsoleRunnerNet80Package; PackageDefinition NUnitEnginePackage; PackageDefinition NUnitEngineApiPackage; PackageDefinition NUnitConsoleRunnerChocolateyPackage; @@ -46,6 +47,8 @@ public void InitializePackageDefinitions(ICakeContext context) NetCore31Test, Net50Test, Net60Test, + Net70Test, + Net80Test, NetCore21PlusNetCore31Test, NetCore21PlusNetCore31PlusNet50PlusNet60Test }; @@ -71,7 +74,9 @@ public void InitializePackageDefinitions(ICakeContext context) HasDirectory("tools/agents/net40").WithFiles(AGENT_FILES).AndFile("nunit.agent.addins"), HasDirectory("tools/agents/netcoreapp3.1").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"), HasDirectory("tools/agents/net5.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"), - HasDirectory("tools/agents/net6.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins") + HasDirectory("tools/agents/net6.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"), + HasDirectory("tools/agents/net7.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"), + HasDirectory("tools/agents/net8.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins") }, symbols: new PackageCheck[] { HasDirectory("tools").WithFiles(ENGINE_PDB_FILES).AndFile("nunit3-console.pdb"), @@ -79,11 +84,28 @@ public void InitializePackageDefinitions(ICakeContext context) HasDirectory("tools/agents/net40").WithFiles(AGENT_PDB_FILES), HasDirectory("tools/agents/netcoreapp3.1").WithFiles(AGENT_PDB_FILES_NETCORE), HasDirectory("tools/agents/net5.0").WithFiles(AGENT_PDB_FILES_NETCORE), - HasDirectory("tools/agents/net6.0").WithFiles(AGENT_PDB_FILES_NETCORE) + HasDirectory("tools/agents/net6.0").WithFiles(AGENT_PDB_FILES_NETCORE), + HasDirectory("tools/agents/net7.0").WithFiles(AGENT_PDB_FILES_NETCORE), + HasDirectory("tools/agents/net8.0").WithFiles(AGENT_PDB_FILES_NETCORE) }, executable: "tools/nunit3-console.exe", tests: StandardRunnerTests), + NUnitConsoleRunnerNet80Package = new NuGetPackage( + context: context, + id: "NUnit.ConsoleRunner.NetCore", + version: ProductVersion, + source: NUGET_DIR + "runners/nunit.console-runner.netcore.nuspec", + checks: new PackageCheck[] { + HasFiles("LICENSE.txt", "NOTICES.txt"), + HasDirectory("tools/net8.0/any").WithFiles(CONSOLE_FILES_NETCORE).AndFiles(ENGINE_FILES).AndFile("nunit.console.nuget.addins") + }, + symbols: new PackageCheck[] { + HasDirectory("tools/net8.0/any").WithFile("nunit3-console.pdb").AndFiles(ENGINE_PDB_FILES) + }, + executable: "tools/net8.0/any/nunit3-console.exe", + tests: NetCoreRunnerTests), + NUnitConsoleRunnerNet60Package = new NuGetPackage( context: context, id: "NUnit.ConsoleRunner.NetCore", @@ -110,7 +132,9 @@ public void InitializePackageDefinitions(ICakeContext context) HasDirectory("tools/agents/net40").WithFiles(AGENT_FILES).AndFile("nunit.agent.addins"), HasDirectory("tools/agents/netcoreapp3.1").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"), HasDirectory("tools/agents/net5.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"), - HasDirectory("tools/agents/net6.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins") + HasDirectory("tools/agents/net6.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"), + HasDirectory("tools/agents/net7.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"), + HasDirectory("tools/agents/net8.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins") }, executable: "tools/nunit3-console.exe", tests: StandardRunnerTests), @@ -144,7 +168,9 @@ public void InitializePackageDefinitions(ICakeContext context) HasDirectory("bin/agents/net20").WithFiles(AGENT_FILES).AndFiles(AGENT_PDB_FILES), HasDirectory("bin/agents/net40").WithFiles(AGENT_FILES).AndFiles(AGENT_PDB_FILES), HasDirectory("bin/agents/net5.0").WithFiles(AGENT_FILES_NETCORE).AndFiles(AGENT_PDB_FILES_NETCORE), - HasDirectory("bin/agents/net6.0").WithFiles(AGENT_FILES_NETCORE).AndFiles(AGENT_PDB_FILES_NETCORE) + HasDirectory("bin/agents/net6.0").WithFiles(AGENT_FILES_NETCORE).AndFiles(AGENT_PDB_FILES_NETCORE), + HasDirectory("bin/agents/net7.0").WithFiles(AGENT_FILES_NETCORE).AndFiles(AGENT_PDB_FILES_NETCORE), + HasDirectory("bin/agents/net8.0").WithFiles(AGENT_FILES_NETCORE).AndFiles(AGENT_PDB_FILES_NETCORE) }, executable: "bin/net20/nunit3-console.exe", tests: StandardRunnerTests.Concat(new[] { NUnitProjectTest })), diff --git a/cake/package-tests.cake b/cake/package-tests.cake index e28e90434..4683be511 100644 --- a/cake/package-tests.cake +++ b/cake/package-tests.cake @@ -42,6 +42,18 @@ static PackageTest Net35PlusNet40Test = new PackageTest( "net35/mock-assembly.dll net40/mock-assembly.dll", MockAssemblyExpectedResult(2)); +static PackageTest Net80Test = new PackageTest( + "Net80Test", + "Run mock-assembly.dll under .NET 8.0", + "net8.0/mock-assembly.dll", + MockAssemblyExpectedResult(1)); + +static PackageTest Net70Test = new PackageTest( + "Net70Test", + "Run mock-assembly.dll under .NET 7.0", + "net7.0/mock-assembly.dll", + MockAssemblyExpectedResult(1)); + static PackageTest Net60Test = new PackageTest( "Net60Test", "Run mock-assembly.dll under .NET 6.0", @@ -87,7 +99,7 @@ static PackageTest NetCore21PlusNetCore31Test = new PackageTest( static PackageTest NetCore21PlusNetCore31PlusNet50PlusNet60Test = new PackageTest( "NetCore21PlusNetCore31PlusNet50PlusNet60Test", "Run four copies of mock-assembly together", - "netcoreapp2.1/mock-assembly.dll netcoreapp3.1/mock-assembly.dll net5.0/mock-assembly.dll net6.0/mock-assembly.dll", + "netcoreapp2.1/mock-assembly.dll netcoreapp3.1/mock-assembly.dll net5.0/mock-assembly.dll net6.0/mock-assembly.dll net7.0/mock-assembly.dll net8.0/mock-assembly.dll", MockAssemblyExpectedResult(4)); static PackageTest Net40PlusNet60Test = new PackageTest( diff --git a/cake/utilities.cake b/cake/utilities.cake index 803c04a3a..23785a7ed 100644 --- a/cake/utilities.cake +++ b/cake/utilities.cake @@ -180,7 +180,7 @@ void RunNetCoreConsole(string testAssembly, string targetRuntime) "dotnet", new ProcessSettings { - Arguments = $"\"{NET60_CONSOLE}\" \"{assemblyPath}\" --result:{resultPath}", + Arguments = $"\"{NET80_CONSOLE}\" \"{assemblyPath}\" --result:{resultPath}", WorkingDirectory = workingDir }); diff --git a/choco/nunit-console-runner.nuspec b/choco/nunit-console-runner.nuspec index f8f321b5e..941311ce5 100644 --- a/choco/nunit-console-runner.nuspec +++ b/choco/nunit-console-runner.nuspec @@ -92,5 +92,25 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/nuget/runners/nunit.console-runner.nuspec b/nuget/runners/nunit.console-runner.nuspec index 032d4d088..a1159dcfa 100644 --- a/nuget/runners/nunit.console-runner.nuspec +++ b/nuget/runners/nunit.console-runner.nuspec @@ -93,6 +93,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/NUnitConsole/nunit3-console.tests/nunit3-console.tests.csproj b/src/NUnitConsole/nunit3-console.tests/nunit3-console.tests.csproj index cf732deba..5c1212d21 100644 --- a/src/NUnitConsole/nunit3-console.tests/nunit3-console.tests.csproj +++ b/src/NUnitConsole/nunit3-console.tests/nunit3-console.tests.csproj @@ -2,7 +2,7 @@ NUnit.ConsoleRunner.Tests - net35;net6.0 + net35;net6.0;net8.0 1685 Full diff --git a/src/NUnitConsole/nunit3-console/OptionsUtils/Options.cs b/src/NUnitConsole/nunit3-console/OptionsUtils/Options.cs index 1e5ded4e7..d9d4db7af 100644 --- a/src/NUnitConsole/nunit3-console/OptionsUtils/Options.cs +++ b/src/NUnitConsole/nunit3-console/OptionsUtils/Options.cs @@ -771,7 +771,7 @@ public OptionException(string message, string optionName, Exception innerExcepti this.option = optionName; } -#if !PCL +#if !PCL && !NET8_0_OR_GREATER protected OptionException(SerializationInfo info, StreamingContext context) : base(info, context) { @@ -784,7 +784,7 @@ public string OptionName get { return this.option; } } -#if !PCL +#if !PCL && !NET8_0_OR_GREATER public override void GetObjectData(SerializationInfo info, StreamingContext context) { base.GetObjectData(info, context); diff --git a/src/NUnitConsole/nunit3-console/nunit3-console.csproj b/src/NUnitConsole/nunit3-console/nunit3-console.csproj index 657ed62a3..0ebf4f30e 100644 --- a/src/NUnitConsole/nunit3-console/nunit3-console.csproj +++ b/src/NUnitConsole/nunit3-console/nunit3-console.csproj @@ -4,7 +4,7 @@ Exe NUnit.ConsoleRunner nunit3-console - net20;net6.0 + net20;net6.0;net8.0 Major From cf48ddf70bcafbf4fb1b31247e7f48ac7c05799f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Le=C3=9Fmann?= Date: Wed, 10 Jan 2024 15:08:35 +0100 Subject: [PATCH 3/4] Engine Core .NET 8 --- build.cake | 19 ++++++++++++++++--- .../nunit.engine.core.tests.csproj | 2 +- .../nunit.engine.core.csproj | 2 +- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/build.cake b/build.cake index 49ec5e7d8..a199acc4d 100644 --- a/build.cake +++ b/build.cake @@ -139,8 +139,8 @@ private void BuildEachProjectSeparately() BuildProject(AGENT_X86_PROJECT); BuildProject(ENGINE_TESTS_PROJECT, "net35", "netcoreapp2.1"); - BuildProject(ENGINE_CORE_TESTS_PROJECT, "net35", "netcoreapp2.1", "netcoreapp3.1", "net5.0", "net6.0"); - BuildProject(CONSOLE_TESTS_PROJECT, "net35", "net6.0"); + BuildProject(ENGINE_CORE_TESTS_PROJECT, "net35", "netcoreapp2.1", "netcoreapp3.1", "net5.0", "net6.0", "net8.0"); + BuildProject(CONSOLE_TESTS_PROJECT, "net35", "net6.0", "net8.0"); BuildProject(MOCK_ASSEMBLY_X86_PROJECT, "net35", "net40", "netcoreapp2.1", "netcoreapp3.1"); BuildProject(NOTEST_PROJECT, "net35", "netcoreapp2.1", "netcoreapp3.1"); @@ -317,7 +317,7 @@ Task("TestNet20Console") { RunNet20Console(CONSOLE_TESTS, "net35"); }); - + ////////////////////////////////////////////////////////////////////// // TEST .NET 6.0 CONSOLE ////////////////////////////////////////////////////////////////////// @@ -331,6 +331,19 @@ Task("TestNet60Console") RunNetCoreConsole(CONSOLE_TESTS, "net6.0"); }); +////////////////////////////////////////////////////////////////////// +// TEST .NET 8.0 CONSOLE +////////////////////////////////////////////////////////////////////// + +Task("TestNet80Console") + .Description("Tests the .NET 8.0 console runner") + .IsDependentOn("Build") + .OnError(exception => { UnreportedErrors.Add(exception.Message); }) + .Does(() => + { + RunNetCoreConsole(CONSOLE_TESTS, "net8.0"); + }); + ////////////////////////////////////////////////////////////////////// // FETCH BUNDLED EXTENSIONS ////////////////////////////////////////////////////////////////////// diff --git a/src/NUnitEngine/nunit.engine.core.tests/nunit.engine.core.tests.csproj b/src/NUnitEngine/nunit.engine.core.tests/nunit.engine.core.tests.csproj index ed9a7df0b..2a4c87d65 100644 --- a/src/NUnitEngine/nunit.engine.core.tests/nunit.engine.core.tests.csproj +++ b/src/NUnitEngine/nunit.engine.core.tests/nunit.engine.core.tests.csproj @@ -2,7 +2,7 @@ NUnit.Engine.Core.Tests - net35;netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 + net35;netcoreapp2.1;netcoreapp3.1;net5.0;net6.0;net8.0 Exe true ..\..\nunit.snk diff --git a/src/NUnitEngine/nunit.engine.core/nunit.engine.core.csproj b/src/NUnitEngine/nunit.engine.core/nunit.engine.core.csproj index f5d02c59a..b7b629311 100644 --- a/src/NUnitEngine/nunit.engine.core/nunit.engine.core.csproj +++ b/src/NUnitEngine/nunit.engine.core/nunit.engine.core.csproj @@ -2,7 +2,7 @@ NUnit.Engine - net20;netstandard2.0;netcoreapp3.1;net5.0;net6.0 + net20;netstandard2.0;netcoreapp3.1;net5.0;net6.0;net8.0 $(NoWarn);SYSLIB0011;SYSLIB0012 true ..\..\nunit.snk From 31c20b7a1c9f5b157ab8e9633369ee72770af87f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Le=C3=9Fmann?= Date: Wed, 10 Jan 2024 15:41:34 +0100 Subject: [PATCH 4/4] Install .NET SDKs on azure pipelines --- azure-pipelines.yml | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 0edc93152..684fbabb1 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -9,9 +9,19 @@ jobs: condition: not(or(startsWith(variables['Build.SourceBranchName'], 'azure-linux-'),startsWith(variables['Build.SourceBranchName'], 'azure-macOS-'))) pool: vmImage: windows-2022 - + steps: + - task: UseDotNet@2 + displayName: 'Install .NET 8.0' + inputs: + version: 8.x + + - task: UseDotNet@2 + displayName: 'Install .NET 7.0' + inputs: + version: 7.x + - task: UseDotNet@2 displayName: 'Install .NET 6.0' inputs: @@ -26,7 +36,7 @@ jobs: displayName: 'Install .NET Core SDK' inputs: version: 3.1.x - + - task: UseDotNet@2 displayName: 'Install .NET Core runtime 2.1' inputs: @@ -69,6 +79,16 @@ jobs: vmImage: ubuntu-20.04 steps: + - task: UseDotNet@2 + displayName: 'Install .NET 8.0' + inputs: + version: 8.x + + - task: UseDotNet@2 + displayName: 'Install .NET 7.0' + inputs: + version: 7.x + - task: UseDotNet@2 displayName: 'Install .NET 6.0' inputs: @@ -83,7 +103,7 @@ jobs: displayName: 'Install .NET Core SDK' inputs: version: 3.1.x - + - task: UseDotNet@2 displayName: 'Install .NET Core runtime 2.1' inputs: @@ -118,6 +138,16 @@ jobs: vmImage: macOS-11 steps: + - task: UseDotNet@2 + displayName: 'Install .NET 8.0' + inputs: + version: 8.x + + - task: UseDotNet@2 + displayName: 'Install .NET 7.0' + inputs: + version: 7.x + - task: UseDotNet@2 displayName: 'Install .NET 6.0' inputs: @@ -132,7 +162,7 @@ jobs: displayName: 'Install .NET Core SDK' inputs: version: 3.1.x - + - task: UseDotNet@2 displayName: 'Install .NET Core runtime 2.1' inputs: