From 9979ba061044711952ef817566ce19cd6b1707eb Mon Sep 17 00:00:00 2001
From: "SmallChi(Koike)" <564952747@qq.com>
Date: Thu, 10 Nov 2022 01:12:00 +0800
Subject: [PATCH] =?UTF-8?q?v2.5.1=20=E6=B7=BB=E5=8A=A0net7.0=E6=94=AF?=
 =?UTF-8?q?=E6=8C=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .github/workflows/dotnetcore.yml              |  2 +-
 README.en.md                                  | 42 ++++++++++---------
 README.md                                     | 42 ++++++++++---------
 global.json                                   |  2 +-
 src/Info.props                                |  6 +--
 .../JT808.Protocol.Benchmark.csproj           |  2 +-
 .../JT808SerializerContext.cs                 |  2 +-
 src/JT808.Protocol.Benchmark/Program.cs       |  2 -
 ...808.Protocol.Extensions.JT1078.Test.csproj |  8 ++--
 ...808.Protocol.Extensions.SuBiao.Test.csproj |  6 +--
 ...08.Protocol.Extensions.YueBiao.Test.csproj |  8 ++--
 .../JT808.Protocol.Test.csproj                | 14 +++----
 src/JT808.Protocol/JT808.Protocol.csproj      | 16 ++++---
 13 files changed, 80 insertions(+), 72 deletions(-)

diff --git a/.github/workflows/dotnetcore.yml b/.github/workflows/dotnetcore.yml
index 8dfe020..1fbd8e9 100755
--- a/.github/workflows/dotnetcore.yml
+++ b/.github/workflows/dotnetcore.yml
@@ -12,7 +12,7 @@ jobs:
     - name: Setup .NET Core
       uses: actions/setup-dotnet@master
       with:
-        dotnet-version: 6.0.400
+        dotnet-version: 7.0.100
     - name: dotnet info
       run: dotnet --info
     - name: dotnet restore
diff --git a/README.en.md b/README.en.md
index 8420357..e43ebf1 100644
--- a/README.en.md
+++ b/README.en.md
@@ -385,30 +385,32 @@ Due to access many different equipment vendor's agreement, but each protocol doc
 
 ``` ini
 
-BenchmarkDotNet=v0.13.1, OS=Windows 10.0.22000
+BenchmarkDotNet=v0.13.2, OS=Windows 11 (10.0.22621.819)
 Intel Core i7-8700K CPU 3.70GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
-.NET SDK=6.0.100
-  [Host]     : .NET 6.0.0 (6.0.21.52210), X64 RyuJIT
-  Job-EIZRXW : .NET 6.0.0 (6.0.21.52210), X64 RyuJIT
+.NET SDK=7.0.100
+  [Host]     : .NET 7.0.0 (7.0.22.51805), X64 RyuJIT AVX2
+  Job-AEXBOF : .NET 7.0.0 (7.0.22.51805), X64 RyuJIT AVX2
 
-Platform=AnyCpu  Server=False  Toolchain=.NET 6.0  
+Platform=AnyCpu  Server=False  Toolchain=.NET 7.0  
 
 ```
