瀏覽代碼

修正SevenZipCompressor不能解压7z的问题
支持.NET6

懒得勤快 4 年之前
父節點
當前提交
042291ace6

+ 13 - 13
Masuit.Tools.Abstractions/Extensions/BaseType/IEnumerableExtensions.cs

@@ -10,19 +10,19 @@ namespace Masuit.Tools
 {
     public static partial class IEnumerableExtensions
     {
-        /// <summary>
-        /// 按字段去重
-        /// </summary>
-        /// <typeparam name="TSource"></typeparam>
-        /// <typeparam name="TKey"></typeparam>
-        /// <param name="source"></param>
-        /// <param name="keySelector"></param>
-        /// <returns></returns>
-        public static IEnumerable<TSource> DistinctBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
-        {
-            var hash = new HashSet<TKey>();
-            return source.Where(p => hash.Add(keySelector(p)));
-        }
+        ///// <summary>
+        ///// 按字段去重
+        ///// </summary>
+        ///// <typeparam name="TSource"></typeparam>
+        ///// <typeparam name="TKey"></typeparam>
+        ///// <param name="source"></param>
+        ///// <param name="keySelector"></param>
+        ///// <returns></returns>
+        //public static IEnumerable<TSource> DistinctBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
+        //{
+        //    var hash = new HashSet<TKey>();
+        //    return source.Where(p => hash.Add(keySelector(p)));
+        //}
 
         /// <summary>
         /// 添加多个元素

+ 7 - 20
Masuit.Tools.Abstractions/Files/ISevenZipCompressor.cs

@@ -1,4 +1,5 @@
-using System.Collections.Generic;
+using SharpCompress.Common;
+using System.Collections.Generic;
 using System.IO;
 
 namespace Masuit.Tools.Files
@@ -16,36 +17,22 @@ namespace Masuit.Tools.Files
         /// <param name="ignoreEmptyDir">忽略空文件夹</param>
         void Decompress(string compressedFile, string dir = "", bool ignoreEmptyDir = true);
 
-        /// <summary>
-        /// 解压文件,自动检测压缩包类型
-        /// </summary>
-        /// <param name="compressedFile">rar文件</param>
-        /// <param name="dir">解压到...</param>
-        /// <param name="ignoreEmptyDir">忽略空文件夹</param>
-        void Extract(string compressedFile, string dir = "", bool ignoreEmptyDir = true);
-
-        /// <summary>
-        /// 解压rar文件
-        /// </summary>
-        /// <param name="rar">rar文件</param>
-        /// <param name="dir">解压到...</param>
-        /// <param name="ignoreEmptyDir">忽略空文件夹</param>
-        void UnRar(string rar, string dir = "", bool ignoreEmptyDir = true);
-
         /// <summary>
         /// 压缩多个文件
         /// </summary>
         /// <param name="files">多个文件路径,文件或文件夹</param>
         /// <param name="zipFile">压缩到...</param>
         /// <param name="rootdir">压缩包内部根文件夹</param>
-        void Zip(IEnumerable<string> files, string zipFile, string rootdir = "");
+        /// <param name="archiveType"></param>
+        void Zip(IEnumerable<string> files, string zipFile, string rootdir = "", ArchiveType archiveType = ArchiveType.SevenZip);
 
         /// <summary>
         /// 将多个文件压缩到一个文件流中,可保存为zip文件,方便于web方式下载
         /// </summary>
         /// <param name="files">多个文件路径,文件或文件夹,或网络路径http/https</param>
         /// <param name="rootdir"></param>
+        /// <param name="archiveType"></param>
         /// <returns>文件流</returns>
-        MemoryStream ZipStream(IEnumerable<string> files, string rootdir = "");
+        MemoryStream ZipStream(IEnumerable<string> files, string rootdir = "", ArchiveType archiveType = ArchiveType.SevenZip);
     }
-}
+}

+ 14 - 67
Masuit.Tools.Abstractions/Files/SevenZipCompressor.cs

@@ -1,8 +1,5 @@
 using SharpCompress.Archives;
-using SharpCompress.Archives.Rar;
-using SharpCompress.Archives.Zip;
 using SharpCompress.Common;
-using SharpCompress.Readers;
 using SharpCompress.Writers;
 using System;
 using System.Collections.Concurrent;
@@ -37,10 +34,11 @@ namespace Masuit.Tools.Files
         /// </summary>
         /// <param name="files">多个文件路径,文件或文件夹,或网络路径http/https</param>
         /// <param name="rootdir"></param>
