CSoft.Utils 8.0.7

There is a newer version of this package available.
See the version list below for details.
dotnet add package CSoft.Utils --version 8.0.7                
NuGet\Install-Package CSoft.Utils -Version 8.0.7                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CSoft.Utils" Version="8.0.7" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CSoft.Utils --version 8.0.7                
#r "nuget: CSoft.Utils, 8.0.7"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install CSoft.Utils as a Cake Addin
#addin nuget:?package=CSoft.Utils&version=8.0.7

// Install CSoft.Utils as a Cake Tool
#tool nuget:?package=CSoft.Utils&version=8.0.7                

公共工具库

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.
  • net6.0

    • No dependencies.
  • net7.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on CSoft.Utils:

Package Downloads
CSoft.Communication

通讯物理口封装

CSoft.Parser

数据分帧解析器

CSoft.Crow

数据收发队列

CSoft.PipeLine

流水线控制

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
9.0.0 318 11/22/2024
8.0.9 1,564 8/8/2024
8.0.8 2,929 4/29/2024
8.0.7 640 4/10/2024
8.0.6 485 2/29/2024
8.0.5 337 2/27/2024
8.0.4 316 2/4/2024
8.0.3 292 2/4/2024 8.0.3 is deprecated because it has critical bugs.
8.0.2 120 2/4/2024 8.0.2 is deprecated because it is no longer maintained.
8.0.1 994 12/12/2023 8.0.1 is deprecated because it has critical bugs.
8.0.0 892 11/15/2023 8.0.0 is deprecated because it is no longer maintained.
7.0.3 1,088 4/7/2023 7.0.3 is deprecated because it is no longer maintained.
7.0.2 3,035 2/28/2023 7.0.2 is deprecated because it is no longer maintained.
7.0.1 3,147 2/13/2023 7.0.1 is deprecated because it is no longer maintained.
7.0.0 3,633 11/9/2022 7.0.0 is deprecated because it is no longer maintained.
6.0.8 10,276 9/26/2022 6.0.8 is deprecated because it is no longer maintained.
6.0.7 1,637 9/23/2022 6.0.7 is deprecated because it has critical bugs.
6.0.6 1,549 9/23/2022 6.0.6 is deprecated because it has critical bugs.
6.0.5 1,510 9/22/2022 6.0.5 is deprecated because it is no longer maintained.
6.0.4 3,305 8/11/2022 6.0.4 is deprecated because it is no longer maintained.
6.0.3 8,900 5/12/2022 6.0.3 is deprecated because it is no longer maintained.
6.0.2 463 5/11/2022 6.0.2 is deprecated because it has critical bugs.
6.0.1 2,691 3/15/2022 6.0.1 is deprecated because it is no longer maintained.
6.0.0 2,251 11/9/2021 6.0.0 is deprecated because it is no longer maintained.
5.0.5 470 10/12/2021 5.0.5 is deprecated because it is no longer maintained.
5.0.4 1,145 8/18/2021 5.0.4 is deprecated because it is no longer maintained.
5.0.3 2,506 3/11/2021 5.0.3 is deprecated because it is no longer maintained.
5.0.2 1,009 1/26/2021 5.0.2 is deprecated because it is no longer maintained.
5.0.1 1,358 1/22/2021 5.0.1 is deprecated because it is no longer maintained.
5.0.0 1,639 11/18/2020 5.0.0 is deprecated because it is no longer maintained.
1.0.0 2,966 6/30/2020 1.0.0 is deprecated because it is no longer maintained.

The most significant changes in the code include updates to the AES, CRC, MultipleRetryFailureException, MD5, PluginHelper, ProcessUtils, PushQueue, RemainBytes, SignalToDigitalProcessor, StringByteUtils, Timer classes, and the Utils.csproj and UtilsUnitTest.csproj files. These changes primarily involve refactoring to improve readability, remove duplicate code, and update exception handling. Additionally, the version number in Utils.csproj has been increased and new test methods have been added in StringUtilsTest and TimerTest classes.

1. The AES class in AES.cs has been updated to include more specific ArgumentNullExceptions and to dispose of the _encryptor and _decryptor objects in the Dispose method.
2. The CRC class in CRC.cs has been refactored to remove duplicate code and improve readability. The Crc16, GBcrc16, HBcrc16, and CRC16_R methods now call a new private method, ComputeCrc16, to perform the common logic.
3. The MultipleRetryFailureException class in MultipleRetryFailureException.cs has been updated to allow for nullable inner exceptions.
4. The MD5 class in MD5.cs has been updated to use the using statement for the MD5 object, and to use the Equals method for string comparison in the VerifyMD5Hash method.
5. The PluginHelper class in PluginHelper.cs has been refactored to remove duplicate code and improve readability. The GetChildren methods now call a new private method, GetChildren, to perform the common logic.
6. The ProcessUtils class in ProcessUtils.cs has been updated to use the CancellationToken structure instead of the CancellationTokenSource class, and to throw an OperationCanceledException instead of a TaskCanceledException.
7. The PushQueue class in PushQueue.cs has been updated to use the CancellationToken structure instead of the CancellationTokenSource class, and to use the CancellationToken in the Task.Delay method.
8. The RemainBytes class in RemainBytes.cs has been updated to make the Bytes, StartIndex, and Count properties read-only, and to simplify the NextIndex and AvaliableSize properties.
9. The SignalToDigitalProcessor class in SignalToDigitalProcessor.cs has been updated to pre-calculate the scale factors in the constructor, and to use these pre-calculated values in the InputDataProcess and OutputDataProcess methods.
10. The StringByteUtils class in StringByteUtils.cs has been updated to simplify the StringToBytes and ComibeByteArray methods.
11. The Timer class in Timer.cs has been updated to use the CancellationToken structure instead of the CancellationTokenSource class, and to use the CancellationToken in the Task.Delay method.
12. The Utils.csproj file has been updated to increase the version number from 8.0.6 to 8.0.7.
13. The StringUtilsTest class in StringUtilsTest.cs has been updated to add new test methods for the MD5, Crc, and ComibeByteArray methods.
14. The TimerTest class in TimerTest.cs has been updated to add a new test method for the StopAsync method.
15. The changes in the UtilsUnitTest.csproj file are primarily related to formatting and the addition of a new property in the PropertyGroup section. The LangVersion line was added to set the version of the C# language to be used in the project to the latest available version. The rest of the changes are related to the formatting of the XML.