diff --git a/test/dotnet/install_dotnet_latest_when_version_is_empty.sh b/test/dotnet/install_dotnet_latest_when_version_is_empty.sh index cd23edcf1..b28c45a2f 100644 --- a/test/dotnet/install_dotnet_latest_when_version_is_empty.sh +++ b/test/dotnet/install_dotnet_latest_when_version_is_empty.sh @@ -18,9 +18,6 @@ expected=$(fetch_latest_version) check "Latest .NET SDK version installed" \ is_dotnet_sdk_version_installed "$expected" -check "Build and run example project" \ -dotnet run --project projects/net8.0 - # Report results # If any of the checks above exited with a non-zero exit code, the test will fail. reportResults \ No newline at end of file diff --git a/test/dotnet/install_dotnet_lts.sh b/test/dotnet/install_dotnet_lts.sh index bc2d40782..da9175c15 100644 --- a/test/dotnet/install_dotnet_lts.sh +++ b/test/dotnet/install_dotnet_lts.sh @@ -18,9 +18,6 @@ expected=$(fetch_latest_version_in_channel "LTS") check "Latest LTS version installed" \ is_dotnet_sdk_version_installed "$expected" -check "Build and run example project" \ -dotnet run --project projects/net8.0 - # Report results # If any of the checks above exited with a non-zero exit code, the test will fail. reportResults \ No newline at end of file diff --git a/test/dotnet/install_dotnet_multiple_versions.sh b/test/dotnet/install_dotnet_multiple_versions.sh index 5f0f12533..87bf8caf4 100644 --- a/test/dotnet/install_dotnet_multiple_versions.sh +++ b/test/dotnet/install_dotnet_multiple_versions.sh @@ -13,6 +13,9 @@ source dev-container-features-test-lib source dotnet_env.sh source dotnet_helpers.sh +check ".NET SDK 9.0 installed" \ +is_dotnet_sdk_version_installed "9.0" + check ".NET SDK 8.0 installed" \ is_dotnet_sdk_version_installed "8.0" @@ -22,9 +25,33 @@ is_dotnet_sdk_version_installed "7.0" check ".NET SDK 6.0 installed" \ is_dotnet_sdk_version_installed "6.0" +check ".NET SDK 5.0 installed" \ +is_dotnet_sdk_version_installed "5.0" + +check ".NET Core SDK 3.1 installed" \ +is_dotnet_sdk_version_installed "3.1" + check "Build example class library" \ dotnet build projects/multitargeting +check "Build and run .NET 9.0 project" \ +dotnet run --project projects/net9.0 + +check "Build and run .NET 8.0 project" \ +dotnet run --project projects/net8.0 + +check "Build and run .NET 7.0 project" \ +dotnet run --project projects/net7.0 + +check "Build and run .NET 6.0 project" \ +dotnet run --project projects/net6.0 + +check "Build and run .NET 5.0 project" \ +dotnet run --project projects/net5.0 + +check "Build and run .NET Core 3.1 project" \ +dotnet run --project projects/netcoreapp3.1 + # Report results # If any of the checks above exited with a non-zero exit code, the test will fail. reportResults \ No newline at end of file diff --git a/test/dotnet/projects/multitargeting/example_classlib.csproj b/test/dotnet/projects/multitargeting/example_classlib.csproj index ba47b0f46..8a8ca0c32 100644 --- a/test/dotnet/projects/multitargeting/example_classlib.csproj +++ b/test/dotnet/projects/multitargeting/example_classlib.csproj @@ -1,7 +1,7 @@ <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> - <TargetFrameworks>net8.0;net7.0;net6.0</TargetFrameworks> + <TargetFrameworks>net9.0;net8.0;net7.0;net6.0</TargetFrameworks> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> </PropertyGroup> diff --git a/test/dotnet/projects/net5.0/example_project.csproj b/test/dotnet/projects/net5.0/example_project.csproj index 63450c349..9fa0cf3f7 100644 --- a/test/dotnet/projects/net5.0/example_project.csproj +++ b/test/dotnet/projects/net5.0/example_project.csproj @@ -7,7 +7,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> + <PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> </ItemGroup> </Project> \ No newline at end of file diff --git a/test/dotnet/projects/net6.0/example_project.csproj b/test/dotnet/projects/net6.0/example_project.csproj index aa2434cb7..48c9b4e8a 100644 --- a/test/dotnet/projects/net6.0/example_project.csproj +++ b/test/dotnet/projects/net6.0/example_project.csproj @@ -8,7 +8,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> + <PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> </ItemGroup> </Project> \ No newline at end of file diff --git a/test/dotnet/projects/net7.0/example_project.csproj b/test/dotnet/projects/net7.0/example_project.csproj index 424f54ae7..11953d275 100644 --- a/test/dotnet/projects/net7.0/example_project.csproj +++ b/test/dotnet/projects/net7.0/example_project.csproj @@ -8,7 +8,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> + <PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> </ItemGroup> </Project> \ No newline at end of file diff --git a/test/dotnet/projects/net8.0/example_project.csproj b/test/dotnet/projects/net8.0/example_project.csproj index 2f1f60891..ddac9409e 100644 --- a/test/dotnet/projects/net8.0/example_project.csproj +++ b/test/dotnet/projects/net8.0/example_project.csproj @@ -8,7 +8,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> + <PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> </ItemGroup> </Project> \ No newline at end of file diff --git a/test/dotnet/projects/net9.0/Program.cs b/test/dotnet/projects/net9.0/Program.cs new file mode 100644 index 000000000..59fb426af --- /dev/null +++ b/test/dotnet/projects/net9.0/Program.cs @@ -0,0 +1,32 @@ +using Newtonsoft.Json; + +string json = """ +{ + "Name": "Inception", + "ReleaseDate": "2010-07-08T00:00:00", + "Genres": [ + "Action", + "Thriller" + ] +} +"""; + +Movie? m = JsonConvert.DeserializeObject<Movie>(json); + +if (m == default) +{ + Console.WriteLine("Decoding failed!"); +} +else +{ + Console.WriteLine($"Movie name: {m.Name}"); + Console.WriteLine($"Release Date: {m.ReleaseDate}"); + Console.WriteLine($"Genres: {string.Join(", ", m.Genres)}"); +} + +class Movie(string? name, DateTime releaseDate, List<string>? genres) +{ + public string Name { get; set; } = name ?? "Default Name"; + public DateTime ReleaseDate { get; set; } = releaseDate; + public List<string> Genres { get; set; } = genres ?? []; +} \ No newline at end of file diff --git a/test/dotnet/projects/net9.0/example_project.csproj b/test/dotnet/projects/net9.0/example_project.csproj new file mode 100644 index 000000000..6cc1da0d0 --- /dev/null +++ b/test/dotnet/projects/net9.0/example_project.csproj @@ -0,0 +1,14 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>net9.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> + </ItemGroup> + +</Project> \ No newline at end of file diff --git a/test/dotnet/projects/netcoreapp3.1/example_project.csproj b/test/dotnet/projects/netcoreapp3.1/example_project.csproj index e2e909c17..f8859db8b 100644 --- a/test/dotnet/projects/netcoreapp3.1/example_project.csproj +++ b/test/dotnet/projects/netcoreapp3.1/example_project.csproj @@ -3,12 +3,11 @@ <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> - <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> </PropertyGroup> <ItemGroup> - <PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> + <PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> </ItemGroup> </Project> \ No newline at end of file diff --git a/test/dotnet/scenarios.json b/test/dotnet/scenarios.json index 2fd74f587..641753632 100644 --- a/test/dotnet/scenarios.json +++ b/test/dotnet/scenarios.json @@ -40,10 +40,13 @@ "remoteUser": "vscode", "features": { "dotnet": { - "version": "8.0.100-preview.6.23330.14", + "version": "9.0", "additionalVersions": [ + "8.0", "7.0", - "6.0" + "6.0", + "5.0", + "3.1" ] } } @@ -92,4 +95,4 @@ } } } -} +} \ No newline at end of file diff --git a/test/dotnet/test.sh b/test/dotnet/test.sh index 50d79941f..11cc73126 100644 --- a/test/dotnet/test.sh +++ b/test/dotnet/test.sh @@ -24,9 +24,6 @@ expected=$(fetch_latest_version) check "Latest .NET SDK version installed" \ is_dotnet_sdk_version_installed "$expected" -check "Build and run example project" \ -dotnet run --project projects/net8.0 - # Report results # If any of the checks above exited with a non-zero exit code, the test will fail. reportResults \ No newline at end of file