+        /// <param name="archiveType"></param>
         /// <returns>文件流</returns>
-        public MemoryStream ZipStream(IEnumerable<string> files, string rootdir = "")
+        public MemoryStream ZipStream(IEnumerable<string> files, string rootdir = "", ArchiveType archiveType = ArchiveType.SevenZip)
         {
-            using var archive = CreateZipArchive(files, rootdir);
+            using var archive = CreateZipArchive(files, rootdir, archiveType);
             var ms = new MemoryStream();
             archive.SaveTo(ms, new WriterOptions(CompressionType.Deflate)
             {
@@ -59,9 +57,10 @@ namespace Masuit.Tools.Files
         /// <param name="files">多个文件路径,文件或文件夹</param>
         /// <param name="zipFile">压缩到...</param>
         /// <param name="rootdir">压缩包内部根文件夹</param>
-        public void Zip(IEnumerable<string> files, string zipFile, string rootdir = "")
+        /// <param name="archiveType"></param>
+        public void Zip(IEnumerable<string> files, string zipFile, string rootdir = "", ArchiveType archiveType = ArchiveType.SevenZip)
         {
-            using var archive = CreateZipArchive(files, rootdir);
+            using var archive = CreateZipArchive(files, rootdir, archiveType);
             archive.SaveTo(zipFile, new WriterOptions(CompressionType.Deflate)
             {
                 LeaveStreamOpen = true,
@@ -72,39 +71,6 @@ namespace Masuit.Tools.Files
             });
         }
 
-        /// <summary>
-        /// 解压rar文件
-        /// </summary>
-        /// <param name="rar">rar文件</param>
-        /// <param name="dir">解压到...</param>
-        /// <param name="ignoreEmptyDir">忽略空文件夹</param>
-        public void UnRar(string rar, string dir = "", bool ignoreEmptyDir = true)
-        {
-            if (string.IsNullOrEmpty(dir))
-            {
-                dir = Path.GetDirectoryName(rar);
-            }
-
-            using var archive = RarArchive.Open(rar);
-            var entries = ignoreEmptyDir ? archive.Entries.Where(entry => !entry.IsDirectory) : archive.Entries;
-            foreach (var entry in entries)
-            {
-                entry.WriteToDirectory(dir, new ExtractionOptions()
-                {
-                    ExtractFullPath = true,
-                    Overwrite = true
-                });
-            }
-        }
-
-        /// <summary>
-        /// 解压文件,自动检测压缩包类型
-        /// </summary>
-        /// <param name="compressedFile">rar文件</param>
-        /// <param name="dir">解压到...</param>
-        /// <param name="ignoreEmptyDir">忽略空文件夹</param>
-        public void Extract(string compressedFile, string dir = "", bool ignoreEmptyDir = true) => Decompress(compressedFile, dir, ignoreEmptyDir);
-
         /// <summary>
         /// 解压文件,自动检测压缩包类型
         /// </summary>
@@ -118,30 +84,10 @@ namespace Masuit.Tools.Files
                 dir = Path.GetDirectoryName(compressedFile);
             }
 
-            using Stream stream = File.OpenRead(compressedFile);
-            using var reader = ReaderFactory.Open(stream);
-            while (reader.MoveToNextEntry())
+            ArchiveFactory.WriteToDirectory(compressedFile, dir, new ExtractionOptions()
             {
-                if (ignoreEmptyDir)
-                {
-                    reader.WriteEntryToDirectory(dir, new ExtractionOptions()
-                    {
-                        ExtractFullPath = true,
-                        Overwrite = true
-                    });
-                }
-                else
-                {
-                    if (!reader.Entry.IsDirectory)
-                    {
-                        reader.WriteEntryToDirectory(dir, new ExtractionOptions()
-                        {
-                            ExtractFullPath = true,
-                            Overwrite = true
-                        });
-                    }
-                }
-            }
+                ExtractFullPath = true
+            });
         }
 
         /// <summary>
@@ -149,10 +95,11 @@ namespace Masuit.Tools.Files
         /// </summary>
         /// <param name="files"></param>
         /// <param name="rootdir"></param>
+        /// <param name="archiveType"></param>
         /// <returns></returns>