-|                          Method |       Categories |      N |          Mean |        Error |       StdDev |      Gen 0 |  Allocated |
-|-------------------------------- |----------------- |------- |--------------:|-------------:|-------------:|-----------:|-----------:|
-|   **0x0200_All_AttachId_Serialize** | **0x0200Serializer** |    **100** |     **169.92 μs** |     **2.059 μs** |     **1.926 μs** |    **29.5410** |     **182 KB** |
-| 0x0200_All_AttachId_Deserialize | 0x0200Serializer |    100 |     642.45 μs |     2.016 μs |     1.683 μs |    82.0313 |     508 KB |
-|   **0x0200_All_AttachId_Serialize** | **0x0200Serializer** |  **10000** |  **17,391.50 μs** |   **346.644 μs** |   **462.759 μs** |  **2968.7500** |  **18,203 KB** |
-| 0x0200_All_AttachId_Deserialize | 0x0200Serializer |  10000 |  67,872.38 μs |   825.715 μs |   772.375 μs |  8250.0000 |  50,781 KB |
-|   **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100000** | **174,867.56 μs** | **2,620.513 μs** | **2,451.229 μs** | **29000.0000** | **182,032 KB** |
-| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100000 | 676,860.84 μs | 8,716.108 μs | 7,726.603 μs | 82000.0000 | 507,813 KB |
-|                                 |                  |        |               |              |              |            |            |
-|                 **0x0100Serialize** | **0x0100Serializer** |    **100** |      **72.60 μs** |     **1.241 μs** |     **1.161 μs** |    **10.8643** |      **67 KB** |
-|               0x0100Deserialize | 0x0100Serializer |    100 |      64.80 μs |     0.767 μs |     0.641 μs |    15.8691 |      98 KB |
-|                 **0x0100Serialize** | **0x0100Serializer** |  **10000** |   **7,602.54 μs** |    **55.726 μs** |    **52.126 μs** |  **1093.7500** |   **6,719 KB** |
-|               0x0100Deserialize | 0x0100Serializer |  10000 |   6,567.71 μs |    53.112 μs |    44.351 μs |  1593.7500 |   9,766 KB |
-|                 **0x0100Serialize** | **0x0100Serializer** | **100000** |  **75,323.96 μs** |   **494.762 μs** |   **462.800 μs** | **10857.1429** |  **67,189 KB** |
-|               0x0100Deserialize | 0x0100Serializer | 100000 |  65,503.11 μs |   765.326 μs |   715.886 μs | 15875.0000 |  97,656 KB |
+
+|                          Method |       Categories |      N |          Mean |        Error |       StdDev |       Gen0 |    Allocated |
+|-------------------------------- |----------------- |------- |--------------:|-------------:|-------------:|-----------:|-------------:|
+|                 **0x0100Serialize** | **0x0100Serializer** |    **100** |      **85.84 μs** |     **1.686 μs** |     **1.874 μs** |    **10.7422** |     **66.41 KB** |
+|               0x0100Deserialize | 0x0100Serializer |    100 |      73.65 μs |     1.463 μs |     2.099 μs |    15.7471 |     96.88 KB |
+|                 **0x0100Serialize** | **0x0100Serializer** |  **10000** |   **8,507.50 μs** |   **167.504 μs** |   **279.862 μs** |  **1078.1250** |   **6640.63 KB** |
+|               0x0100Deserialize | 0x0100Serializer |  10000 |   7,436.10 μs |   123.684 μs |   103.281 μs |  1578.1250 |    9687.5 KB |
+|                 **0x0100Serialize** | **0x0100Serializer** | **100000** |  **87,588.91 μs** | **1,734.191 μs** | **3,842.848 μs** | **10833.3333** |  **66406.33 KB** |
+|               0x0100Deserialize | 0x0100Serializer | 100000 |  76,992.19 μs | 1,519.795 μs | 3,271.519 μs | 15714.2857 |  96875.07 KB |
+|                                 |                  |        |               |              |              |            |              |
+|   **0x0200_All_AttachId_Serialize** | **0x0200Serializer** |    **100** |     **205.22 μs** |     **4.094 μs** |     **8.725 μs** |    **29.5410** |    **181.25 KB** |
+| 0x0200_All_AttachId_Deserialize | 0x0200Serializer |    100 |     896.54 μs |    17.627 μs |    43.571 μs |    82.0313 |    507.03 KB |
+|   **0x0200_All_AttachId_Serialize** | **0x0200Serializer** |  **10000** |  **20,329.28 μs** |   **407.129 μs** | **1,194.037 μs** |  **2937.5000** |  **18125.01 KB** |
+| 0x0200_All_AttachId_Deserialize | 0x0200Serializer |  10000 |  83,862.14 μs | 1,655.253 μs | 2,719.628 μs |  8142.8571 |  50703.19 KB |
+|   **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100000** | **189,178.02 μs** | **3,595.256 μs** | **3,531.022 μs** | **29333.3333** | **181250.16 KB** |
+| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100000 | 843,975.52 μs | 8,214.068 μs | 6,859.119 μs | 82000.0000 | 507031.72 KB |
+
 
 ## JT808 Comparison table of terminal communication protocol messages
 
diff --git a/README.md b/README.md
index bb2e7a9..9deade3 100644
--- a/README.md
+++ b/README.md
@@ -385,30 +385,32 @@ JT808Serializer DT2JT808Serializer = new JT808Serializer(DT2JT808Config);
 
 ``` ini
 
-BenchmarkDotNet=v0.13.1, OS=Windows 10.0.22000
+BenchmarkDotNet=v0.13.2, OS=Windows 11 (10.0.22621.819)
 Intel Core i7-8700K CPU 3.70GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
-.NET SDK=6.0.100
-  [Host]     : .NET 6.0.0 (6.0.21.52210), X64 RyuJIT
-  Job-EIZRXW : .NET 6.0.0 (6.0.21.52210), X64 RyuJIT
+.NET SDK=7.0.100
+  [Host]     : .NET 7.0.0 (7.0.22.51805), X64 RyuJIT AVX2
+  Job-AEXBOF : .NET 7.0.0 (7.0.22.51805), X64 RyuJIT AVX2
 
-Platform=AnyCpu  Server=False  Toolchain=.NET 6.0  
+Platform=AnyCpu  Server=False  Toolchain=.NET 7.0  
 
 ```
