diff --git a/Dockerfile b/Dockerfile
index af31659b..2437eff0 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -40,15 +40,15 @@ COPY . .
RUN dotnet build -c Release --framework net47 YamlDotNet/YamlDotNet.csproj -o /output/net47
RUN dotnet build -c Release --framework netstandard2.0 YamlDotNet/YamlDotNet.csproj -o /output/netstandard2.0
RUN dotnet build -c Release --framework netstandard2.1 YamlDotNet/YamlDotNet.csproj -o /output/netstandard2.1
-RUN dotnet build -c Release --framework net60 YamlDotNet/YamlDotNet.csproj -o /output/net60
-RUN dotnet build -c Release --framework net70 YamlDotNet/YamlDotNet.csproj -o /output/net70
-RUN dotnet build -c Release --framework net80 YamlDotNet/YamlDotNet.csproj -o /output/net80
+RUN dotnet build -c Release --framework net6.0 YamlDotNet/YamlDotNet.csproj -o /output/net6.0
+RUN dotnet build -c Release --framework net7.0 YamlDotNet/YamlDotNet.csproj -o /output/net7.0
+RUN dotnet build -c Release --framework net8.0 YamlDotNet/YamlDotNet.csproj -o /output/net8.0
RUN dotnet pack -c Release YamlDotNet/YamlDotNet.csproj -o /output/package /p:Version=$PACKAGE_VERSION
-RUN dotnet test -c Release YamlDotNet.Test/YamlDotNet.Test.csproj --framework net80 --logger:"trx;LogFileName=/output/tests.net80.trx" --logger:"console;Verbosity=detailed"
-RUN dotnet test -c Release YamlDotNet.Test/YamlDotNet.Test.csproj --framework net70 --logger:"trx;LogFileName=/output/tests.net70.trx" --logger:"console;Verbosity=detailed"
-RUN dotnet test -c Release YamlDotNet.Test/YamlDotNet.Test.csproj --framework net60 --logger:"trx;LogFileName=/output/tests.net60.trx" --logger:"console;Verbosity=detailed"
+RUN dotnet test -c Release YamlDotNet.Test/YamlDotNet.Test.csproj --framework net8.0 --logger:"trx;LogFileName=/output/tests-net8.0.trx" --logger:"console;Verbosity=detailed"
+RUN dotnet test -c Release YamlDotNet.Test/YamlDotNet.Test.csproj --framework net7.0 --logger:"trx;LogFileName=/output/tests-net7.0.trx" --logger:"console;Verbosity=detailed"
+RUN dotnet test -c Release YamlDotNet.Test/YamlDotNet.Test.csproj --framework net6.0 --logger:"trx;LogFileName=/output/tests-net6.0.trx" --logger:"console;Verbosity=detailed"
FROM alpine
VOLUME /output
diff --git a/Dockerfile.NonEnglish b/Dockerfile.NonEnglish
index 69c454a7..20d6cf1d 100644
--- a/Dockerfile.NonEnglish
+++ b/Dockerfile.NonEnglish
@@ -42,9 +42,9 @@ COPY . .
RUN dotnet build -c Release --framework net47 YamlDotNet/YamlDotNet.csproj -o /output/net47
RUN dotnet build -c Release --framework netstandard2.0 YamlDotNet/YamlDotNet.csproj -o /output/netstandard2.0
RUN dotnet build -c Release --framework netstandard2.1 YamlDotNet/YamlDotNet.csproj -o /output/netstandard2.1
-RUN dotnet build -c Release --framework net60 YamlDotNet/YamlDotNet.csproj -o /output/net60
-RUN dotnet build -c Release --framework net70 YamlDotNet/YamlDotNet.csproj -o /output/net70
-RUN dotnet build -c Release --framework net80 YamlDotNet/YamlDotNet.csproj -o /output/net80
+RUN dotnet build -c Release --framework net6.0 YamlDotNet/YamlDotNet.csproj -o /output/net6.0
+RUN dotnet build -c Release --framework net7.0 YamlDotNet/YamlDotNet.csproj -o /output/net7.0
+RUN dotnet build -c Release --framework net8.0 YamlDotNet/YamlDotNet.csproj -o /output/net8.0
RUN dotnet pack -c Release YamlDotNet/YamlDotNet.csproj -o /output/package /p:Version=$PACKAGE_VERSION
@@ -62,10 +62,10 @@ RUN echo -n "${LC_ALL}" > /etc/locale.gen && \
apt install -y locales && \
locale-gen
-RUN dotnet test -c Release YamlDotNet.Test/YamlDotNet.Test.csproj --framework net80 --logger:"trx;LogFileName=/output/tests.net80.trx" --logger:"console;Verbosity=detailed"
-RUN dotnet test -c Release YamlDotNet.Test/YamlDotNet.Test.csproj --framework net70 --logger:"trx;LogFileName=/output/tests.net70.trx" --logger:"console;Verbosity=detailed"
-RUN dotnet test -c Release YamlDotNet.Test/YamlDotNet.Test.csproj --framework net60 --logger:"trx;LogFileName=/output/tests.net60.trx" --logger:"console;Verbosity=detailed"
-RUN dotnet test -c Release YamlDotNet.Test/YamlDotNet.Test.csproj --framework netcoreapp3.1 --logger:"trx;LogFileName=/output/tests.netcoreapp3.1.trx" --logger:"console;Verbosity=detailed"
+RUN dotnet test -c Release YamlDotNet.Test/YamlDotNet.Test.csproj --framework net8.0 --logger:"trx;LogFileName=/output/tests-net8.0.trx" --logger:"console;Verbosity=detailed"
+RUN dotnet test -c Release YamlDotNet.Test/YamlDotNet.Test.csproj --framework net7.0 --logger:"trx;LogFileName=/output/tests-net7.0.trx" --logger:"console;Verbosity=detailed"
+RUN dotnet test -c Release YamlDotNet.Test/YamlDotNet.Test.csproj --framework net6.0 --logger:"trx;LogFileName=/output/tests-net6.0.trx" --logger:"console;Verbosity=detailed"
+RUN dotnet test -c Release YamlDotNet.Test/YamlDotNet.Test.csproj --framework netcoreapp3.1 --logger:"trx;LogFileName=/output/tests-netcoreapp3.1.trx" --logger:"console;Verbosity=detailed"
FROM alpine
VOLUME /output
diff --git a/YamlDotNet.Benchmark/YamlDotNet.Benchmark.csproj b/YamlDotNet.Benchmark/YamlDotNet.Benchmark.csproj
index 9ade6282..79208c1f 100644
--- a/YamlDotNet.Benchmark/YamlDotNet.Benchmark.csproj
+++ b/YamlDotNet.Benchmark/YamlDotNet.Benchmark.csproj
@@ -2,7 +2,7 @@
Exe
- net80
+ net8.0
enable
enable
diff --git a/YamlDotNet.Core7AoTCompileTest.Model/YamlDotNet.Core7AoTCompileTest.Model.csproj b/YamlDotNet.Core7AoTCompileTest.Model/YamlDotNet.Core7AoTCompileTest.Model.csproj
index 32ee4a56..cfadb03d 100644
--- a/YamlDotNet.Core7AoTCompileTest.Model/YamlDotNet.Core7AoTCompileTest.Model.csproj
+++ b/YamlDotNet.Core7AoTCompileTest.Model/YamlDotNet.Core7AoTCompileTest.Model.csproj
@@ -1,7 +1,7 @@
- net70
+ net7.0
enable
enable
diff --git a/YamlDotNet.Core7AoTCompileTest/YamlDotNet.Core7AoTCompileTest.csproj b/YamlDotNet.Core7AoTCompileTest/YamlDotNet.Core7AoTCompileTest.csproj
index 9d42ee9a..494a5300 100644
--- a/YamlDotNet.Core7AoTCompileTest/YamlDotNet.Core7AoTCompileTest.csproj
+++ b/YamlDotNet.Core7AoTCompileTest/YamlDotNet.Core7AoTCompileTest.csproj
@@ -2,7 +2,7 @@
Exe
- net70
+ net7.0
true
true
enable
diff --git a/YamlDotNet.Samples/YamlDotNet.Samples.csproj b/YamlDotNet.Samples/YamlDotNet.Samples.csproj
index 5ca9b2c4..e8d4b0d0 100644
--- a/YamlDotNet.Samples/YamlDotNet.Samples.csproj
+++ b/YamlDotNet.Samples/YamlDotNet.Samples.csproj
@@ -1,7 +1,7 @@
๏ปฟ
- net80
+ net8.0
false
diff --git a/YamlDotNet.Test/Serialization/DeserializerTest.cs b/YamlDotNet.Test/Serialization/DeserializerTest.cs
index d8d54aeb..44ddf124 100644
--- a/YamlDotNet.Test/Serialization/DeserializerTest.cs
+++ b/YamlDotNet.Test/Serialization/DeserializerTest.cs
@@ -1,413 +1,413 @@
-๏ปฟ// This file is part of YamlDotNet - A .NET library for YAML.
-// Copyright (c) Antoine Aubry and contributors
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy of
-// this software and associated documentation files (the "Software"), to deal in
-// the Software without restriction, including without limitation the rights to
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-// of the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-// SOFTWARE.
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using FluentAssertions;
-using Xunit;
-using YamlDotNet.Core;
-using YamlDotNet.Serialization;
-using YamlDotNet.Serialization.Callbacks;
-using YamlDotNet.Serialization.NamingConventions;
-
-namespace YamlDotNet.Test.Serialization
-{
- public class DeserializerTest
- {
- [Fact]
- public void Deserialize_YamlWithInterfaceTypeAndMapping_ReturnsModel()
- {
- var yaml = @"
-name: Jack
-momentOfBirth: 1983-04-21T20:21:03.0041599Z
-cars:
-- name: Mercedes
- year: 2018
-- name: Honda
- year: 2021
-";
-
- var sut = new DeserializerBuilder()
- .WithNamingConvention(CamelCaseNamingConvention.Instance)
- .WithTypeMapping()
- .Build();
-
- var person = sut.Deserialize(yaml);
- person.Name.Should().Be("Jack");
- person.MomentOfBirth.Kind.Should().Be(DateTimeKind.Utc);
- person.MomentOfBirth.ToUniversalTime().Year.Should().Be(1983);
- person.MomentOfBirth.ToUniversalTime().Month.Should().Be(4);
- person.MomentOfBirth.ToUniversalTime().Day.Should().Be(21);
- person.MomentOfBirth.ToUniversalTime().Hour.Should().Be(20);
- person.MomentOfBirth.ToUniversalTime().Minute.Should().Be(21);
- person.MomentOfBirth.ToUniversalTime().Second.Should().Be(3);
- person.Cars.Should().HaveCount(2);
- person.Cars[0].Name.Should().Be("Mercedes");
- person.Cars[0].Spec.Should().BeNull();
- person.Cars[1].Name.Should().Be("Honda");
- person.Cars[1].Spec.Should().BeNull();
- }
-
- [Fact]
- public void Deserialize_YamlWithTwoInterfaceTypesAndMappings_ReturnsModel()
- {
- var yaml = @"
-name: Jack
-momentOfBirth: 1983-04-21T20:21:03.0041599Z
-cars:
-- name: Mercedes
- year: 2018
- spec:
- engineType: V6
- driveType: AWD
-- name: Honda
- year: 2021
- spec:
- engineType: V4
- driveType: FWD
-";
-
- var sut = new DeserializerBuilder()
- .WithNamingConvention(CamelCaseNamingConvention.Instance)
- .WithTypeMapping()
- .WithTypeMapping()
- .Build();
-
- var person = sut.Deserialize(yaml);
- person.Name.Should().Be("Jack");
- person.MomentOfBirth.Kind.Should().Be(DateTimeKind.Utc);
- person.MomentOfBirth.ToUniversalTime().Year.Should().Be(1983);
- person.MomentOfBirth.ToUniversalTime().Month.Should().Be(4);
- person.MomentOfBirth.ToUniversalTime().Day.Should().Be(21);
- person.MomentOfBirth.ToUniversalTime().Hour.Should().Be(20);
- person.MomentOfBirth.ToUniversalTime().Minute.Should().Be(21);
- person.MomentOfBirth.ToUniversalTime().Second.Should().Be(3);
- person.Cars.Should().HaveCount(2);
- person.Cars[0].Name.Should().Be("Mercedes");
- person.Cars[0].Spec.EngineType.Should().Be("V6");
- person.Cars[0].Spec.DriveType.Should().Be("AWD");
- person.Cars[1].Name.Should().Be("Honda");
- person.Cars[1].Spec.EngineType.Should().Be("V4");
- person.Cars[1].Spec.DriveType.Should().Be("FWD");
- }
-
- [Fact]
- public void SetterOnlySetsWithoutException()
- {
- var yaml = @"
-Value: bar
-";
- var deserializer = new DeserializerBuilder().Build();
- var result = deserializer.Deserialize(yaml);
- result.Actual.Should().Be("bar");
- }
-
- [Fact]
- public void KeysOnDynamicClassDontGetQuoted()
- {
- var serializer = new SerializerBuilder().WithQuotingNecessaryStrings().Build();
- var deserializer = new DeserializerBuilder().WithAttemptingUnquotedStringTypeDeserialization().Build();
- var yaml = @"
-True: null
-False: hello
-Null: true
-X:
-";
- var obj = deserializer.Deserialize(yaml, typeof(object));
- var result = serializer.Serialize(obj);
- var dictionary = (Dictionary