-        private ZipArchive CreateZipArchive(IEnumerable<string> files, string rootdir)
+        private IWritableArchive CreateZipArchive(IEnumerable<string> files, string rootdir, ArchiveType archiveType)
         {
-            var archive = ZipArchive.Create();
+            var archive = ArchiveFactory.Create(archiveType);
             var dic = GetFileEntryMaps(files);
             var remoteUrls = files.Distinct().Where(s => s.StartsWith("http")).Select(s =>
             {
@@ -190,7 +137,7 @@ namespace Masuit.Tools.Files
                 });
                 foreach (var pair in streams)
                 {
-                    archive.AddEntry(pair.Key, pair.Value);
+                    archive.AddEntry(pair.Key, pair.Value, true);
                 }
             }
 
@@ -244,4 +191,4 @@ namespace Masuit.Tools.Files
             return dic;
         }
     }
-}
+}

+ 14 - 4
Masuit.Tools.Abstractions/Masuit.Tools.Abstractions.csproj

@@ -1,10 +1,10 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <TargetFrameworks>netstandard2.0;netstandard2.1;net461;net5</TargetFrameworks>
+    <TargetFrameworks>netstandard2.0;netstandard2.1;net461;net5;net6</TargetFrameworks>
     <LangVersion>latest</LangVersion>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <CodeAnalysisRuleSet />
-    <Version>2.4.5.1</Version>
+    <Version>2.4.5.2</Version>
     <Authors>懒得勤快</Authors>
     <Description>Masuit.Tools基础公共库,包含一些常用的操作类,大都是静态类,加密解密,反射操作,Excel简单导出,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展等常用封装。</Description>
     <Copyright>懒得勤快,长空X</Copyright>
@@ -17,9 +17,9 @@
     <RepositoryType>Github</RepositoryType>
     <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
     <PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance>
-    <FileVersion>2.4.5.1</FileVersion>
+    <FileVersion>2.4.5.2</FileVersion>
     <Company>masuit.com</Company>
-    <AssemblyVersion>2.4.5.1</AssemblyVersion>
+    <AssemblyVersion>2.4.5.2</AssemblyVersion>
     <PackageLicenseUrl>https://github.com/ldqk/Masuit.Tools/blob/master/LICENSE</PackageLicenseUrl>
     <EmbedUntrackedSources>true</EmbedUntrackedSources>
     <IncludeSymbols>true</IncludeSymbols>
@@ -73,6 +73,16 @@
     <PackageReference Include="System.Drawing.Common" Version="5.0.2" />
   </ItemGroup>
 
+  <ItemGroup Condition=" '$(TargetFramework)' == 'net6'">
+    <PackageReference Include="Microsoft.AspNetCore.Http.Extensions" Version="2.2.0" />
+    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="5.0.0" />
+    <PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
+    <PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.0" />
+    <PackageReference Include="System.Diagnostics.PerformanceCounter" Version="6.0.0" />
+    <PackageReference Include="System.Management" Version="6.0.0" />
+    <PackageReference Include="System.Drawing.Common" Version="6.0.0" />
+  </ItemGroup>
+
   <ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
     <Reference Include="System.Web" />
     <PackageReference Include="System.Buffers" version="4.5.1" targetFramework="net461" />

+ 15 - 6
Masuit.Tools.Core/Masuit.Tools.Core.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
     <PropertyGroup>
-        <TargetFrameworks>netstandard2.0;netstandard2.1;net5</TargetFrameworks>
+        <TargetFrameworks>netstandard2.0;netstandard2.1;net5;net6</TargetFrameworks>
         <Description>包含一些常用的操作类,大都是静态类,加密解密,反射操作,Excel简单导出,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展等常用封装。
 官网教程:https://ldqk.org/55
 github:https://github.com/ldqk/Masuit.Tools
@@ -18,10 +18,10 @@ github:https://github.com/ldqk/Masuit.Tools
         <UserSecretsId>830c282f-f7c1-42be-8651-4cd06ac8e73f</UserSecretsId>
         <RepositoryType>Github</RepositoryType>
         <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-        <Version>2.4.5.1</Version>
-        <FileVersion>2.4.5.1</FileVersion>
+        <Version>2.4.5.2</Version>
+        <FileVersion>2.4.5.2</FileVersion>
         <Company>masuit.com</Company>
-        <AssemblyVersion>2.4.5.1</AssemblyVersion>
+        <AssemblyVersion>2.4.5.2</AssemblyVersion>
         <Authors>懒得勤快</Authors>
         <RepositoryUrl>https://github.com/ldqk/Masuit.Tools</RepositoryUrl>
         <EmbedUntrackedSources>true</EmbedUntrackedSources>
@@ -31,8 +31,8 @@ github:https://github.com/ldqk/Masuit.Tools
 
     <ItemGroup>
         <PackageReference Include="DnsClient" Version="1.5.0" />
-        <PackageReference Include="HtmlSanitizer" Version="6.0.441" />
-        <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
+        <PackageReference Include="HtmlSanitizer" Version="6.0.453" />
+        <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.0" PrivateAssets="All" />
         <PackageReference Include="System.Diagnostics.PerformanceCounter" Version="4.7.0" />
         <PackageReference Include="System.Management" Version="4.7.0" />
         <PackageReference Include="System.Reflection.Emit.Lightweight" Version="4.7.0" />
@@ -62,6 +62,15 @@ github:https://github.com/ldqk/Masuit.Tools
         <PackageReference Include="System.Drawing.Common" Version="5.0.2" />
         <PackageReference Include="System.Management" Version="5.0" />
     </ItemGroup>
+    <ItemGroup Condition=" '$(TargetFramework)' == 'net6'">
+        <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
+        <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.0" />
+        <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0" />
+        <PackageReference Include="Microsoft.Extensions.Http" Version="6.0" />
+        <PackageReference Include="System.Diagnostics.PerformanceCounter" Version="6.0" />
+        <PackageReference Include="System.Drawing.Common" Version="6.0" />
+        <PackageReference Include="System.Management" Version="6.0" />
+    </ItemGroup>
     <ItemGroup>
         <Compile Include="..\Masuit.Tools.Abstractions\*\*.cs">
             <Link>%(RecursiveDir)%(FileName)%(Extension)</Link>

+ 5 - 5
Masuit.Tools.Excel/Masuit.Tools.Excel.csproj

@@ -1,10 +1,10 @@
 <Project Sdk="Microsoft.NET.Sdk">
     <PropertyGroup>
-        <TargetFrameworks>netstandard2.0;netstandard2.1;net461;net5</TargetFrameworks>
+        <TargetFrameworks>netstandard2.0;netstandard2.1;net461;net5;net6</TargetFrameworks>
         <LangVersion>latest</LangVersion>
         <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
         <CodeAnalysisRuleSet />
-        <Version>1.0.5</Version>
+        <Version>1.0.6</Version>
         <Authors>懒得勤快</Authors>
         <Description>Masuit.Tools.Excel导出库,支持一些简单数据的导出,支持图片列</Description>
         <Copyright>懒得勤快</Copyright>
@@ -17,9 +17,9 @@
         <RepositoryType>Github</RepositoryType>
         <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
         <PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance>
-        <FileVersion>1.0.5</FileVersion>
+        <FileVersion>1.0.6</FileVersion>
         <Company>ldqk.org</Company>
-        <AssemblyVersion>1.0.5</AssemblyVersion>
+        <AssemblyVersion>1.0.6</AssemblyVersion>
         <PackageLicenseUrl>https://github.com/ldqk/Masuit.Tools/blob/master/LICENSE</PackageLicenseUrl>
         <EmbedUntrackedSources>true</EmbedUntrackedSources>
         <IncludeSymbols>true</IncludeSymbols>
@@ -29,7 +29,7 @@
         <DocumentationFile>.\Masuit.Tools.Excel.xml</DocumentationFile>
     </PropertyGroup>
     <ItemGroup>
-        <PackageReference Include="EPPlus" Version="5.7.5" />
+        <PackageReference Include="EPPlus" Version="5.8.2" />
         <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
         <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
     </ItemGroup>

二進制
Masuit.Tools.Net45/Properties/AssemblyInfo.cs


+ 1 - 1
Masuit.Tools.Net45/package.nuspec

@@ -4,7 +4,7 @@
     <!--*-->
     <id>Masuit.Tools.Net45</id>
     <!--*-->
-    <version>2.4.5.1</version>
+    <version>2.4.5.2</version>
     <title>Masuit.Tools</title>
     <!--*-->
     <authors>懒得勤快</authors>

+ 10 - 43
Masuit.Tools/Files/SevenZipCompressor.cs

@@ -1,6 +1,4 @@
 using SharpCompress.Archives;
-using SharpCompress.Archives.Rar;
-using SharpCompress.Archives.Zip;
 using SharpCompress.Common;
 using SharpCompress.Readers;
 using SharpCompress.Writers;
@@ -48,9 +46,10 @@ namespace Masuit.Tools.Files
         /// <param name="files">多个文件路径,文件或文件夹</param>
         /// <param name="zipFile">压缩到...</param>
         /// <param name="rootdir">压缩包内部根文件夹</param>
-        public static void Zip(List<string> files, string zipFile, string rootdir = "")
+        /// <param name="archiveType"></param>
+        public static void Zip(List<string> files, string zipFile, string rootdir = "", ArchiveType archiveType = ArchiveType.SevenZip)
         {
-            using var archive = CreateZipArchive(files, rootdir);
+            using var archive = CreateZipArchive(files, rootdir, archiveType);
             archive.SaveTo(zipFile, new WriterOptions(CompressionType.Deflate)
             {
                 LeaveStreamOpen = true,
@@ -61,39 +60,6 @@ namespace Masuit.Tools.Files
             });
         }
 
-        /// <summary>
-        /// 解压rar文件
-        /// </summary>
-        /// <param name="rar">rar文件</param>
-        /// <param name="dir">解压到...</param>
-        /// <param name="ignoreEmptyDir">忽略空文件夹</param>
-        public static void UnRar(string rar, string dir = "", bool ignoreEmptyDir = true)
-        {
-            if (string.IsNullOrEmpty(dir))
-            {
-                dir = Path.GetDirectoryName(rar);
-            }
-
-            using var archive = RarArchive.Open(rar);
-            var entries = ignoreEmptyDir ? archive.Entries.Where(entry => !entry.IsDirectory) : archive.Entries;
-            foreach (var entry in entries)
-            {
-                entry.WriteToDirectory(dir, new ExtractionOptions()
-                {
-                    ExtractFullPath = true,
-                    Overwrite = true
-                });
-            }
-        }
-
-        /// <summary>
-        /// 解压文件,自动检测压缩包类型
-        /// </summary>
-        /// <param name="compressedFile">rar文件</param>
-        /// <param name="dir">解压到...</param>
-        /// <param name="ignoreEmptyDir">忽略空文件夹</param>
-        public static void Extract(string compressedFile, string dir = "", bool ignoreEmptyDir = true) => Decompress(compressedFile, dir, ignoreEmptyDir);
-
         /// <summary>
         /// 解压文件,自动检测压缩包类型
         /// </summary>
@@ -138,10 +104,11 @@ namespace Masuit.Tools.Files
         /// </summary>
         /// <param name="files"></param>
         /// <param name="rootdir"></param>
+        /// <param name="archiveType"></param>
         /// <returns></returns>
-        private static ZipArchive CreateZipArchive(List<string> files, string rootdir)
+        private static IWritableArchive CreateZipArchive(List<string> files, string rootdir, ArchiveType archiveType = ArchiveType.SevenZip)
         {
-            var archive = ZipArchive.Create();
+            var archive = ArchiveFactory.Create(archiveType);
             var dic = GetFileEntryMaps(files);
             var remoteUrls = files.Distinct().Where(s => s.StartsWith("http")).Select(s =>
             {
@@ -154,9 +121,9 @@ namespace Masuit.Tools.Files
                     return null;
                 }
             }).Where(u => u != null).ToList();
-            foreach (var fileEntry in dic)
+            foreach (var pair in dic)
             {
-                archive.AddEntry(Path.Combine(rootdir, fileEntry.Value), fileEntry.Key);
+                archive.AddEntry(Path.Combine(rootdir, pair.Value), pair.Key);
             }
 
             if (!remoteUrls.Any())
@@ -183,7 +150,7 @@ namespace Masuit.Tools.Files
             });
             foreach (var kv in streams)
             {
-                archive.AddEntry(kv.Key, kv.Value);
+                archive.AddEntry(kv.Key, kv.Value, true);
             }
 
             return archive;
@@ -235,4 +202,4 @@ namespace Masuit.Tools.Files
             return dic;
         }
     }
-}
+}

+ 5 - 2
Masuit.Tools/Masuit.Tools.csproj

@@ -166,7 +166,7 @@
       <Version>1.5.0</Version>
     </PackageReference>
     <PackageReference Include="HtmlSanitizer">
-      <Version>6.0.441</Version>
+      <Version>6.0.453</Version>
     </PackageReference>
     <PackageReference Include="Microsoft.AspNet.Mvc">
       <Version>5.2.7</Version>
@@ -175,11 +175,14 @@
       <Version>13.0.1</Version>
     </PackageReference>
     <PackageReference Include="SharpCompress">