-|                          Method |       Categories |      N |          Mean |        Error |       StdDev |      Gen 0 |  Allocated |
-|-------------------------------- |----------------- |------- |--------------:|-------------:|-------------:|-----------:|-----------:|
-|   **0x0200_All_AttachId_Serialize** | **0x0200Serializer** |    **100** |     **169.92 μs** |     **2.059 μs** |     **1.926 μs** |    **29.5410** |     **182 KB** |
-| 0x0200_All_AttachId_Deserialize | 0x0200Serializer |    100 |     642.45 μs |     2.016 μs |     1.683 μs |    82.0313 |     508 KB |
-|   **0x0200_All_AttachId_Serialize** | **0x0200Serializer** |  **10000** |  **17,391.50 μs** |   **346.644 μs** |   **462.759 μs** |  **2968.7500** |  **18,203 KB** |
-| 0x0200_All_AttachId_Deserialize | 0x0200Serializer |  10000 |  67,872.38 μs |   825.715 μs |   772.375 μs |  8250.0000 |  50,781 KB |
-|   **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100000** | **174,867.56 μs** | **2,620.513 μs** | **2,451.229 μs** | **29000.0000** | **182,032 KB** |
-| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100000 | 676,860.84 μs | 8,716.108 μs | 7,726.603 μs | 82000.0000 | 507,813 KB |
-|                                 |                  |        |               |              |              |            |            |
-|                 **0x0100Serialize** | **0x0100Serializer** |    **100** |      **72.60 μs** |     **1.241 μs** |     **1.161 μs** |    **10.8643** |      **67 KB** |
-|               0x0100Deserialize | 0x0100Serializer |    100 |      64.80 μs |     0.767 μs |     0.641 μs |    15.8691 |      98 KB |
-|                 **0x0100Serialize** | **0x0100Serializer** |  **10000** |   **7,602.54 μs** |    **55.726 μs** |    **52.126 μs** |  **1093.7500** |   **6,719 KB** |
-|               0x0100Deserialize | 0x0100Serializer |  10000 |   6,567.71 μs |    53.112 μs |    44.351 μs |  1593.7500 |   9,766 KB |
-|                 **0x0100Serialize** | **0x0100Serializer** | **100000** |  **75,323.96 μs** |   **494.762 μs** |   **462.800 μs** | **10857.1429** |  **67,189 KB** |
-|               0x0100Deserialize | 0x0100Serializer | 100000 |  65,503.11 μs |   765.326 μs |   715.886 μs | 15875.0000 |  97,656 KB |
+
+|                          Method |       Categories |      N |          Mean |        Error |       StdDev |       Gen0 |    Allocated |
+|-------------------------------- |----------------- |------- |--------------:|-------------:|-------------:|-----------:|-------------:|
+|                 **0x0100Serialize** | **0x0100Serializer** |    **100** |      **85.84 μs** |     **1.686 μs** |     **1.874 μs** |    **10.7422** |     **66.41 KB** |
+|               0x0100Deserialize | 0x0100Serializer |    100 |      73.65 μs |     1.463 μs |     2.099 μs |    15.7471 |     96.88 KB |
+|                 **0x0100Serialize** | **0x0100Serializer** |  **10000** |   **8,507.50 μs** |   **167.504 μs** |   **279.862 μs** |  **1078.1250** |   **6640.63 KB** |
+|               0x0100Deserialize | 0x0100Serializer |  10000 |   7,436.10 μs |   123.684 μs |   103.281 μs |  1578.1250 |    9687.5 KB |
+|                 **0x0100Serialize** | **0x0100Serializer** | **100000** |  **87,588.91 μs** | **1,734.191 μs** | **3,842.848 μs** | **10833.3333** |  **66406.33 KB** |
+|               0x0100Deserialize | 0x0100Serializer | 100000 |  76,992.19 μs | 1,519.795 μs | 3,271.519 μs | 15714.2857 |  96875.07 KB |
+|                                 |                  |        |               |              |              |            |              |
+|   **0x0200_All_AttachId_Serialize** | **0x0200Serializer** |    **100** |     **205.22 μs** |     **4.094 μs** |     **8.725 μs** |    **29.5410** |    **181.25 KB** |
+| 0x0200_All_AttachId_Deserialize | 0x0200Serializer |    100 |     896.54 μs |    17.627 μs |    43.571 μs |    82.0313 |    507.03 KB |
+|   **0x0200_All_AttachId_Serialize** | **0x0200Serializer** |  **10000** |  **20,329.28 μs** |   **407.129 μs** | **1,194.037 μs** |  **2937.5000** |  **18125.01 KB** |
+| 0x0200_All_AttachId_Deserialize | 0x0200Serializer |  10000 |  83,862.14 μs | 1,655.253 μs | 2,719.628 μs |  8142.8571 |  50703.19 KB |
+|   **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100000** | **189,178.02 μs** | **3,595.256 μs** | **3,531.022 μs** | **29333.3333** | **181250.16 KB** |
+| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100000 | 843,975.52 μs | 8,214.068 μs | 6,859.119 μs | 82000.0000 | 507031.72 KB |
+
 
 ## JT808终端通讯协议消息对照表
 
