diff --git a/XP.Hardware.Detector/bin/Debug/net8.0-windows7.0/XP.Hardware.Detector.deps.json b/XP.Hardware.Detector/bin/Debug/net8.0-windows7.0/XP.Hardware.Detector.deps.json index a3e12f2..8d2b10c 100644 --- a/XP.Hardware.Detector/bin/Debug/net8.0-windows7.0/XP.Hardware.Detector.deps.json +++ b/XP.Hardware.Detector/bin/Debug/net8.0-windows7.0/XP.Hardware.Detector.deps.json @@ -29,9 +29,6 @@ }, "Emgu.CV/4.10.0.5680": { "dependencies": { - "System.Drawing.Primitives": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", "System.Text.Json": "10.0.0" }, "runtime": { @@ -80,13 +77,9 @@ "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "Microsoft.Bcl.HashCode": "1.1.0", "Microsoft.EntityFrameworkCore.Abstractions": "3.1.5", - "Microsoft.EntityFrameworkCore.Analyzers": "3.1.5", "Microsoft.Extensions.Caching.Memory": "3.1.5", "Microsoft.Extensions.DependencyInjection": "3.1.5", - "Microsoft.Extensions.Logging": "3.1.5", - "System.Collections.Immutable": "1.7.1", - "System.ComponentModel.Annotations": "4.7.0", - "System.Diagnostics.DiagnosticSource": "4.7.1" + "Microsoft.Extensions.Logging": "3.1.5" }, "runtime": { "lib/netstandard2.0/Microsoft.EntityFrameworkCore.dll": { @@ -103,7 +96,6 @@ } } }, - "Microsoft.EntityFrameworkCore.Analyzers/3.1.5": {}, "Microsoft.Extensions.Caching.Abstractions/3.1.5": { "dependencies": { "Microsoft.Extensions.Primitives": "10.0.0" @@ -237,8 +229,6 @@ } } }, - "Microsoft.NETCore.Platforms/2.0.0": {}, - "Microsoft.NETCore.Targets/1.1.3": {}, "Microsoft.OData.Client/7.8.3": { "dependencies": { "Microsoft.OData.Core": "7.8.3" @@ -281,14 +271,6 @@ } } }, - "Microsoft.Win32.Primitives/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Runtime": "4.3.1" - } - }, - "Microsoft.Win32.SystemEvents/6.0.0": {}, "Microsoft.Xaml.Behaviors.Wpf/1.1.122": { "runtime": { "lib/net6.0-windows7.0/Microsoft.Xaml.Behaviors.dll": { @@ -297,54 +279,6 @@ } } }, - "NETStandard.Library/1.6.1": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.Win32.Primitives": "4.3.0", - "System.AppContext": "4.3.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Console": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tools": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.Compression": "4.3.0", - "System.IO.Compression.ZipFile": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Linq": "4.3.0", - "System.Linq.Expressions": "4.3.0", - "System.Net.Http": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Net.Sockets": "4.3.0", - "System.ObjectModel": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Text.RegularExpressions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Timer": "4.3.0", - "System.Xml.ReaderWriter": "4.3.0", - "System.Xml.XDocument": "4.3.0" - } - }, "Prism.Container.Abstractions/9.0.106": { "dependencies": { "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1" @@ -388,54 +322,6 @@ } } }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.native.System/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3" - } - }, - "runtime.native.System.IO.Compression/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3" - } - }, - "runtime.native.System.Net.Http/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3" - } - }, - "runtime.native.System.Security.Cryptography.Apple/4.3.0": { - "dependencies": { - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" - } - }, - "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "dependencies": { - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": {}, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, "Serilog/4.3.1": { "runtime": { "lib/net8.0/Serilog.dll": { @@ -480,9 +366,6 @@ } }, "SharpDX/4.2.0": { - "dependencies": { - "NETStandard.Library": "1.6.1" - }, "runtime": { "lib/netstandard1.1/SharpDX.dll": { "assemblyVersion": "4.2.0.0", @@ -492,7 +375,6 @@ }, "SharpDX.D3DCompiler/4.2.0": { "dependencies": { - "NETStandard.Library": "1.6.1", "SharpDX": "4.2.0" }, "runtime": { @@ -504,7 +386,6 @@ }, "SharpDX.Direct2D1/4.2.0": { "dependencies": { - "NETStandard.Library": "1.6.1", "SharpDX": "4.2.0", "SharpDX.DXGI": "4.2.0" }, @@ -517,7 +398,6 @@ }, "SharpDX.Direct3D10/4.2.0": { "dependencies": { - "NETStandard.Library": "1.6.1", "SharpDX": "4.2.0", "SharpDX.D3DCompiler": "4.2.0", "SharpDX.DXGI": "4.2.0" @@ -531,7 +411,6 @@ }, "SharpDX.Direct3D9/4.2.0": { "dependencies": { - "NETStandard.Library": "1.6.1", "SharpDX": "4.2.0" }, "runtime": { @@ -543,7 +422,6 @@ }, "SharpDX.DXGI/4.2.0": { "dependencies": { - "NETStandard.Library": "1.6.1", "SharpDX": "4.2.0" }, "runtime": { @@ -555,7 +433,6 @@ }, "SharpDX.Mathematics/4.2.0": { "dependencies": { - "NETStandard.Library": "1.6.1", "SharpDX": "4.2.0" }, "runtime": { @@ -578,9 +455,6 @@ } }, "SQLitePCLRaw.core/2.1.11": { - "dependencies": { - "System.Memory": "4.5.3" - }, "runtime": { "lib/netstandard2.0/SQLitePCLRaw.core.dll": { "assemblyVersion": "2.1.11.2622", @@ -718,63 +592,7 @@ } } }, - "System.AppContext/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.1" - } - }, - "System.Buffers/4.3.0": { - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Threading": "4.3.0" - } - }, - "System.Collections/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Runtime": "4.3.1" - } - }, - "System.Collections.Concurrent/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Collections.Immutable/1.7.1": {}, - "System.ComponentModel.Annotations/4.7.0": {}, - "System.Configuration.ConfigurationManager/6.0.0": { - "dependencies": { - "System.Security.Cryptography.ProtectedData": "6.0.0", - "System.Security.Permissions": "6.0.0" - } - }, - "System.Console/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.IO": "4.3.0", - "System.Runtime": "4.3.1", - "System.Text.Encoding": "4.3.0" - } - }, "System.Data.OleDb/6.0.0": { - "dependencies": { - "System.Configuration.ConfigurationManager": "6.0.0", - "System.Diagnostics.PerformanceCounter": "6.0.0" - }, "runtime": { "lib/net6.0/System.Data.OleDb.dll": { "assemblyVersion": "6.0.0.0", @@ -790,127 +608,6 @@ } } }, - "System.Diagnostics.Debug/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Runtime": "4.3.1" - } - }, - "System.Diagnostics.DiagnosticSource/4.7.1": {}, - "System.Diagnostics.PerformanceCounter/6.0.0": { - "dependencies": { - "System.Configuration.ConfigurationManager": "6.0.0" - } - }, - "System.Diagnostics.Tools/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Runtime": "4.3.1" - } - }, - "System.Diagnostics.Tracing/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Runtime": "4.3.1" - } - }, - "System.Drawing.Common/6.0.0": { - "dependencies": { - "Microsoft.Win32.SystemEvents": "6.0.0" - } - }, - "System.Drawing.Primitives/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Globalization/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Runtime": "4.3.1" - } - }, - "System.Globalization.Calendars/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Globalization": "4.3.0", - "System.Runtime": "4.3.1" - } - }, - "System.Globalization.Extensions/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "System.IO/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Runtime": "4.3.1", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.Compression/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "System.Buffers": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.IO.Compression": "4.3.0" - } - }, - "System.IO.Compression.ZipFile/4.3.0": { - "dependencies": { - "System.Buffers": "4.3.0", - "System.IO": "4.3.0", - "System.IO.Compression": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.IO.FileSystem/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.IO": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Handles": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem.Primitives/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.1" - } - }, "System.IO.Pipelines/10.0.0": { "runtime": { "lib/net8.0/System.IO.Pipelines.dll": { @@ -919,100 +616,7 @@ } } }, - "System.Linq/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Linq.Expressions/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Linq": "4.3.0", - "System.ObjectModel": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Emit.Lightweight": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Reflection.TypeExtensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Memory/4.5.3": {}, - "System.Net.Http/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.DiagnosticSource": "4.7.1", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Net.Primitives/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Runtime": "4.3.1", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Net.Sockets/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.IO": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Runtime": "4.3.1", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.ObjectModel/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Threading": "4.3.0" - } - }, "System.Private.ServiceModel/4.7.0": { - "dependencies": { - "System.Reflection.DispatchProxy": "4.5.0", - "System.Security.Cryptography.Xml": "4.5.0", - "System.Security.Principal.Windows": "4.5.0" - }, "runtime": { "lib/netstandard2.0/System.Private.ServiceModel.dll": { "assemblyVersion": "4.7.0.0", @@ -1020,252 +624,6 @@ } } }, - "System.Reflection/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.1" - } - }, - "System.Reflection.DispatchProxy/4.5.0": {}, - "System.Reflection.Emit/4.3.0": { - "dependencies": { - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.1" - } - }, - "System.Reflection.Emit.ILGeneration/4.3.0": { - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.1" - } - }, - "System.Reflection.Emit.Lightweight/4.3.0": { - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.1" - } - }, - "System.Reflection.Extensions/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.1" - } - }, - "System.Reflection.Primitives/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Runtime": "4.3.1" - } - }, - "System.Reflection.TypeExtensions/4.3.0": { - "dependencies": { - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.1" - } - }, - "System.Resources.ResourceManager/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.1" - } - }, - "System.Runtime/4.3.1": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3" - } - }, - "System.Runtime.Extensions/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Runtime": "4.3.1" - } - }, - "System.Runtime.Handles/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Runtime": "4.3.1" - } - }, - "System.Runtime.InteropServices/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Runtime.InteropServices.RuntimeInformation/4.3.0": { - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.InteropServices": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, - "System.Runtime.Numerics/4.3.0": { - "dependencies": { - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Security.AccessControl/6.0.0": {}, - "System.Security.Cryptography.Algorithms/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.Apple": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Cng/4.5.0": {}, - "System.Security.Cryptography.Csp/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Linq": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.OpenSsl/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Pkcs/4.5.0": { - "dependencies": { - "System.Security.Cryptography.Cng": "4.5.0" - } - }, - "System.Security.Cryptography.Primitives/4.3.0": { - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Security.Cryptography.ProtectedData/6.0.0": {}, - "System.Security.Cryptography.X509Certificates/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Cng": "4.5.0", - "System.Security.Cryptography.Csp": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Xml/4.5.0": { - "dependencies": { - "System.Security.Cryptography.Pkcs": "4.5.0", - "System.Security.Permissions": "6.0.0" - } - }, - "System.Security.Permissions/6.0.0": { - "dependencies": { - "System.Security.AccessControl": "6.0.0", - "System.Windows.Extensions": "6.0.0" - } - }, - "System.Security.Principal.Windows/4.5.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0" - } - }, "System.ServiceModel.Http/4.7.0": { "dependencies": { "System.Private.ServiceModel": "4.7.0", @@ -1293,21 +651,6 @@ } } }, - "System.Text.Encoding/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Runtime": "4.3.1" - } - }, - "System.Text.Encoding.Extensions/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Runtime": "4.3.1", - "System.Text.Encoding": "4.3.0" - } - }, "System.Text.Encodings.Web/10.0.0": { "runtime": { "lib/net8.0/System.Text.Encodings.Web.dll": { @@ -1336,78 +679,6 @@ } } }, - "System.Text.RegularExpressions/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.1" - } - }, - "System.Threading/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.1", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Threading.Tasks/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Runtime": "4.3.1" - } - }, - "System.Threading.Tasks.Extensions/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Runtime": "4.3.1", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Threading.Timer/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.NETCore.Targets": "1.1.3", - "System.Runtime": "4.3.1" - } - }, - "System.Windows.Extensions/6.0.0": { - "dependencies": { - "System.Drawing.Common": "6.0.0" - } - }, - "System.Xml.ReaderWriter/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Text.RegularExpressions": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Tasks.Extensions": "4.3.0" - } - }, - "System.Xml.XDocument/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tools": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.1", - "System.Runtime.Extensions": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Xml.ReaderWriter": "4.3.0" - } - }, "Telerik.UI.for.Wpf.NetCore.Xaml/2024.1.408": { "dependencies": { "Microsoft.EntityFrameworkCore": "3.1.5", @@ -1419,7 +690,6 @@ "SharpDX.Direct3D9": "4.2.0", "SharpDX.Mathematics": "4.2.0", "System.Data.OleDb": "6.0.0", - "System.Drawing.Common": "6.0.0", "System.ServiceModel.Http": "4.7.0" }, "runtime": { @@ -1705,7 +975,10 @@ "Telerik.UI.for.Wpf.NetCore.Xaml": "2024.1.408" }, "runtime": { - "XP.Common.dll": {} + "XP.Common.dll": { + "assemblyVersion": "1.4.16.1", + "fileVersion": "1.4.16.1" + } }, "resources": { "en-US/XP.Common.resources.dll": { @@ -1776,13 +1049,6 @@ "path": "microsoft.entityframeworkcore.abstractions/3.1.5", "hashPath": "microsoft.entityframeworkcore.abstractions.3.1.5.nupkg.sha512" }, - "Microsoft.EntityFrameworkCore.Analyzers/3.1.5": { - "type": "package", - "serviceable": true, - "sha512": "sha512-NhxlI6Qj/QUt79ApeBrpKo+a5TGt/UCddxd9rLHD7Zd6yLyfkDOMiyu4oPqhnMhpqmzo/gd79tW7BMwIxgEZCw==", - "path": "microsoft.entityframeworkcore.analyzers/3.1.5", - "hashPath": "microsoft.entityframeworkcore.analyzers.3.1.5.nupkg.sha512" - }, "Microsoft.Extensions.Caching.Abstractions/3.1.5": { "type": "package", "serviceable": true, @@ -1867,20 +1133,6 @@ "path": "microsoft.extensions.primitives/10.0.0", "hashPath": "microsoft.extensions.primitives.10.0.0.nupkg.sha512" }, - "Microsoft.NETCore.Platforms/2.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-VdLJOCXhZaEMY7Hm2GKiULmn7IEPFE4XC5LPSfBVCUIA8YLZVh846gtfBJalsPQF2PlzdD7ecX7DZEulJ402ZQ==", - "path": "microsoft.netcore.platforms/2.0.0", - "hashPath": "microsoft.netcore.platforms.2.0.0.nupkg.sha512" - }, - "Microsoft.NETCore.Targets/1.1.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==", - "path": "microsoft.netcore.targets/1.1.3", - "hashPath": "microsoft.netcore.targets.1.1.3.nupkg.sha512" - }, "Microsoft.OData.Client/7.8.3": { "type": "package", "serviceable": true, @@ -1909,20 +1161,6 @@ "path": "microsoft.spatial/7.8.3", "hashPath": "microsoft.spatial.7.8.3.nupkg.sha512" }, - "Microsoft.Win32.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", - "path": "microsoft.win32.primitives/4.3.0", - "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" - }, - "Microsoft.Win32.SystemEvents/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==", - "path": "microsoft.win32.systemevents/6.0.0", - "hashPath": "microsoft.win32.systemevents.6.0.0.nupkg.sha512" - }, "Microsoft.Xaml.Behaviors.Wpf/1.1.122": { "type": "package", "serviceable": true, @@ -1930,13 +1168,6 @@ "path": "microsoft.xaml.behaviors.wpf/1.1.122", "hashPath": "microsoft.xaml.behaviors.wpf.1.1.122.nupkg.sha512" }, - "NETStandard.Library/1.6.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", - "path": "netstandard.library/1.6.1", - "hashPath": "netstandard.library.1.6.1.nupkg.sha512" - }, "Prism.Container.Abstractions/9.0.106": { "type": "package", "serviceable": true, @@ -1965,118 +1196,6 @@ "path": "prism.wpf/9.0.537", "hashPath": "prism.wpf.9.0.537.nupkg.sha512" }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==", - "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==", - "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==", - "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.native.System/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", - "path": "runtime.native.system/4.3.0", - "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" - }, - "runtime.native.System.IO.Compression/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", - "path": "runtime.native.system.io.compression/4.3.0", - "hashPath": "runtime.native.system.io.compression.4.3.0.nupkg.sha512" - }, - "runtime.native.System.Net.Http/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", - "path": "runtime.native.system.net.http/4.3.0", - "hashPath": "runtime.native.system.net.http.4.3.0.nupkg.sha512" - }, - "runtime.native.System.Security.Cryptography.Apple/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", - "path": "runtime.native.system.security.cryptography.apple/4.3.0", - "hashPath": "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" - }, - "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", - "path": "runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==", - "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==", - "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==", - "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0", - "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==", - "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==", - "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==", - "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==", - "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==", - "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, "Serilog/4.3.1": { "type": "package", "serviceable": true, @@ -2182,62 +1301,6 @@ "path": "sqlitepclraw.provider.e_sqlite3/2.1.11", "hashPath": "sqlitepclraw.provider.e_sqlite3.2.1.11.nupkg.sha512" }, - "System.AppContext/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", - "path": "system.appcontext/4.3.0", - "hashPath": "system.appcontext.4.3.0.nupkg.sha512" - }, - "System.Buffers/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==", - "path": "system.buffers/4.3.0", - "hashPath": "system.buffers.4.3.0.nupkg.sha512" - }, - "System.Collections/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", - "path": "system.collections/4.3.0", - "hashPath": "system.collections.4.3.0.nupkg.sha512" - }, - "System.Collections.Concurrent/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", - "path": "system.collections.concurrent/4.3.0", - "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" - }, - "System.Collections.Immutable/1.7.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-B43Zsz5EfMwyEbnObwRxW5u85fzJma3lrDeGcSAV1qkhSRTNY5uXAByTn9h9ddNdhM+4/YoLc/CI43umjwIl9Q==", - "path": "system.collections.immutable/1.7.1", - "hashPath": "system.collections.immutable.1.7.1.nupkg.sha512" - }, - "System.ComponentModel.Annotations/4.7.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-0YFqjhp/mYkDGpU0Ye1GjE53HMp9UVfGN7seGpAMttAC0C40v5gw598jCgpbBLMmCo0E5YRLBv5Z2doypO49ZQ==", - "path": "system.componentmodel.annotations/4.7.0", - "hashPath": "system.componentmodel.annotations.4.7.0.nupkg.sha512" - }, - "System.Configuration.ConfigurationManager/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7T+m0kDSlIPTHIkPMIu6m6tV6qsMqJpvQWW2jIc2qi7sn40qxFo0q+7mEQAhMPXZHMKnWrnv47ntGlM/ejvw3g==", - "path": "system.configuration.configurationmanager/6.0.0", - "hashPath": "system.configuration.configurationmanager.6.0.0.nupkg.sha512" - }, - "System.Console/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", - "path": "system.console/4.3.0", - "hashPath": "system.console.4.3.0.nupkg.sha512" - }, "System.Data.OleDb/6.0.0": { "type": "package", "serviceable": true, @@ -2245,111 +1308,6 @@ "path": "system.data.oledb/6.0.0", "hashPath": "system.data.oledb.6.0.0.nupkg.sha512" }, - "System.Diagnostics.Debug/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", - "path": "system.diagnostics.debug/4.3.0", - "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" - }, - "System.Diagnostics.DiagnosticSource/4.7.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-j81Lovt90PDAq8kLpaJfJKV/rWdWuEk6jfV+MBkee33vzYLEUsy4gXK8laa9V2nZlLM9VM9yA/OOQxxPEJKAMw==", - "path": "system.diagnostics.diagnosticsource/4.7.1", - "hashPath": "system.diagnostics.diagnosticsource.4.7.1.nupkg.sha512" - }, - "System.Diagnostics.PerformanceCounter/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-gbeE5tNp/oB7O8kTTLh3wPPJCxpNOphXPTWVs1BsYuFOYapFijWuh0LYw1qnDo4gwDUYPXOmpTIhvtxisGsYOQ==", - "path": "system.diagnostics.performancecounter/6.0.0", - "hashPath": "system.diagnostics.performancecounter.6.0.0.nupkg.sha512" - }, - "System.Diagnostics.Tools/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", - "path": "system.diagnostics.tools/4.3.0", - "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512" - }, - "System.Diagnostics.Tracing/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", - "path": "system.diagnostics.tracing/4.3.0", - "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" - }, - "System.Drawing.Common/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-NfuoKUiP2nUWwKZN6twGqXioIe1zVD0RIj2t976A+czLHr2nY454RwwXs6JU9Htc6mwqL6Dn/nEL3dpVf2jOhg==", - "path": "system.drawing.common/6.0.0", - "hashPath": "system.drawing.common.6.0.0.nupkg.sha512" - }, - "System.Drawing.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-1QU/c35gwdhvj77fkScXQQbjiVAqIL3fEYn/19NE0CV/ic5TN5PyWAft8HsrbRd4SBLEoErNCkWSzMDc0MmbRw==", - "path": "system.drawing.primitives/4.3.0", - "hashPath": "system.drawing.primitives.4.3.0.nupkg.sha512" - }, - "System.Globalization/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", - "path": "system.globalization/4.3.0", - "hashPath": "system.globalization.4.3.0.nupkg.sha512" - }, - "System.Globalization.Calendars/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", - "path": "system.globalization.calendars/4.3.0", - "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" - }, - "System.Globalization.Extensions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", - "path": "system.globalization.extensions/4.3.0", - "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512" - }, - "System.IO/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "path": "system.io/4.3.0", - "hashPath": "system.io.4.3.0.nupkg.sha512" - }, - "System.IO.Compression/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", - "path": "system.io.compression/4.3.0", - "hashPath": "system.io.compression.4.3.0.nupkg.sha512" - }, - "System.IO.Compression.ZipFile/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", - "path": "system.io.compression.zipfile/4.3.0", - "hashPath": "system.io.compression.zipfile.4.3.0.nupkg.sha512" - }, - "System.IO.FileSystem/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", - "path": "system.io.filesystem/4.3.0", - "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" - }, - "System.IO.FileSystem.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", - "path": "system.io.filesystem.primitives/4.3.0", - "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" - }, "System.IO.Pipelines/10.0.0": { "type": "package", "serviceable": true, @@ -2357,55 +1315,6 @@ "path": "system.io.pipelines/10.0.0", "hashPath": "system.io.pipelines.10.0.0.nupkg.sha512" }, - "System.Linq/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", - "path": "system.linq/4.3.0", - "hashPath": "system.linq.4.3.0.nupkg.sha512" - }, - "System.Linq.Expressions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", - "path": "system.linq.expressions/4.3.0", - "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" - }, - "System.Memory/4.5.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==", - "path": "system.memory/4.5.3", - "hashPath": "system.memory.4.5.3.nupkg.sha512" - }, - "System.Net.Http/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", - "path": "system.net.http/4.3.0", - "hashPath": "system.net.http.4.3.0.nupkg.sha512" - }, - "System.Net.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", - "path": "system.net.primitives/4.3.0", - "hashPath": "system.net.primitives.4.3.0.nupkg.sha512" - }, - "System.Net.Sockets/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", - "path": "system.net.sockets/4.3.0", - "hashPath": "system.net.sockets.4.3.0.nupkg.sha512" - }, - "System.ObjectModel/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", - "path": "system.objectmodel/4.3.0", - "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" - }, "System.Private.ServiceModel/4.7.0": { "type": "package", "serviceable": true, @@ -2413,202 +1322,6 @@ "path": "system.private.servicemodel/4.7.0", "hashPath": "system.private.servicemodel.4.7.0.nupkg.sha512" }, - "System.Reflection/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "path": "system.reflection/4.3.0", - "hashPath": "system.reflection.4.3.0.nupkg.sha512" - }, - "System.Reflection.DispatchProxy/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-+UW1hq11TNSeb+16rIk8hRQ02o339NFyzMc4ma/FqmxBzM30l1c2IherBB4ld1MNcenS48fz8tbt50OW4rVULA==", - "path": "system.reflection.dispatchproxy/4.5.0", - "hashPath": "system.reflection.dispatchproxy.4.5.0.nupkg.sha512" - }, - "System.Reflection.Emit/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", - "path": "system.reflection.emit/4.3.0", - "hashPath": "system.reflection.emit.4.3.0.nupkg.sha512" - }, - "System.Reflection.Emit.ILGeneration/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", - "path": "system.reflection.emit.ilgeneration/4.3.0", - "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512" - }, - "System.Reflection.Emit.Lightweight/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", - "path": "system.reflection.emit.lightweight/4.3.0", - "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512" - }, - "System.Reflection.Extensions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", - "path": "system.reflection.extensions/4.3.0", - "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" - }, - "System.Reflection.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "path": "system.reflection.primitives/4.3.0", - "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" - }, - "System.Reflection.TypeExtensions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", - "path": "system.reflection.typeextensions/4.3.0", - "hashPath": "system.reflection.typeextensions.4.3.0.nupkg.sha512" - }, - "System.Resources.ResourceManager/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", - "path": "system.resources.resourcemanager/4.3.0", - "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" - }, - "System.Runtime/4.3.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==", - "path": "system.runtime/4.3.1", - "hashPath": "system.runtime.4.3.1.nupkg.sha512" - }, - "System.Runtime.Extensions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", - "path": "system.runtime.extensions/4.3.0", - "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" - }, - "System.Runtime.Handles/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", - "path": "system.runtime.handles/4.3.0", - "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" - }, - "System.Runtime.InteropServices/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", - "path": "system.runtime.interopservices/4.3.0", - "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" - }, - "System.Runtime.InteropServices.RuntimeInformation/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", - "path": "system.runtime.interopservices.runtimeinformation/4.3.0", - "hashPath": "system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512" - }, - "System.Runtime.Numerics/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", - "path": "system.runtime.numerics/4.3.0", - "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" - }, - "System.Security.AccessControl/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-AUADIc0LIEQe7MzC+I0cl0rAT8RrTAKFHl53yHjEUzNVIaUlhFY11vc2ebiVJzVBuOzun6F7FBA+8KAbGTTedQ==", - "path": "system.security.accesscontrol/6.0.0", - "hashPath": "system.security.accesscontrol.6.0.0.nupkg.sha512" - }, - "System.Security.Cryptography.Algorithms/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "path": "system.security.cryptography.algorithms/4.3.0", - "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.Cng/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==", - "path": "system.security.cryptography.cng/4.5.0", - "hashPath": "system.security.cryptography.cng.4.5.0.nupkg.sha512" - }, - "System.Security.Cryptography.Csp/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", - "path": "system.security.cryptography.csp/4.3.0", - "hashPath": "system.security.cryptography.csp.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.Encoding/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", - "path": "system.security.cryptography.encoding/4.3.0", - "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", - "path": "system.security.cryptography.openssl/4.3.0", - "hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.Pkcs/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-TGQX51gxpY3K3I6LJlE2LAftVlIMqJf0cBGhz68Y89jjk3LJCB6SrwiD+YN1fkqemBvWGs+GjyMJukl6d6goyQ==", - "path": "system.security.cryptography.pkcs/4.5.0", - "hashPath": "system.security.cryptography.pkcs.4.5.0.nupkg.sha512" - }, - "System.Security.Cryptography.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", - "path": "system.security.cryptography.primitives/4.3.0", - "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.ProtectedData/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-rp1gMNEZpvx9vP0JW0oHLxlf8oSiQgtno77Y4PLUBjSiDYoD77Y8uXHr1Ea5XG4/pIKhqAdxZ8v8OTUtqo9PeQ==", - "path": "system.security.cryptography.protecteddata/6.0.0", - "hashPath": "system.security.cryptography.protecteddata.6.0.0.nupkg.sha512" - }, - "System.Security.Cryptography.X509Certificates/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "path": "system.security.cryptography.x509certificates/4.3.0", - "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.Xml/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-i2Jn6rGXR63J0zIklImGRkDIJL4b1NfPSEbIVHBlqoIb12lfXIigCbDRpDmIEzwSo/v1U5y/rYJdzZYSyCWxvg==", - "path": "system.security.cryptography.xml/4.5.0", - "hashPath": "system.security.cryptography.xml.4.5.0.nupkg.sha512" - }, - "System.Security.Permissions/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==", - "path": "system.security.permissions/6.0.0", - "hashPath": "system.security.permissions.6.0.0.nupkg.sha512" - }, - "System.Security.Principal.Windows/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==", - "path": "system.security.principal.windows/4.5.0", - "hashPath": "system.security.principal.windows.4.5.0.nupkg.sha512" - }, "System.ServiceModel.Http/4.7.0": { "type": "package", "serviceable": true, @@ -2623,20 +1336,6 @@ "path": "system.servicemodel.primitives/4.7.0", "hashPath": "system.servicemodel.primitives.4.7.0.nupkg.sha512" }, - "System.Text.Encoding/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "path": "system.text.encoding/4.3.0", - "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" - }, - "System.Text.Encoding.Extensions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", - "path": "system.text.encoding.extensions/4.3.0", - "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" - }, "System.Text.Encodings.Web/10.0.0": { "type": "package", "serviceable": true, @@ -2651,62 +1350,6 @@ "path": "system.text.json/10.0.0", "hashPath": "system.text.json.10.0.0.nupkg.sha512" }, - "System.Text.RegularExpressions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", - "path": "system.text.regularexpressions/4.3.0", - "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" - }, - "System.Threading/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", - "path": "system.threading/4.3.0", - "hashPath": "system.threading.4.3.0.nupkg.sha512" - }, - "System.Threading.Tasks/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "path": "system.threading.tasks/4.3.0", - "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" - }, - "System.Threading.Tasks.Extensions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", - "path": "system.threading.tasks.extensions/4.3.0", - "hashPath": "system.threading.tasks.extensions.4.3.0.nupkg.sha512" - }, - "System.Threading.Timer/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", - "path": "system.threading.timer/4.3.0", - "hashPath": "system.threading.timer.4.3.0.nupkg.sha512" - }, - "System.Windows.Extensions/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-IXoJOXIqc39AIe+CIR7koBtRGMiCt/LPM3lI+PELtDIy9XdyeSrwXFdWV9dzJ2Awl0paLWUaknLxFQ5HpHZUog==", - "path": "system.windows.extensions/6.0.0", - "hashPath": "system.windows.extensions.6.0.0.nupkg.sha512" - }, - "System.Xml.ReaderWriter/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", - "path": "system.xml.readerwriter/4.3.0", - "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" - }, - "System.Xml.XDocument/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", - "path": "system.xml.xdocument/4.3.0", - "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512" - }, "Telerik.UI.for.Wpf.NetCore.Xaml/2024.1.408": { "type": "package", "serviceable": true, diff --git a/XP.ReportEngine/Documents/XP.ReportEngine 模板定义.md b/XP.ReportEngine/Documents/XP.ReportEngine 模板定义.md new file mode 100644 index 0000000..a5d96a6 --- /dev/null +++ b/XP.ReportEngine/Documents/XP.ReportEngine 模板定义.md @@ -0,0 +1,328 @@ +# XP.ReportEngine 模板定义规范 + +## **一、模板结构总览** + +模板使用JSON格式定义,分为以下几个核心部分: + +1.  + +`document`:文档基础配置(页面尺寸、边距等)。 + +2.  + +`pages`:页面列表,每个页面包含元素列表。 + +3.  + +`elements`:页面中的具体元素(文本、表格、图片等)。 + +4.  + +`styles`:预定义的样式,可复用。 + +5.  + +`dataKey`:数据绑定字段,关联业务数据。 + +## **二、首页布局规范** + +**模板路径**:`Templates/Homepage.json` + +代码图标/24_new/复制 + +``` +{ + "document": { + "pageSize": "A4", + "orientation": "Portrait", + "margins": { "top": 30, "right": 20, "bottom": 20, "left": 20 } + }, + "pages": [ + { + "type": "homepage", + "elements": [ + { "type": "text", "content": "平面CT检测报告", "style": "title", "position": [10, 10] }, + { "type": "text", "content": "报告编号:${reportId}", "style": "subtitle", "position": [10, 40] }, + { "type": "text", "content": "检测日期:${inspectionDate}", "style": "subtitle", "position": [10, 60] }, + { "type": "text", "content": "样品名称:${sampleName}", "style": "subtitle", "position": [10, 80] }, + { "type": "divider", "position": [10, 100], "width": 190 }, + { "type": "table", "dataKey": "summaryData", "columns": [...], "position": [10, 120], "size": [190, 60] } + ] + } + ], + "styles": { + // ... 样式定义(见下文) + } +} +``` + +**关键要素说明**: + +1.  + +**标题与元数据**:顶部显示报告标题、编号、日期和样品名称。 + +2.  + +**摘要表格**:显示关键统计信息(如缺陷数量、合格率等),通过`summaryData`绑定数据。 + +3.  + +**分隔线**:视觉分隔标题与主体内容。 + +## **三、测量数据布局规范** + +**模板路径**:`Templates/MetricData.json` + +代码图标/24_new/复制 + +``` +{ + "pages": [ + { + "type": "metricData", + "elements": [ + { "type": "text", "content": "测量数据详情", "style": "sectionTitle", "position": [10, 10] }, + { "type": "table", "dataKey": "measurements", "columns": [ + { "header": "参数名称", "field": "parameter" }, + { "header": "测量值", "field": "value" }, + { "header": "单位", "field": "unit" } + ], "position": [10, 30], "size": [190, 100] } + ] + } + ], + "styles": { + // ... 样式定义(见下文) + } +} +``` + +**关键要素说明**: + +●  + +表格绑定`measurements`数据,列通过`field`属性绑定数据字段。 + +●  + +支持动态行数,自动调整表格高度。 + +## **四、缺陷检测布局规范** + +**模板路径**:`Templates/DefectDetails.json` + +代码图标/24_new/复制 + +``` +{ + "pages": [ + { + "type": "defectDetails", + "elements": [ + { "type": "text", "content": "缺陷检测结果", "style": "sectionTitle", "position": [10, 10] }, + { + "type": "grid", "dataKey": "defects", + "columns": [ + { "type": "image", "dataKey": "imagePath", "size": [90, 90], "border": true }, + { "type": "text", "content": "缺陷类型:${type}", "style": "gridText", "width": 100 }, + { "type": "text", "content": "位置:X=${x}, Y=${y}", "style": "gridText", "width": 100 } + ], + "position": [10, 30], "colWidth": 100, "rowHeight": 100 + } + ] + } + ], + "styles": { + "gridText": { "font": "Arial", "size": 10, "align": "left" } + } +} +``` + +**关键要素说明**: + +1.  + +**网格布局**:每行显示缺陷图片、类型和位置信息。 + +2.  + +使用`grid`元素自动排版多缺陷数据,支持水平滚动或分页。 + +3.  + +图片路径通过`imagePath`字段绑定,文本使用数据绑定语法(如`X=${x}`)。 + +## **五、BGA检测布局规范** + +**模板路径**:`Templates/BGAInspection.json` + +代码图标/24_new/复制 + +``` +{ + "pages": [ + { + "type": "bgaDetails", + "elements": [ + { "type": "text", "content": "BGA焊点检测结果", "style": "sectionTitle", "position": [10, 10] }, + { + "type": "image", "dataKey": "bgaTopViewImage", "position": [10, 30], "size": [190, 150], "border": true, + "annotations": [ + { "type": "point", "x": ${defectX}, "y": ${defectY}, "color": "red", "size": 5 } + ] + }, + { + "type": "table", "dataKey": "bgaMetrics", + "columns": [ "引脚编号", "焊锡高度", "偏移量" ], + "position": [10, 190], "size": [190, 80] + } + ] + } + ] +} +``` + +**关键要素说明**: + +1.  + +**图片标注**:在BGA俯视图上标记缺陷位置(通过`annotations`)。 + +2.  + +**表格显示参数**:焊锡高度、偏移量等数据。 + +3.  + +支持动态标注点,绑定缺陷坐标数据。 + +## **六、气泡检测布局规范** + +**模板路径**:`Templates/VoidInspection.json` + +代码图标/24_new/复制 + +``` +{ + "pages": [ + { + "type": "voidDetails", + "elements": [ + { "type": "text", "content": "气泡检测结果", "style": "sectionTitle", "position": [10, 10] }, + { + "type": "image", "dataKey": "voidImage", "position": [10, 30], "size": [190, 150], "border": true, + "annotations": [ + { "type": "circle", "x": ${bubbleX}, "y": ${bubbleY}, "radius": ${bubbleRadius}, "color": "blue" } + ] + }, + { "type": "text", "content": "总气泡数:${voidCount}", "style": "resultText", "position": [10, 190] }, + { "type": "text", "content": "最大气泡体积:${maxVoidVolume} mm³", "style": "resultText", "position": [10, 210] } + ] + } + ], + "styles": { + "resultText": { "font": "Arial", "size": 14, "bold": true } + } +} +``` + +**关键要素说明**: + +1.  + +**气泡可视化**:在图像上用圆形标注气泡位置、半径。 + +2.  + +**统计结果**:显示总数量、最大体积等关键指标。 + +3.  + +支持多气泡标注,数据绑定气泡坐标和尺寸。 + +## **七、通孔填锡率检测布局规范** + +**模板路径**:`Templates/ViaFillInspection.json` + +代码图标/24_new/复制 + +``` +{ + "pages": [ + { + "type": "viaFillDetails", + "elements": [ + { "type": "text", "content": "通孔填锡率检测结果", "style": "sectionTitle", "position": [10, 10] }, + { + "type": "image", "dataKey": "viaImage", "position": [10, 30], "size": [190, 150], "border": true, + "annotations": [ + { "type": "rectangle", "x": ${viaX}, "y": ${viaY}, "width": ${viaWidth}, "height": ${viaHeight}, "color": "green" } + ] + }, + { "type": "text", "content": "平均填锡率:${avgFillRate}%", "style": "resultText", "position": [10, 190] }, + { "type": "progressBar", "value": ${avgFillRate}, "position": [10, 220], "size": [190, 20], "color": "${fillRateColor(avgFillRate)}" } + ] + } + ], + "functions": { + "fillRateColor(value)": "return value >= 90 ? 'green' : value >= 70 ? 'orange' : 'red';" + } +} +``` + +**关键要素说明**: + +1.  + +**填锡率图示**:用矩形标注通孔位置,进度条显示填锡率。 + +2.  + +**颜色条件绑定**:通过函数`fillRateColor`根据数值动态设置颜色。 + +3.  + +支持多通孔标注,绑定位置和尺寸数据。 + +## **八、样式定义示例** + +代码图标/24_new/复制 + +``` +"styles": { + "title": { "font": "Arial", "size": 24, "bold": true, "color": "#000000" }, + "subtitle": { "font": "Arial", "size": 16, "italic": true, "color": "#666666" }, + "gridText": { "font": "Arial", "size": 10, "align": "left" }, + "resultText": { "font": "Arial", "size": 14, "bold": true } +} +``` + +**关键要素说明**: + +●  + +样式可复用,通过`style`属性引用。 + +●  + +支持字体、大小、颜色、对齐等属性配置。 + +**# 总结** + +●  + +**模块化设计**:各检测模块独立为单独模板文件,可灵活组合。 + +●  + +**数据绑定**:通过`${}`语法绑定业务数据(如`measurements`、`defects`等对象)。 + +●  + +**动态布局**:支持表格自适应高度、图片标注、条件样式等高级功能。 + +●  + +**可扩展性**:新增检测类型只需定义对应模板文件即可。 + +**备注**:实际使用时,需根据具体业务数据模型调整`dataKey`和字段名称,确保模板与输入数据匹配。 diff --git a/XP.ReportEngine/Documents/XP.ReportEngine 项目规划.md b/XP.ReportEngine/Documents/XP.ReportEngine 项目规划.md new file mode 100644 index 0000000..490c1a8 --- /dev/null +++ b/XP.ReportEngine/Documents/XP.ReportEngine 项目规划.md @@ -0,0 +1,422 @@ +# XP.ReportEngine 项目规划 + +## 一、项目结构优化 + +**1. 完整目录结构** + +``` +XP.ReportEngine/ +├── Interfaces/ +│ ├── IReportGenerator.cs // 报告生成器核心接口 +│ ├── ITemplateEngine.cs // 模板引擎接口 +│ └── IDataBinder.cs // 数据绑定接口 +├── Models/ +│ ├── ReportContext.cs // 报告上下文(包含测量数据、图片列表) +│ ├── ReportTemplate.cs // 报告模板定义 +│ ├── TemplateElement.cs // 模板元素定义 +│ └── LayoutSettings.cs // 布局配置参数 +├── Services/ +│ ├── MeasurementReportBuilder.cs // 测量报告构建器 +│ ├── ImageLayoutService.cs // 图片排版服务(计算坐标、缩放) +│ ├── TemplateEngine.cs // 模板引擎实现 +│ ├── DataBinder.cs // 数据绑定实现 +│ └── PdfGenerationService.cs // PDF生成核心服务 +├── Templates/ +│ └── StandardReportTemplate.json // 标准报告模板配置 +└── Extensions/ + └── ImageExtensions.cs // 图像处理扩展方法 +``` + +## 二、核心模块设计 + +### 1. 报告模板引擎 + +**1.1 模板定义规范** + +- **JSON模板结构**: + + ```json + { + "document": { + "pageSize": "A4", + "margins": { "top": 20, "bottom": 20, "left": 20, "right": 20 } + }, + "pages": [ + { + "type": "title", + "elements": [ + { "type": "text", "content": "工业CT检测报告", "style": "title", "position": [10, 10] }, + { "type": "text", "content": "报告日期: ${reportDate}", "style": "subtitle", "position": [10, 30] } + ] + }, + { + "type": "measurement", + "elements": [ + { "type": "table", "dataKey": "measurements", "position": [10, 10], "size": [190, 100] }, + { "type": "image", "dataKey": "overviewImage", "position": [10, 120], "size": [190, 100] } + ] + }, + { + "type": "defectDetail", + "elements": [ + { "type": "image", "dataKey": "defectImage", "position": [10, 10], "size": [90, 90] }, + { "type": "text", "content": "缺陷类型: ${defectType}", "style": "normal", "position": [10, 100] } + ] + } + ], + "styles": { + "title": { "font": "Arial", "size": 24, "bold": true, "color": "#000000" }, + "subtitle": { "font": "Arial", "size": 16, "italic": true, "color": "#666666" }, + "normal": { "font": "Arial", "size": 12, "color": "#000000" } + } + } + ``` + +**1.2 模板引擎实现** + +- **模板加载与解析**: + + ```csharp + public class TemplateEngine : ITemplateEngine + { + public ReportTemplate LoadTemplate(string templatePath) + { + var json = File.ReadAllText(templatePath); + return JsonConvert.DeserializeObject(json); + } + + public List ParseTemplate(ReportTemplate template, ReportContext context) + { + var elements = new List(); + + foreach (var page in template.Pages) + { + foreach (var element in page.Elements) + { + // 处理数据绑定 + var boundElement = BindData(element, context); + elements.Add(boundElement); + } + } + + return elements; + } + + private PageElement BindData(PageElement element, ReportContext context) + { + // 实现数据绑定逻辑 + if (element.Type == "text" && element.Content.Contains("${")) + { + element.Content = DataBinder.Bind(element.Content, context); + } + return element; + } + } + ``` + +### 2. 数据绑定系统 + +**2.1 数据绑定机制** + +- **支持的绑定语法**: + - `${propertyName}` - 基本属性绑定 + - `${object.property}` - 对象属性绑定 + - `${list[index]}` - 列表索引访问 + - `${function(param)}` - 函数调用(如日期格式化) + +**2.2 数据绑定实现** + +```csharp +public class DataBinder : IDataBinder +{ + public string Bind(string template, ReportContext context) + { + // 使用正则表达式匹配绑定表达式 + var pattern = @"\$\{([^\}]+)\}"; + return Regex.Replace(template, pattern, match => + { + var expression = match.Groups[1].Value; + return EvaluateExpression(expression, context); + }); + } + + private string EvaluateExpression(string expression, ReportContext context) + { + // 解析表达式并获取值 + if (expression.Contains(".")) + { + // 处理对象属性 + var parts = expression.Split('.'); + var obj = context.GetType().GetProperty(parts[0])?.GetValue(context); + return obj?.GetType().GetProperty(parts[1])?.GetValue(obj)?.ToString() ?? string.Empty; + } + else if (expression.Contains("[")) + { + // 处理列表索引 + var index = int.Parse(expression.Split('[')[1].TrimEnd(']')); + return context.Images.Count > index ? "Image" : string.Empty; + } + else + { + // 处理基本属性 + return context.GetType().GetProperty(expression)?.GetValue(context)?.ToString() ?? string.Empty; + } + } +} +``` + +### 3. 自动排版功能 + +**3.1 布局引擎设计** + +- **核心功能**: + - **页面分隔**: 当内容超出一页时自动创建新页 + - **元素定位**: 根据模板定义计算元素在页面上的精确位置 + - **尺寸计算**: 自动调整元素大小以适应内容 + - **响应式布局**: 根据页面尺寸动态调整元素位置 + +**3.2 排版服务实现** + +```csharp +public class ImageLayoutService +{ + public LayoutResult CalculateLayout(ReportTemplate template, ReportContext context) + { + var result = new LayoutResult(); + var currentPage = 0; + var currentY = template.Document.Margins.Top; + + foreach (var page in template.Pages) + { + foreach (var element in page.Elements) + { + // 计算元素位置 + var position = new Point( + template.Document.Margins.Left + element.Position[0], + currentY + element.Position[1] + ); + + // 计算元素尺寸 + var size = new Size(element.Size[0], element.Size[1]); + + // 检查是否需要换页 + if (position.Y + size.Height > PageSize.A4.Height - template.Document.Margins.Bottom) + { + currentPage++; + currentY = template.Document.Margins.Top; + position = new Point( + template.Document.Margins.Left + element.Position[0], + currentY + element.Position[1] + ); + } + + // 添加到布局结果 + result.Elements.Add(new LayoutElement + { + Page = currentPage, + Element = element, + Position = position, + Size = size + }); + + // 更新当前Y位置 + currentY = position.Y + size.Height; + } + } + + return result; + } +} +``` + +### 4. 图表嵌入实现 + +**4.1 WPF图表转PDF图像** + +- **实现方案**: + - 使用`RenderTargetBitmap`将WPF控件渲染为位图 + - 支持高质量图像输出(300 DPI) + - 提供图像压缩选项,平衡质量与文件大小 + +**4.2 图像转换服务** + +```csharp +public static class ImageExtensions +{ + public static byte[] ToPdfImage(this ImageSource image, double width, double height) + { + var renderTarget = new RenderTargetBitmap( + (int)width, (int)height, + 96, 96, PixelFormats.Pbgra32); + + renderTarget.Render(image); + + using (var stream = new MemoryStream()) + { + var encoder = new PngBitmapEncoder(); + encoder.Frames.Add(BitmapFrame.Create(renderTarget)); + encoder.Save(stream); + return stream.ToArray(); + } + } + + public static byte[] ToPdfImage(this FrameworkElement element, double width, double height) + { + var renderTarget = new RenderTargetBitmap( + (int)width, (int)height, + 96, 96, PixelFormats.Pbgra32); + + renderTarget.Render(element); + + using (var stream = new MemoryStream()) + { + var encoder = new PngBitmapEncoder(); + encoder.Frames.Add(BitmapFrame.Create(renderTarget)); + encoder.Save(stream); + return stream.ToArray(); + } + } +} +``` + +## 三、PDF生成核心流程 + +### 1. 生成步骤 + +1. **加载模板**: 从Templates目录加载JSON模板 +2. **解析上下文**: 将MeasurementData和图片列表转换为ReportContext +3. **数据绑定**: 将上下文数据绑定到模板中的占位符 +4. **计算布局**: 确定每个元素在PDF页面上的精确位置 +5. **生成PDF**: 使用iTextSharp绘制内容到PDF文档 +6. **输出结果**: 返回MemoryStream或保存为文件 + +### 2. 核心生成服务 + +```csharp +public class PdfGenerationService +{ + public MemoryStream GeneratePdf(ReportContext context, string templatePath) + { + // 1. 加载模板 + var templateEngine = new TemplateEngine(); + var template = templateEngine.LoadTemplate(templatePath); + + // 2. 解析模板元素 + var elements = templateEngine.ParseTemplate(template, context); + + // 3. 计算布局 + var layoutService = new ImageLayoutService(); + var layout = layoutService.CalculateLayout(template, context); + + // 4. 创建PDF文档 + var document = new Document(PageSize.A4, + template.Document.Margins.Left, + template.Document.Margins.Right, + template.Document.Margins.Top, + template.Document.Margins.Bottom); + + var stream = new MemoryStream(); + var writer = PdfWriter.GetInstance(document, stream); + document.Open(); + + // 5. 绘制内容 + DrawContent(document, layout, context); + + // 6. 关闭文档 + document.Close(); + + return stream; + } + + private void DrawContent(Document document, LayoutResult layout, ReportContext context) + { + // 实现内容绘制逻辑 + foreach (var element in layout.Elements) + { + switch (element.Element.Type) + { + case "text": + DrawText(document, element); + break; + case "image": + DrawImage(document, element, context); + break; + case "table": + DrawTable(document, element, context); + break; + } + } + } + + private void DrawText(Document document, LayoutElement element) + { + var paragraph = new Paragraph(element.Element.Content); + paragraph.SetLocation(element.Position.X, document.PageSize.Height - element.Position.Y); + document.Add(paragraph); + } + + private void DrawImage(Document document, LayoutElement element, ReportContext context) + { + // 获取图像数据 + var imageData = context.Images.FirstOrDefault(); + if (imageData == null) return; + + // 创建iTextSharp图像对象 + var image = Image.GetInstance(imageData); + image.SetAbsolutePosition(element.Position.X, document.PageSize.Height - element.Position.Y - element.Size.Height); + image.ScaleToFit(element.Size.Width, element.Size.Height); + + document.Add(image); + } + + private void DrawTable(Document document, LayoutElement element, ReportContext context) + { + // 创建表格 + var table = new PdfPTable(3); // 假设3列 + table.WidthPercentage = 100; + + // 添加表头 + table.AddCell(new PdfPCell(new Phrase("参数", new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD)))); + table.AddCell(new PdfPCell(new Phrase("测量值", new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD)))); + table.AddCell(new PdfPCell(new Phrase("标准值", new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD)))); + + // 添加数据行 + foreach (var measurement in context.Measurements) + { + table.AddCell(new PdfPCell(new Phrase(measurement.Parameter))); + table.AddCell(new PdfPCell(new Phrase(measurement.Value.ToString()))); + table.AddCell(new PdfPCell(new Phrase(measurement.StandardValue.ToString()))); + } + + document.Add(table); + } +} +``` + +## 四、最佳实践与建议 + +### 1. 性能优化 + +- **图像处理**: 对大尺寸图像进行**压缩和缩放**,避免PDF文件过大 +- **内存管理**: 使用`using`语句确保资源及时释放 +- **批量处理**: 对大量数据采用**分批处理**策略,避免UI冻结 + +### 2. 错误处理 + +- 实现**完善的异常捕获**机制,特别是图像转换和PDF生成环节 +- 提供**友好的错误提示**,便于问题排查 +- 添加**日志记录**功能,跟踪报告生成过程 + +### 3. 样式管理 + +- 创建**样式库**,统一字体、颜色、间距等 +- 支持**主题切换**,适应不同客户的品牌要求 +- 确保**打印友好**,考虑黑白打印时的可读性 + +### 4. 扩展性考虑 + +- **插件架构**: 设计可扩展的插件系统,便于添加新功能 +- **多格式输出**: 基于相同架构,扩展支持Word、Excel等格式输出 +- **云服务集成**: 考虑与云存储集成,自动上传生成的报告 + +通过以上设计,XP.ReportEngine将成为一个**灵活、高效、可维护**的PDF报告生成系统,满足工业CT检测报告的专业需求,同时保持系统的扩展性和易用性。 diff --git a/XP.ReportEngine/ReportEngineModule.cs b/XP.ReportEngine/ReportEngineModule.cs new file mode 100644 index 0000000..1665670 --- /dev/null +++ b/XP.ReportEngine/ReportEngineModule.cs @@ -0,0 +1,19 @@ +using Prism.Ioc; +using Prism.Modularity; +using XP.ReportEngine.Views; + +namespace XP.ReportEngine +{ + public class ReportEngineModule : IModule + { + public void OnInitialized(IContainerProvider containerProvider) + { + + } + + public void RegisterTypes(IContainerRegistry containerRegistry) + { + + } + } +} \ No newline at end of file diff --git a/XP.ReportEngine/ViewModels/ViewAViewModel.cs b/XP.ReportEngine/ViewModels/ViewAViewModel.cs new file mode 100644 index 0000000..188146b --- /dev/null +++ b/XP.ReportEngine/ViewModels/ViewAViewModel.cs @@ -0,0 +1,25 @@ +using Prism.Commands; +using Prism.Mvvm; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace XP.ReportEngine.ViewModels +{ + public class ViewAViewModel : BindableBase + { + private string _message; + public string Message + { + get { return _message; } + set { SetProperty(ref _message, value); } + } + + public ViewAViewModel() + { + Message = "View A from your Prism Module"; + } + } +} diff --git a/XP.ReportEngine/Views/ViewA.xaml b/XP.ReportEngine/Views/ViewA.xaml new file mode 100644 index 0000000..124944c --- /dev/null +++ b/XP.ReportEngine/Views/ViewA.xaml @@ -0,0 +1,16 @@ + + + + + diff --git a/XP.ReportEngine/Views/ViewA.xaml.cs b/XP.ReportEngine/Views/ViewA.xaml.cs new file mode 100644 index 0000000..d31ba7a --- /dev/null +++ b/XP.ReportEngine/Views/ViewA.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace XP.ReportEngine.Views +{ + /// + /// Interaction logic for ViewA.xaml + /// + public partial class ViewA : UserControl + { + public ViewA() + { + InitializeComponent(); + } + } +} diff --git a/XP.ReportEngine/XP.ReportEngine.csproj b/XP.ReportEngine/XP.ReportEngine.csproj new file mode 100644 index 0000000..ad1209d --- /dev/null +++ b/XP.ReportEngine/XP.ReportEngine.csproj @@ -0,0 +1,16 @@ + + + net8.0-windows7.0 + true + + + + + + + + + + + + \ No newline at end of file diff --git a/XplorePlane.sln b/XplorePlane.sln index c43f265..ece241e 100644 --- a/XplorePlane.sln +++ b/XplorePlane.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.14.36811.4 +# Visual Studio Version 18 +VisualStudioVersion = 18.5.11723.231 stable MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XplorePlane", "XplorePlane\XplorePlane.csproj", "{07978DB9-4B88-4F42-9054-73992742BD6A}" EndProject @@ -66,6 +66,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XP.Calibration", "XP.Calibr EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "XP.Calibration", "XP.Calibration", "{D4E5F6A7-B8C9-0123-4567-89ABCDEF0123}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XP.ReportEngine", "XP.ReportEngine\XP.ReportEngine.csproj", "{809A8588-F64C-4738-8827-CFBC59943DBF}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -268,6 +270,18 @@ Global {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x64.Build.0 = Release|Any CPU {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x86.ActiveCfg = Release|Any CPU {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x86.Build.0 = Release|Any CPU + {809A8588-F64C-4738-8827-CFBC59943DBF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {809A8588-F64C-4738-8827-CFBC59943DBF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {809A8588-F64C-4738-8827-CFBC59943DBF}.Debug|x64.ActiveCfg = Debug|Any CPU + {809A8588-F64C-4738-8827-CFBC59943DBF}.Debug|x64.Build.0 = Debug|Any CPU + {809A8588-F64C-4738-8827-CFBC59943DBF}.Debug|x86.ActiveCfg = Debug|Any CPU + {809A8588-F64C-4738-8827-CFBC59943DBF}.Debug|x86.Build.0 = Debug|Any CPU + {809A8588-F64C-4738-8827-CFBC59943DBF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {809A8588-F64C-4738-8827-CFBC59943DBF}.Release|Any CPU.Build.0 = Release|Any CPU + {809A8588-F64C-4738-8827-CFBC59943DBF}.Release|x64.ActiveCfg = Release|Any CPU + {809A8588-F64C-4738-8827-CFBC59943DBF}.Release|x64.Build.0 = Release|Any CPU + {809A8588-F64C-4738-8827-CFBC59943DBF}.Release|x86.ActiveCfg = Release|Any CPU + {809A8588-F64C-4738-8827-CFBC59943DBF}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE