diff --git a/.idea/.idea.DiscImageChef/.idea/contentModel.xml b/.idea/.idea.DiscImageChef/.idea/contentModel.xml index d52253f6b..2e82c3c83 100644 --- a/.idea/.idea.DiscImageChef/.idea/contentModel.xml +++ b/.idea/.idea.DiscImageChef/.idea/contentModel.xml @@ -81,6 +81,9 @@ + + + @@ -144,6 +147,9 @@ + + + @@ -163,6 +169,9 @@ + + + @@ -175,6 +184,9 @@ + + + @@ -252,6 +264,9 @@ + + + @@ -301,6 +316,9 @@ + + + @@ -457,6 +475,9 @@ + + + @@ -532,6 +553,9 @@ + + + @@ -1068,6 +1092,9 @@ + + + @@ -1221,6 +1248,9 @@ + + + @@ -1244,6 +1274,9 @@ + + + @@ -1260,6 +1293,9 @@ + + + @@ -1283,6 +1319,9 @@ + + + @@ -1316,6 +1355,9 @@ + + + @@ -1392,6 +1434,9 @@ + + + diff --git a/DiscImageChef.Checksums/DiscImageChef.Checksums.csproj b/DiscImageChef.Checksums/DiscImageChef.Checksums.csproj index febea8af3..5b1224615 100644 --- a/DiscImageChef.Checksums/DiscImageChef.Checksums.csproj +++ b/DiscImageChef.Checksums/DiscImageChef.Checksums.csproj @@ -10,7 +10,6 @@ DiscImageChef.Checksums $(Version) false - net461 true 4.5.99.1693 Claunia.com @@ -18,6 +17,7 @@ The Disc Image Chef DiscImageChef.Checksums $(Version) + net461;netstandard2.0 $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} diff --git a/DiscImageChef.Checksums/RIPEMD160Context.cs b/DiscImageChef.Checksums/RIPEMD160Context.cs index a77300dab..fefedee03 100644 --- a/DiscImageChef.Checksums/RIPEMD160Context.cs +++ b/DiscImageChef.Checksums/RIPEMD160Context.cs @@ -30,6 +30,8 @@ // Copyright © 2011-2018 Natalia Portillo // ****************************************************************************/ +#if !NETSTANDARD2_0 + using System.IO; using System.Security.Cryptography; using System.Text; @@ -152,4 +154,6 @@ namespace DiscImageChef.Checksums return Data(data, (uint)data.Length, out hash); } } -} \ No newline at end of file +} + +#endif \ No newline at end of file diff --git a/DiscImageChef.CommonTypes/DiscImageChef.CommonTypes.csproj b/DiscImageChef.CommonTypes/DiscImageChef.CommonTypes.csproj index 82a6cf82d..cacec77fd 100644 --- a/DiscImageChef.CommonTypes/DiscImageChef.CommonTypes.csproj +++ b/DiscImageChef.CommonTypes/DiscImageChef.CommonTypes.csproj @@ -10,7 +10,6 @@ DiscImageChef.CommonTypes $(Version) false - net461 true 4.5.99.1693 Claunia.com @@ -18,6 +17,7 @@ The Disc Image Chef DiscImageChef.CommonTypes $(Version) + net461;netstandard2.0 $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} diff --git a/DiscImageChef.Compression/DiscImageChef.Compression.csproj b/DiscImageChef.Compression/DiscImageChef.Compression.csproj index 8301c0654..cd8ef9192 100644 --- a/DiscImageChef.Compression/DiscImageChef.Compression.csproj +++ b/DiscImageChef.Compression/DiscImageChef.Compression.csproj @@ -11,7 +11,6 @@ 512 $(Version) false - net461 true 4.5.99.1693 Claunia.com @@ -19,6 +18,7 @@ The Disc Image Chef The Disc Image Chef $(Version) + net461;netstandard2.0 $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} diff --git a/DiscImageChef.Console/DiscImageChef.Console.csproj b/DiscImageChef.Console/DiscImageChef.Console.csproj index 9a1eb1cca..526fa4d31 100644 --- a/DiscImageChef.Console/DiscImageChef.Console.csproj +++ b/DiscImageChef.Console/DiscImageChef.Console.csproj @@ -10,7 +10,6 @@ DiscImageChef.Console $(Version) false - net461 true 4.5.99.1693 Claunia.com @@ -18,6 +17,7 @@ The Disc Image Chef DiscImageChef.Console $(Version) + net461;netstandard2.0 $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} diff --git a/DiscImageChef.Core/Benchmark.cs b/DiscImageChef.Core/Benchmark.cs index d7b3d74bc..d480234f9 100644 --- a/DiscImageChef.Core/Benchmark.cs +++ b/DiscImageChef.Core/Benchmark.cs @@ -361,6 +361,7 @@ namespace DiscImageChef.Core results.SeparateTime += (end - start).TotalSeconds; #endregion MD5 +#if !NETSTANDARD2_0 #region RIPEMD160 ctx = new Ripemd160Context(); ms.Seek(0, SeekOrigin.Begin); @@ -392,6 +393,7 @@ namespace DiscImageChef.Core }); results.SeparateTime += (end - start).TotalSeconds; #endregion RIPEMD160 +#endif #region SHA1 ctx = new Sha1Context(); diff --git a/DiscImageChef.Core/Checksum.cs b/DiscImageChef.Core/Checksum.cs index cc46841ff..07b5c857b 100644 --- a/DiscImageChef.Core/Checksum.cs +++ b/DiscImageChef.Core/Checksum.cs @@ -47,7 +47,9 @@ namespace DiscImageChef.Core Crc32 = 4, Crc64 = 8, Md5 = 16, +#if !NETSTANDARD2_0 Ripemd160 = 32, +#endif Sha1 = 64, Sha256 = 128, Sha384 = 256, @@ -55,7 +57,11 @@ namespace DiscImageChef.Core SpamSum = 1024, Fletcher16 = 2048, Fletcher32 = 4096, - All = Adler32 | Crc16 | Crc32 | Crc64 | Md5 | Ripemd160 | Sha1 | Sha256 | Sha384 | Sha512 | SpamSum | + All = Adler32 | Crc16 | Crc32 | Crc64 | Md5 | +#if !NETSTANDARD2_0 + Ripemd160 | +#endif + Sha1 | Sha256 | Sha384 | Sha512 | SpamSum | Fletcher16 | Fletcher32 } @@ -86,9 +92,11 @@ namespace DiscImageChef.Core IChecksum md5Ctx; HashPacket md5Pkt; Thread md5Thread; +#if !NETSTANDARD2_0 IChecksum ripemd160Ctx; HashPacket ripemd160Pkt; Thread ripemd160Thread; +#endif IChecksum sha1Ctx; HashPacket sha1Pkt; Thread sha1Thread; @@ -139,11 +147,13 @@ namespace DiscImageChef.Core md5Pkt = new HashPacket {Context = md5Ctx}; } +#if !NETSTANDARD2_0 if(enabled.HasFlag(EnableChecksum.Ripemd160)) { ripemd160Ctx = new Ripemd160Context(); ripemd160Pkt = new HashPacket {Context = ripemd160Ctx}; } +#endif if(enabled.HasFlag(EnableChecksum.Sha1)) { @@ -192,7 +202,9 @@ namespace DiscImageChef.Core crc32Thread = new Thread(UpdateHash); crc64Thread = new Thread(UpdateHash); md5Thread = new Thread(UpdateHash); +#if !NETSTANDARD2_0 ripemd160Thread = new Thread(UpdateHash); +#endif sha1Thread = new Thread(UpdateHash); sha256Thread = new Thread(UpdateHash); sha384Thread = new Thread(UpdateHash); @@ -234,11 +246,13 @@ namespace DiscImageChef.Core md5Thread.Start(md5Pkt); } +#if !NETSTANDARD2_0 if(enabled.HasFlag(EnableChecksum.Ripemd160)) { ripemd160Pkt.Data = data; ripemd160Thread.Start(ripemd160Pkt); } +#endif if(enabled.HasFlag(EnableChecksum.Sha1)) { @@ -283,7 +297,11 @@ namespace DiscImageChef.Core } while(adlerThread.IsAlive || crc16Thread.IsAlive || crc32Thread.IsAlive || crc64Thread.IsAlive || - md5Thread.IsAlive || ripemd160Thread.IsAlive || sha1Thread.IsAlive || sha256Thread.IsAlive || + md5Thread.IsAlive || +#if !NETSTANDARD2_0 + ripemd160Thread.IsAlive || +#endif + sha1Thread.IsAlive || sha256Thread.IsAlive || sha384Thread.IsAlive || sha512Thread.IsAlive || spamsumThread.IsAlive || f16Thread.IsAlive || f32Thread.IsAlive) { } @@ -292,7 +310,9 @@ namespace DiscImageChef.Core if(enabled.HasFlag(EnableChecksum.SpamSum)) crc32Thread = new Thread(UpdateHash); if(enabled.HasFlag(EnableChecksum.SpamSum)) crc64Thread = new Thread(UpdateHash); if(enabled.HasFlag(EnableChecksum.SpamSum)) md5Thread = new Thread(UpdateHash); +#if !NETSTANDARD2_0 if(enabled.HasFlag(EnableChecksum.SpamSum)) ripemd160Thread = new Thread(UpdateHash); +#endif if(enabled.HasFlag(EnableChecksum.SpamSum)) sha1Thread = new Thread(UpdateHash); if(enabled.HasFlag(EnableChecksum.SpamSum)) sha256Thread = new Thread(UpdateHash); if(enabled.HasFlag(EnableChecksum.SpamSum)) sha384Thread = new Thread(UpdateHash); @@ -338,11 +358,13 @@ namespace DiscImageChef.Core chks.Add(chk); } +#if !NETSTANDARD2_0 if(enabled.HasFlag(EnableChecksum.Ripemd160)) { chk = new ChecksumType {type = ChecksumTypeType.ripemd160, Value = ripemd160Ctx.End()}; chks.Add(chk); } +#endif if(enabled.HasFlag(EnableChecksum.Sha1)) { @@ -395,7 +417,9 @@ namespace DiscImageChef.Core IChecksum crc32CtxData = null; IChecksum crc64CtxData = null; IChecksum md5CtxData = null; +#if !NETSTANDARD2_0 IChecksum ripemd160CtxData = null; +#endif IChecksum sha1CtxData = null; IChecksum sha256CtxData = null; IChecksum sha384CtxData = null; @@ -409,7 +433,9 @@ namespace DiscImageChef.Core Thread crc32ThreadData = new Thread(UpdateHash); Thread crc64ThreadData = new Thread(UpdateHash); Thread md5ThreadData = new Thread(UpdateHash); +#if !NETSTANDARD2_0 Thread ripemd160ThreadData = new Thread(UpdateHash); +#endif Thread sha1ThreadData = new Thread(UpdateHash); Thread sha256ThreadData = new Thread(UpdateHash); Thread sha384ThreadData = new Thread(UpdateHash); @@ -418,70 +444,72 @@ namespace DiscImageChef.Core Thread f16ThreadData = new Thread(UpdateHash); Thread f32ThreadData = new Thread(UpdateHash); - if(enabled.HasFlag(EnableChecksum.SpamSum)) + if(enabled.HasFlag(EnableChecksum.Adler32)) { adler32CtxData = new Adler32Context(); HashPacket adlerPktData = new HashPacket {Context = adler32CtxData, Data = data}; adlerThreadData.Start(adlerPktData); } - if(enabled.HasFlag(EnableChecksum.SpamSum)) + if(enabled.HasFlag(EnableChecksum.Crc16)) { crc16CtxData = new Crc16Context(); HashPacket crc16PktData = new HashPacket {Context = crc16CtxData, Data = data}; crc16ThreadData.Start(crc16PktData); } - if(enabled.HasFlag(EnableChecksum.SpamSum)) + if(enabled.HasFlag(EnableChecksum.Crc32)) { crc32CtxData = new Crc32Context(); HashPacket crc32PktData = new HashPacket {Context = crc32CtxData, Data = data}; crc32ThreadData.Start(crc32PktData); } - if(enabled.HasFlag(EnableChecksum.SpamSum)) + if(enabled.HasFlag(EnableChecksum.Crc64)) { crc64CtxData = new Crc64Context(); HashPacket crc64PktData = new HashPacket {Context = crc64CtxData, Data = data}; crc64ThreadData.Start(crc64PktData); } - if(enabled.HasFlag(EnableChecksum.SpamSum)) + if(enabled.HasFlag(EnableChecksum.Md5)) { md5CtxData = new Md5Context(); HashPacket md5PktData = new HashPacket {Context = md5CtxData, Data = data}; md5ThreadData.Start(md5PktData); } - if(enabled.HasFlag(EnableChecksum.SpamSum)) +#if !NETSTANDARD2_0 + if(enabled.HasFlag(EnableChecksum.Ripemd160)) { ripemd160CtxData = new Ripemd160Context(); HashPacket ripemd160PktData = new HashPacket {Context = ripemd160CtxData, Data = data}; ripemd160ThreadData.Start(ripemd160PktData); } +#endif - if(enabled.HasFlag(EnableChecksum.SpamSum)) + if(enabled.HasFlag(EnableChecksum.Sha1)) { sha1CtxData = new Sha1Context(); HashPacket sha1PktData = new HashPacket {Context = sha1CtxData, Data = data}; sha1ThreadData.Start(sha1PktData); } - if(enabled.HasFlag(EnableChecksum.SpamSum)) + if(enabled.HasFlag(EnableChecksum.Sha256)) { sha256CtxData = new Sha256Context(); HashPacket sha256PktData = new HashPacket {Context = sha256CtxData, Data = data}; sha256ThreadData.Start(sha256PktData); } - if(enabled.HasFlag(EnableChecksum.SpamSum)) + if(enabled.HasFlag(EnableChecksum.Sha384)) { sha384CtxData = new Sha384Context(); HashPacket sha384PktData = new HashPacket {Context = sha384CtxData, Data = data}; sha384ThreadData.Start(sha384PktData); } - if(enabled.HasFlag(EnableChecksum.SpamSum)) + if(enabled.HasFlag(EnableChecksum.Sha512)) { sha512CtxData = new Sha512Context(); HashPacket sha512PktData = new HashPacket {Context = sha512CtxData, Data = data}; @@ -510,7 +538,10 @@ namespace DiscImageChef.Core } while(adlerThreadData.IsAlive || crc16ThreadData.IsAlive || crc32ThreadData.IsAlive || - crc64ThreadData.IsAlive || md5ThreadData.IsAlive || ripemd160ThreadData.IsAlive || + crc64ThreadData.IsAlive || md5ThreadData.IsAlive || +#if !NETSTANDARD2_0 + ripemd160ThreadData.IsAlive || +#endif sha1ThreadData.IsAlive || sha256ThreadData.IsAlive || sha384ThreadData.IsAlive || sha512ThreadData.IsAlive || spamsumThreadData.IsAlive || f16ThreadData.IsAlive || f32ThreadData.IsAlive) { } @@ -548,11 +579,13 @@ namespace DiscImageChef.Core dataChecksums.Add(chk); } +#if !NETSTANDARD2_0 if(enabled.HasFlag(EnableChecksum.Ripemd160)) { chk = new ChecksumType {type = ChecksumTypeType.ripemd160, Value = ripemd160CtxData.End()}; dataChecksums.Add(chk); } +#endif if(enabled.HasFlag(EnableChecksum.Sha1)) { diff --git a/DiscImageChef.Core/DiscImageChef.Core.csproj b/DiscImageChef.Core/DiscImageChef.Core.csproj index 402db4173..19f4bb458 100644 --- a/DiscImageChef.Core/DiscImageChef.Core.csproj +++ b/DiscImageChef.Core/DiscImageChef.Core.csproj @@ -10,7 +10,6 @@ DiscImageChef.Core $(Version) false - net461 true 4.5.99.1693 Claunia.com @@ -18,6 +17,7 @@ The Disc Image Chef DiscImageChef.Core $(Version) + net461;netstandard2.0 $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} diff --git a/DiscImageChef.Database/DiscImageChef.Database.csproj b/DiscImageChef.Database/DiscImageChef.Database.csproj index 71c19d2ff..1ac3fda51 100644 --- a/DiscImageChef.Database/DiscImageChef.Database.csproj +++ b/DiscImageChef.Database/DiscImageChef.Database.csproj @@ -9,7 +9,6 @@ DiscImageChef.Database $(Version) false - net461 true 4.5.99.1693 Claunia.com @@ -17,6 +16,7 @@ The Disc Image Chef DiscImageChef.Database $(Version) + net461;netstandard2.0 $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} diff --git a/DiscImageChef.Decoders/DiscImageChef.Decoders.csproj b/DiscImageChef.Decoders/DiscImageChef.Decoders.csproj index 765bcdcbd..82d05f815 100644 --- a/DiscImageChef.Decoders/DiscImageChef.Decoders.csproj +++ b/DiscImageChef.Decoders/DiscImageChef.Decoders.csproj @@ -10,7 +10,6 @@ DiscImageChef.Decoders $(Version) false - net461 true 4.5.99.1693 Claunia.com @@ -18,6 +17,7 @@ The Disc Image Chef DiscImageChef.Decoders $(Version) + net461;netstandard2.0 $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} diff --git a/DiscImageChef.Devices/DiscImageChef.Devices.csproj b/DiscImageChef.Devices/DiscImageChef.Devices.csproj index d50028206..96b038785 100644 --- a/DiscImageChef.Devices/DiscImageChef.Devices.csproj +++ b/DiscImageChef.Devices/DiscImageChef.Devices.csproj @@ -10,7 +10,6 @@ DiscImageChef.Devices $(Version) false - net461 true 4.5.99.1693 Claunia.com @@ -18,6 +17,7 @@ The Disc Image Chef DiscImageChef.Devices $(Version) + net461;netstandard2.0 $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} diff --git a/DiscImageChef.Devices/Windows/ListDevices.cs b/DiscImageChef.Devices/Windows/ListDevices.cs index c47057c9c..cdde3a351 100644 --- a/DiscImageChef.Devices/Windows/ListDevices.cs +++ b/DiscImageChef.Devices/Windows/ListDevices.cs @@ -34,7 +34,9 @@ using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Linq; +#if !NETSTANDARD2_0 using System.Management; +#endif using System.Runtime.InteropServices; using System.Text; using Microsoft.Win32.SafeHandles; @@ -66,8 +68,10 @@ namespace DiscImageChef.Devices.Windows [SuppressMessage("ReSharper", "RedundantCatchClause")] internal static DeviceInfo[] GetList() { + // TODO: Any way to fill this in .NET Standard ??? List deviceIDs = new List(); + #if !NETSTANDARD2_0 try { ManagementObjectSearcher mgmtObjSearcher = @@ -94,6 +98,7 @@ namespace DiscImageChef.Devices.Windows return null; #endif } + #endif List devList = new List(); diff --git a/DiscImageChef.DiscImages/DiscImageChef.DiscImages.csproj b/DiscImageChef.DiscImages/DiscImageChef.DiscImages.csproj index 7b7301a73..492a84bb1 100644 --- a/DiscImageChef.DiscImages/DiscImageChef.DiscImages.csproj +++ b/DiscImageChef.DiscImages/DiscImageChef.DiscImages.csproj @@ -10,7 +10,6 @@ DiscImageChef.DiscImages $(Version) false - net461 true 4.5.99.1693 Claunia.com @@ -18,6 +17,7 @@ The Disc Image Chef DiscImageChef.DiscImages $(Version) + net461;netstandard2.0 $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} diff --git a/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj b/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj index 2e3595fe0..81202456d 100644 --- a/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj +++ b/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj @@ -10,7 +10,6 @@ DiscImageChef.Filesystems $(Version) false - net461 true 4.5.99.1693 Claunia.com @@ -18,6 +17,7 @@ The Disc Image Chef DiscImageChef.Filesystems $(Version) + net461;netstandard2.0 $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} diff --git a/DiscImageChef.Filters/DiscImageChef.Filters.csproj b/DiscImageChef.Filters/DiscImageChef.Filters.csproj index 632ade0b2..7e3bd1de4 100644 --- a/DiscImageChef.Filters/DiscImageChef.Filters.csproj +++ b/DiscImageChef.Filters/DiscImageChef.Filters.csproj @@ -10,7 +10,6 @@ DiscImageChef.Filters $(Version) false - net461 true 4.5.99.1693 Claunia.com @@ -18,6 +17,7 @@ The Disc Image Chef DiscImageChef.Filters $(Version) + net461;netstandard2.0 $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} diff --git a/DiscImageChef.Filters/OffsetStream.cs b/DiscImageChef.Filters/OffsetStream.cs index f65331ce0..ad421534d 100644 --- a/DiscImageChef.Filters/OffsetStream.cs +++ b/DiscImageChef.Filters/OffsetStream.cs @@ -32,7 +32,9 @@ using System; using System.IO; +#if !NETSTANDARD2_0 using System.Security.AccessControl; +#endif using Microsoft.Win32.SafeHandles; namespace DiscImageChef.Filters @@ -118,6 +120,7 @@ namespace DiscImageChef.Filters if(end > baseStream.Length) throw new ArgumentOutOfRangeException(nameof(end), "End is after stream end."); } +#if !NETSTANDARD2_0 public OffsetStream(string path, FileMode mode, FileSystemRights rights, FileShare share, int bufferSize, FileOptions options, long start, long end) @@ -149,6 +152,7 @@ namespace DiscImageChef.Filters if(end > baseStream.Length) throw new ArgumentOutOfRangeException(nameof(end), "End is after stream end."); } +#endif public OffsetStream(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize, bool useAsync, long start, long end) diff --git a/DiscImageChef.Gui.XamMac/Program.cs b/DiscImageChef.Gui.XamMac/Program.cs index 2e8d2a294..4f33da0f0 100644 --- a/DiscImageChef.Gui.XamMac/Program.cs +++ b/DiscImageChef.Gui.XamMac/Program.cs @@ -38,7 +38,7 @@ namespace DiscImageChef.Gui.XamMac { static void Main(string[] args) { - new Application(Eto.Platforms.XamMac2).Run(new MainForm()); + new Application(Eto.Platforms.XamMac2).Run(new frmMain(false, false)); } } } diff --git a/DiscImageChef.Gui/DiscImageChef.Gui.csproj b/DiscImageChef.Gui/DiscImageChef.Gui.csproj index 9a578ade7..924224ccc 100644 --- a/DiscImageChef.Gui/DiscImageChef.Gui.csproj +++ b/DiscImageChef.Gui/DiscImageChef.Gui.csproj @@ -1,6 +1,5 @@  - net461 DiscImageChef.Gui DiscImageChef.Gui $(Version) @@ -11,6 +10,7 @@ The Disc Image Chef The Disc Image Chef $(Version) + net461;netstandard2.0 $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} @@ -18,11 +18,11 @@ true - - - + + + - + \ No newline at end of file diff --git a/DiscImageChef.Gui/frmMain.xeto.cs b/DiscImageChef.Gui/frmMain.xeto.cs index 643acccbe..b7da8ec99 100644 --- a/DiscImageChef.Gui/frmMain.xeto.cs +++ b/DiscImageChef.Gui/frmMain.xeto.cs @@ -126,22 +126,29 @@ namespace DiscImageChef.Gui void RefreshDevices() { - DicConsole.WriteLine("Refreshing devices"); - devicesRoot.Children.Clear(); - - foreach(DeviceInfo device in Device.ListDevices().Where(d => d.Supported).OrderBy(d => d.Vendor) - .ThenBy(d => d.Model)) + try { - DicConsole.DebugWriteLine("Main window", - "Found support device model {0} by manufacturer {1} on bus {2} and path {3}", - device.Model, device.Vendor, device.Bus, device.Path); - devicesRoot.Children.Add(new TreeGridItem - { - Values = new object[] {$"{device.Vendor} {device.Model} ({device.Bus})", device.Path} - }); - } + DicConsole.WriteLine("Refreshing devices"); + devicesRoot.Children.Clear(); - treeImages.ReloadData(); + foreach (DeviceInfo device in Device.ListDevices().Where(d => d.Supported).OrderBy(d => d.Vendor) + .ThenBy(d => d.Model)) + { + DicConsole.DebugWriteLine("Main window", + "Found support device model {0} by manufacturer {1} on bus {2} and path {3}", + device.Model, device.Vendor, device.Bus, device.Path); + devicesRoot.Children.Add(new TreeGridItem + { + Values = new object[] {$"{device.Vendor} {device.Model} ({device.Bus})", device.Path} + }); + } + + treeImages.ReloadData(); + } + catch (InvalidOperationException ex) + { + DicConsole.ErrorWriteLine(ex.Message); + } } protected void OnMenuConsole(object sender, EventArgs e) diff --git a/DiscImageChef.Helpers/DiscImageChef.Helpers.csproj b/DiscImageChef.Helpers/DiscImageChef.Helpers.csproj index 5bf150a71..e4ad1d465 100644 --- a/DiscImageChef.Helpers/DiscImageChef.Helpers.csproj +++ b/DiscImageChef.Helpers/DiscImageChef.Helpers.csproj @@ -10,7 +10,6 @@ DiscImageChef.Helpers $(Version) false - net461 true 4.5.99.1693 Claunia.com @@ -18,6 +17,7 @@ The Disc Image Chef DiscImageChef.Helpers $(Version) + net461;netstandard2.0 $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} diff --git a/DiscImageChef.Partitions/DiscImageChef.Partitions.csproj b/DiscImageChef.Partitions/DiscImageChef.Partitions.csproj index f596a066c..b812cf052 100644 --- a/DiscImageChef.Partitions/DiscImageChef.Partitions.csproj +++ b/DiscImageChef.Partitions/DiscImageChef.Partitions.csproj @@ -10,7 +10,6 @@ DiscImageChef.Partitions $(Version) false - net461 true 4.5.99.1693 Claunia.com @@ -18,6 +17,7 @@ The Disc Image Chef DiscImageChef.Partitions $(Version) + net461;netstandard2.0 $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} diff --git a/DiscImageChef.Settings/DiscImageChef.Settings.csproj b/DiscImageChef.Settings/DiscImageChef.Settings.csproj index 8d2aef1c2..2f595c546 100644 --- a/DiscImageChef.Settings/DiscImageChef.Settings.csproj +++ b/DiscImageChef.Settings/DiscImageChef.Settings.csproj @@ -10,7 +10,6 @@ DiscImageChef.Settings $(Version) false - net461 true 4.5.99.1693 Claunia.com @@ -18,6 +17,7 @@ The Disc Image Chef DiscImageChef.Settings $(Version) + net461;netstandard2.0 $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} diff --git a/DiscImageChef.Settings/Settings.cs b/DiscImageChef.Settings/Settings.cs index ad1b55822..b8bc5479c 100644 --- a/DiscImageChef.Settings/Settings.cs +++ b/DiscImageChef.Settings/Settings.cs @@ -321,6 +321,7 @@ namespace DiscImageChef.Settings } } break; +#if !NETSTANDARD2_0 // In case of Windows settings will be saved in the registry: HKLM/SOFTWARE/Claunia.com/DiscImageChef case PlatformID.Win32NT: case PlatformID.Win32S: @@ -367,6 +368,7 @@ namespace DiscImageChef.Settings } break; +#endif // Otherwise, settings will be saved in ~/.config/DiscImageChef.xml default: { @@ -457,6 +459,7 @@ namespace DiscImageChef.Settings fs.Close(); } break; +#if !NETSTANDARD2_0 // In case of Windows settings will be saved in the registry: HKLM/SOFTWARE/Claunia.com/DiscImageChef case PlatformID.Win32NT: case PlatformID.Win32S: @@ -506,6 +509,7 @@ namespace DiscImageChef.Settings } } break; +#endif // Otherwise, settings will be saved in ~/.config/DiscImageChef.xml default: { @@ -531,7 +535,7 @@ namespace DiscImageChef.Settings { // ignored } - #pragma warning restore RECS0022 // A catch clause that catches System.Exception and has an empty body + #pragma warning restore RECS0022 // A catch clause that catches System.Exception and has an empty body } ///