-      <Version>0.29.0</Version>
+      <Version>0.30.0</Version>
     </PackageReference>
     <PackageReference Include="StackExchange.Redis">
       <Version>2.2.79</Version>
     </PackageReference>
+    <PackageReference Include="System.ValueTuple">
+      <Version>4.5.0</Version>
+    </PackageReference>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it.

二進制
Masuit.Tools/Properties/AssemblyInfo.cs


+ 1 - 1
Masuit.Tools/package.nuspec

@@ -4,7 +4,7 @@
     <!--*-->
     <id>Masuit.Tools.Net</id>
     <!--*-->
-    <version>2.4.5.1</version>
+    <version>2.4.5.2</version>
     <title>Masuit.Tools</title>
     <!--*-->
     <authors>懒得勤快</authors>

+ 1 - 1
NetCoreTest/NetCoreTest.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk.Web">
 
   <PropertyGroup>
-    <TargetFramework>net5.0</TargetFramework>
+    <TargetFramework>net6.0</TargetFramework>
     <RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
     <RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
     <LangVersion>latest</LangVersion>

+ 2 - 2
Test/Masuit.Tools.Abstractions.Test/Masuit.Tools.Abstractions.Test.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net5.0</TargetFramework>
+    <TargetFramework>net6.0</TargetFramework>
 
     <IsPackable>false</IsPackable>
   </PropertyGroup>
@@ -13,7 +13,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
     <PackageReference Include="xunit" Version="2.4.1" />
     <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
       <PrivateAssets>all</PrivateAssets>

+ 2 - 2
Test/Masuit.Tools.AspNetCore.ResumeFileResults.WebTest/Masuit.Tools.AspNetCore.ResumeFileResults.WebTest.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk.Web">
 
   <PropertyGroup>
-    <TargetFramework>net5.0</TargetFramework>
+    <TargetFramework>net6.0</TargetFramework>
     <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
     <RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
     <RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
@@ -23,7 +23,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.2" />
+    <PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
   </ItemGroup>
 
   <ItemGroup>

+ 4 - 4
Test/Masuit.Tools.Core.Test/Masuit.Tools.Core.Test.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net5.0</TargetFramework>
+    <TargetFramework>net6.0</TargetFramework>
 
     <IsPackable>false</IsPackable>
 
@@ -9,9 +9,9 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="5.0.11" />
-    <PackageReference Include="Microsoft.Extensions.Hosting" Version="5.0.0" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
+    <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="6.0.0" />
+    <PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.0" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
     <PackageReference Include="xunit" Version="2.4.1" />
     <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
       <PrivateAssets>all</PrivateAssets>

+ 1 - 2
Test/Masuit.Tools.Test/CompressTest.cs

@@ -36,6 +36,5 @@ namespace Masuit.Tools.Test
                 Assert.True(stream.Length > 0);
             }
         }
-
     }
-}
+}

+ 6 - 2
Test/Masuit.Tools.Test/Masuit.Tools.Test.csproj

@@ -60,12 +60,16 @@
     <Reference Include="nunit.framework, Version=3.13.2.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
       <HintPath>..\..\packages\NUnit.3.13.2\lib\net45\nunit.framework.dll</HintPath>
     </Reference>
+    <Reference Include="SharpCompress, Version=0.30.0.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>C:\Users\Administrator\.nuget\packages\sharpcompress\0.30.0\lib\net5.0\SharpCompress.dll</HintPath>
+    </Reference>
     <Reference Include="System" />
     <Reference Include="System.Configuration" />
     <Reference Include="System.Core" />
     <Reference Include="System.Numerics" />
-    <Reference Include="System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
+    <Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
     </Reference>
     <Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
       <HintPath>..\..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>

+ 1 - 1
Test/Masuit.Tools.Test/app.config

@@ -12,7 +12,7 @@
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />

+ 1 - 1
Test/Masuit.Tools.Test/packages.config

@@ -9,7 +9,7 @@
   <package id="MSTest.TestAdapter" version="2.2.7" targetFramework="net461" />
   <package id="MSTest.TestFramework" version="2.2.7" targetFramework="net461" />
   <package id="NUnit" version="3.13.2" targetFramework="net461" />
-  <package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net461" />
+  <package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net461" />
   <package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net461" />
   <package id="System.ValueTuple" version="4.5.0" targetFramework="net461" />
   <package id="xunit" version="2.4.1" targetFramework="net461" />