diff --git a/global.json b/global.json
index d769cd3..08585a2 100644
--- a/global.json
+++ b/global.json
@@ -1,5 +1,5 @@
 {
   "sdk": {
-    "version": "6.0.400"
+    "version": "7.0.100"
   }
 }
\ No newline at end of file
diff --git a/src/Info.props b/src/Info.props
index 1085168..a89f27c 100644
--- a/src/Info.props
+++ b/src/Info.props
@@ -1,14 +1,14 @@
 <Project>
   <PropertyGroup>
-    <TargetFrameworks>net6.0;</TargetFrameworks>
-    <LangVersion>10.0</LangVersion>
+    <TargetFrameworks>net6.0;net7.0;</TargetFrameworks>
+    <LangVersion>11.0</LangVersion>
     <Copyright>Copyright 2018.</Copyright>
     <Authors>SmallChi(Koike)</Authors>
     <RepositoryUrl>https://github.com/SmallChi/JT808</RepositoryUrl>
     <PackageProjectUrl>https://github.com/SmallChi/JT808</PackageProjectUrl>
     <licenseUrl>https://github.com/SmallChi/JT808/blob/master/LICENSE</licenseUrl>
     <license>https://github.com/SmallChi/JT808/blob/master/LICENSE</license>
-    <Version>2.5.0</Version>
+    <Version>2.5.1</Version>
     <PackageLicenseFile>LICENSE</PackageLicenseFile>
     <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
     <AnalysisLevel>latest</AnalysisLevel>
diff --git a/src/JT808.Protocol.Benchmark/JT808.Protocol.Benchmark.csproj b/src/JT808.Protocol.Benchmark/JT808.Protocol.Benchmark.csproj
index 82cefa2..43a4fad 100644
--- a/src/JT808.Protocol.Benchmark/JT808.Protocol.Benchmark.csproj
+++ b/src/JT808.Protocol.Benchmark/JT808.Protocol.Benchmark.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net6.0</TargetFramework>
+    <TargetFramework>net7.0</TargetFramework>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <OutputType>Exe</OutputType>
diff --git a/src/JT808.Protocol.Benchmark/JT808SerializerContext.cs b/src/JT808.Protocol.Benchmark/JT808SerializerContext.cs
index c15268f..c19e1f0 100644
--- a/src/JT808.Protocol.Benchmark/JT808SerializerContext.cs
+++ b/src/JT808.Protocol.Benchmark/JT808SerializerContext.cs
@@ -164,7 +164,7 @@ namespace JT808.Protocol.Benchmark
     {
         public JT808SerializerConfig()
         {
-            AddJob(Job.Default.WithGcServer(false).WithToolchain(CsProjCoreToolchain.NetCoreApp60).WithPlatform(Platform.AnyCpu));
+            AddJob(Job.Default.WithGcServer(false).WithToolchain(CsProjCoreToolchain.NetCoreApp70).WithPlatform(Platform.AnyCpu));
         }
     }
 }
diff --git a/src/JT808.Protocol.Benchmark/Program.cs b/src/JT808.Protocol.Benchmark/Program.cs
index 21806ce..2f8655c 100644
--- a/src/JT808.Protocol.Benchmark/Program.cs
+++ b/src/JT808.Protocol.Benchmark/Program.cs
@@ -19,8 +19,6 @@ namespace JT808.Protocol.Benchmark
             //安装NuGet包,BenchmarkDotNet
             //在需要做性能测试的方法前加上属性[Benchmark]。 
             Summary summary = BenchmarkRunner.Run<JT808SerializerContext>();
-            //Summary summary1 = BenchmarkRunner.Run<JT808DeEscapeContext>();
-            //Summary summary2 = BenchmarkRunner.Run<JT808EscapeContext>();
         }
     }
 }
diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078.Test/JT808.Protocol.Extensions.JT1078.Test.csproj b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078.Test/JT808.Protocol.Extensions.JT1078.Test.csproj
index 0aa22de..6dbe66f 100644
--- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078.Test/JT808.Protocol.Extensions.JT1078.Test.csproj
+++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078.Test/JT808.Protocol.Extensions.JT1078.Test.csproj
@@ -5,10 +5,10 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
-    <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
-    <PackageReference Include="xunit" Version="2.4.1" />
+    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
+    <PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
+    <PackageReference Include="xunit" Version="2.4.2" />
     <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao.Test/JT808.Protocol.Extensions.SuBiao.Test.csproj b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao.Test/JT808.Protocol.Extensions.SuBiao.Test.csproj
index bcde5fc..f4db376 100644
--- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao.Test/JT808.Protocol.Extensions.SuBiao.Test.csproj
+++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao.Test/JT808.Protocol.Extensions.SuBiao.Test.csproj
@@ -7,9 +7,9 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
-    <PackageReference Include="xunit" Version="2.4.1" />
+    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
+    <PackageReference Include="xunit" Version="2.4.2" />
     <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
diff --git a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808.Protocol.Extensions.YueBiao.Test.csproj b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808.Protocol.Extensions.YueBiao.Test.csproj
index 59f3819..37b0a56 100644
--- a/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808.Protocol.Extensions.YueBiao.Test.csproj
+++ b/src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808.Protocol.Extensions.YueBiao.Test.csproj
@@ -7,14 +7,14 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
-    <PackageReference Include="xunit" Version="2.4.1" />
+    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
+    <PackageReference Include="xunit" Version="2.4.2" />
     <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
       <PrivateAssets>all</PrivateAssets>
     </PackageReference>
-    <PackageReference Include="coverlet.collector" Version="3.1.2">
+    <PackageReference Include="coverlet.collector" Version="3.2.0">
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
       <PrivateAssets>all</PrivateAssets>
     </PackageReference>
diff --git a/src/JT808.Protocol.Test/JT808.Protocol.Test.csproj b/src/JT808.Protocol.Test/JT808.Protocol.Test.csproj
index 03cfe37..02c374a 100644
--- a/src/JT808.Protocol.Test/JT808.Protocol.Test.csproj
+++ b/src/JT808.Protocol.Test/JT808.Protocol.Test.csproj
@@ -1,9 +1,9 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net6.0</TargetFramework>
+    <TargetFramework>net7.0</TargetFramework>
     <IsPackable>false</IsPackable>
-    <LangVersion>10.0</LangVersion>
+    <LangVersion>11.0</LangVersion>
   </PropertyGroup>
 
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
@@ -108,14 +108,14 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
     <PackageReference Include="NETStandard.Library" Version="2.0.3" />
     <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
-    <PackageReference Include="System.Drawing.Common" Version="6.0.0" />
-    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
+    <PackageReference Include="System.Drawing.Common" Version="7.0.0" />
+    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
     <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="xunit" Version="2.4.1" />
-    <PackageReference Include="xunit.runner.console" Version="2.4.1">
+    <PackageReference Include="xunit" Version="2.4.2" />
+    <PackageReference Include="xunit.runner.console" Version="2.4.2">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
     </PackageReference>
diff --git a/src/JT808.Protocol/JT808.Protocol.csproj b/src/JT808.Protocol/JT808.Protocol.csproj
index 9fd2b7f..43da00a 100644
--- a/src/JT808.Protocol/JT808.Protocol.csproj
+++ b/src/JT808.Protocol/JT808.Protocol.csproj
@@ -40,12 +40,18 @@
     <Compile Remove="Metadata\JT808UploadLocationRequestProperty.cs" />
   </ItemGroup>
 
-  <ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
-	<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" />
-	<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" />
-  </ItemGroup>
+	<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
+		<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" />
+		<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" />
+	</ItemGroup>
+		
+	<ItemGroup Condition=" '$(TargetFramework)' == 'net7.0' ">
+		<PackageReference Include="System.Text.Encoding.CodePages" Version="7.0.0" />
+		<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
+	</ItemGroup>
 
-  <ItemGroup>
+
+	<ItemGroup>
     <None Update="Extensions\JT808PackageExtensionsTemplate.tt">
       <Generator>TextTemplatingFileGenerator</Generator>
       <LastGenOutput>JT808PackageExtensionsTemplate.cs</LastGenOutput>