diff --git a/shadowsocks-csharp/Controller/HotkeyReg.cs b/shadowsocks-csharp/Controller/HotkeyReg.cs index 90a3dee9..2ebef212 100644 --- a/shadowsocks-csharp/Controller/HotkeyReg.cs +++ b/shadowsocks-csharp/Controller/HotkeyReg.cs @@ -50,7 +50,7 @@ namespace Shadowsocks.Controller var callback = _callback as HotKeys.HotKeyCallBackHandler; - if (hotkeyStr.IsNullOrEmpty()) + if (string.IsNullOrEmpty(hotkeyStr)) { HotKeys.UnregExistingHotkey(callback); onComplete?.Invoke(RegResult.UnregSuccess); diff --git a/shadowsocks-csharp/Controller/Service/AvailabilityStatistics.cs b/shadowsocks-csharp/Controller/Service/AvailabilityStatistics.cs index f6d9a3d6..112c5493 100644 --- a/shadowsocks-csharp/Controller/Service/AvailabilityStatistics.cs +++ b/shadowsocks-csharp/Controller/Service/AvailabilityStatistics.cs @@ -214,7 +214,7 @@ namespace Shadowsocks.Controller AppendRecord(id, record); } } - catch (Exception e) + catch { logger.Debug("config changed asynchrously, just ignore this server"); } diff --git a/shadowsocks-csharp/Controller/Service/GeositeUpdater.cs b/shadowsocks-csharp/Controller/Service/GeositeUpdater.cs index e4489f60..be604844 100644 --- a/shadowsocks-csharp/Controller/Service/GeositeUpdater.cs +++ b/shadowsocks-csharp/Controller/Service/GeositeUpdater.cs @@ -219,16 +219,14 @@ var __RULES__ = {JsonConvert.SerializeObject(gfwLines, Formatting.Indented)}; return abpContent; } - private static readonly IEnumerable IgnoredLineBegins = new[] { '!', '[' }; - private static List PreProcessGFWList(string content) { List valid_lines = new List(); - using (var sr = new StringReader(content)) + using (var stringReader = new StringReader(content)) { - foreach (var line in sr.NonWhiteSpaceLines()) + for (string line = stringReader.ReadLine(); line != null; line = stringReader.ReadLine()) { - if (line.BeginWithAny(IgnoredLineBegins)) + if (string.IsNullOrWhiteSpace(line) || line.StartsWith("!") || line.StartsWith("[")) continue; valid_lines.Add(line); } diff --git a/shadowsocks-csharp/Controller/Service/Sip003Plugin.cs b/shadowsocks-csharp/Controller/Service/Sip003Plugin.cs index a0048e14..7024c648 100644 --- a/shadowsocks-csharp/Controller/Service/Sip003Plugin.cs +++ b/shadowsocks-csharp/Controller/Service/Sip003Plugin.cs @@ -122,12 +122,13 @@ namespace Shadowsocks.Controller.Service public string ExpandEnvironmentVariables(string name, StringDictionary environmentVariables = null) { + name = name.ToLower(); // Expand the environment variables from the new process itself if (environmentVariables != null) { foreach(string key in environmentVariables.Keys) { - name = name.Replace($"%{key}%", environmentVariables[key], StringComparison.OrdinalIgnoreCase); + name = name.Replace($"%{key.ToLower()}%", environmentVariables[key]); } } // Also expand the environment variables from current main process (system) diff --git a/shadowsocks-csharp/Controller/ShadowsocksController.cs b/shadowsocks-csharp/Controller/ShadowsocksController.cs index 590485e0..cb915ff7 100644 --- a/shadowsocks-csharp/Controller/ShadowsocksController.cs +++ b/shadowsocks-csharp/Controller/ShadowsocksController.cs @@ -420,7 +420,7 @@ namespace Shadowsocks.Controller { try { - if (ssURL.IsNullOrEmpty() || ssURL.IsWhiteSpace()) + if (string.IsNullOrWhiteSpace(ssURL)) return false; var servers = Server.GetServers(ssURL); diff --git a/shadowsocks-csharp/Controller/System/Hotkeys/HotkeyCallbacks.cs b/shadowsocks-csharp/Controller/System/Hotkeys/HotkeyCallbacks.cs index cb60d739..7c94c93c 100644 --- a/shadowsocks-csharp/Controller/System/Hotkeys/HotkeyCallbacks.cs +++ b/shadowsocks-csharp/Controller/System/Hotkeys/HotkeyCallbacks.cs @@ -23,7 +23,7 @@ namespace Shadowsocks.Controller.Hotkeys /// public static Delegate GetCallback(string methodname) { - if (methodname.IsNullOrEmpty()) throw new ArgumentException(nameof(methodname)); + if (string.IsNullOrEmpty(methodname)) throw new ArgumentException(nameof(methodname)); MethodInfo dynMethod = typeof(HotkeyCallbacks).GetMethod(methodname, BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.IgnoreCase); return dynMethod == null ? null : Delegate.CreateDelegate(typeof(HotKeys.HotKeyCallBackHandler), Instance, dynMethod); diff --git a/shadowsocks-csharp/Controller/System/Hotkeys/Hotkeys.cs b/shadowsocks-csharp/Controller/System/Hotkeys/Hotkeys.cs index 45069321..a55591ef 100644 --- a/shadowsocks-csharp/Controller/System/Hotkeys/Hotkeys.cs +++ b/shadowsocks-csharp/Controller/System/Hotkeys/Hotkeys.cs @@ -110,7 +110,7 @@ namespace Shadowsocks.Controller.Hotkeys { try { - if (s.IsNullOrEmpty()) return null; + if (string.IsNullOrEmpty(s)) return null; int offset = s.LastIndexOf("+", StringComparison.OrdinalIgnoreCase); if (offset <= 0) return null; string modifierStr = s.Substring(0, offset).Trim(); diff --git a/shadowsocks-csharp/Controller/System/SystemProxy.cs b/shadowsocks-csharp/Controller/System/SystemProxy.cs index 1d61dd86..ee767e12 100644 --- a/shadowsocks-csharp/Controller/System/SystemProxy.cs +++ b/shadowsocks-csharp/Controller/System/SystemProxy.cs @@ -36,7 +36,7 @@ namespace Shadowsocks.Controller else { string pacUrl; - if (config.useOnlinePac && !config.pacUrl.IsNullOrEmpty()) + if (config.useOnlinePac && !string.IsNullOrEmpty(config.pacUrl)) { pacUrl = config.pacUrl; } diff --git a/shadowsocks-csharp/Encryption/EncryptorFactory.cs b/shadowsocks-csharp/Encryption/EncryptorFactory.cs index fcae221a..7e1d6264 100644 --- a/shadowsocks-csharp/Encryption/EncryptorFactory.cs +++ b/shadowsocks-csharp/Encryption/EncryptorFactory.cs @@ -68,7 +68,7 @@ namespace Shadowsocks.Encryption public static IEncryptor GetEncryptor(string method, string password) { - if (method.IsNullOrEmpty()) + if (string.IsNullOrEmpty(method)) { method = Model.Server.DefaultMethod; } diff --git a/shadowsocks-csharp/Model/Configuration.cs b/shadowsocks-csharp/Model/Configuration.cs index a11cc46b..cd16032b 100644 --- a/shadowsocks-csharp/Model/Configuration.cs +++ b/shadowsocks-csharp/Model/Configuration.cs @@ -292,13 +292,13 @@ namespace Shadowsocks.Model private static void CheckPassword(string password) { - if (password.IsNullOrEmpty()) + if (string.IsNullOrEmpty(password)) throw new ArgumentException(I18N.GetString("Password can not be blank")); } public static void CheckServer(string server) { - if (server.IsNullOrEmpty()) + if (string.IsNullOrEmpty(server)) throw new ArgumentException(I18N.GetString("Server IP can not be blank")); } @@ -311,13 +311,13 @@ namespace Shadowsocks.Model public static void CheckProxyAuthUser(string user) { - if (user.IsNullOrEmpty()) + if (string.IsNullOrEmpty(user)) throw new ArgumentException(I18N.GetString("Auth user can not be blank")); } public static void CheckProxyAuthPwd(string pwd) { - if (pwd.IsNullOrEmpty()) + if (string.IsNullOrEmpty(pwd)) throw new ArgumentException(I18N.GetString("Auth pwd can not be blank")); } } diff --git a/shadowsocks-csharp/Model/Server.cs b/shadowsocks-csharp/Model/Server.cs index fe0e3c04..836d9d8d 100755 --- a/shadowsocks-csharp/Model/Server.cs +++ b/shadowsocks-csharp/Model/Server.cs @@ -62,13 +62,13 @@ namespace Shadowsocks.Model public override string ToString() { - if (server.IsNullOrEmpty()) + if (string.IsNullOrEmpty(server)) { return I18N.GetString("New server"); } string serverStr = $"{FormalHostName}:{server_port}"; - return remarks.IsNullOrEmpty() + return string.IsNullOrEmpty(remarks) ? serverStr : $"{remarks} ({serverStr})"; } @@ -99,7 +99,7 @@ namespace Shadowsocks.Model server_port ); - if (!plugin.IsNullOrWhiteSpace()) + if (!string.IsNullOrWhiteSpace(plugin)) { string pluginPart = plugin; @@ -112,7 +112,7 @@ namespace Shadowsocks.Model } } - if (!remarks.IsNullOrEmpty()) + if (!string.IsNullOrEmpty(remarks)) { tag = $"#{HttpUtility.UrlEncode(remarks, Encoding.UTF8)}"; } @@ -157,7 +157,7 @@ namespace Shadowsocks.Model Server server = new Server(); var base64 = match.Groups["base64"].Value.TrimEnd('/'); var tag = match.Groups["tag"].Value; - if (!tag.IsNullOrEmpty()) + if (!string.IsNullOrEmpty(tag)) { server.remarks = HttpUtility.UrlDecode(tag, Encoding.UTF8); } @@ -183,7 +183,7 @@ namespace Shadowsocks.Model public static Server ParseURL(string serverUrl) { string _serverUrl = serverUrl.Trim(); - if (!_serverUrl.BeginWith("ss://", StringComparison.InvariantCultureIgnoreCase)) + if (!_serverUrl.StartsWith("ss://", StringComparison.InvariantCultureIgnoreCase)) { return null; } diff --git a/shadowsocks-csharp/Proxy/HttpProxy.cs b/shadowsocks-csharp/Proxy/HttpProxy.cs index dd13b779..b7580f04 100644 --- a/shadowsocks-csharp/Proxy/HttpProxy.cs +++ b/shadowsocks-csharp/Proxy/HttpProxy.cs @@ -39,8 +39,6 @@ namespace Shadowsocks.Proxy public object AsyncState { get; set; } - public int BytesToRead; - public Exception ex { get; set; } } @@ -199,7 +197,7 @@ namespace Shadowsocks.Proxy } else { - if (line.IsNullOrEmpty()) + if (string.IsNullOrEmpty(line)) { return true; } diff --git a/shadowsocks-csharp/StringEx.cs b/shadowsocks-csharp/StringEx.cs deleted file mode 100644 index 96880e19..00000000 --- a/shadowsocks-csharp/StringEx.cs +++ /dev/null @@ -1,314 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Linq; -using System.Text; - -#if EXPOSE_EVERYTHING || EXPOSE_STRINGEX -public -#endif -static partial class StringEx -{ -#pragma warning disable 1591 - - public static StringComparison GlobalDefaultComparison { get; set; } = StringComparison.Ordinal; - - [ThreadStatic] - private static StringComparison? _DefaultComparison; - public static StringComparison DefaultComparison - { - get { return _DefaultComparison ?? GlobalDefaultComparison; } - set { _DefaultComparison = value; } - } - - #region basic String methods - - public static bool IsNullOrEmpty(this string value) - => string.IsNullOrEmpty(value); - - public static bool IsNullOrWhiteSpace(this string value) - => string.IsNullOrWhiteSpace(value); - - public static bool IsWhiteSpace(this string value) - { - foreach (var c in value) - { - if (char.IsWhiteSpace(c)) continue; - - return false; - } - return true; - } - -#if !PCL - public static string IsInterned(this string value) - { - if (value == null) - throw new ArgumentNullException(nameof(value)); - - return string.IsInterned(value); - } - - public static string Intern(this string value) - { - if (value == null) - throw new ArgumentNullException(nameof(value)); - - return string.Intern(value); - } -#endif - -#if UNSAFE - public static unsafe string ToLowerForASCII(this string value) - { - if (value.IsNullOrWhiteSpace()) - return value; - - value = string.Copy(value); - fixed (char* low = value) - { - var end = low + value.Length; - for (var p = low; p < end; p++) - { - var c = *p; - if (c < 'A' || c > 'Z') - continue; - *p = (char)(c + 0x20); - } - } - return value; - } - - public static unsafe string ToUpperForASCII(this string value) - { - if (value.IsNullOrWhiteSpace()) - return value; - - value = string.Copy(value); - fixed (char* low = value) - { - var end = low + value.Length; - for (var p = low; p < end; p++) - { - var c = *p; - if (c < 'a' || c > 'z') - continue; - *p = (char)(c - 0x20); - } - } - return value; - } -#else - public static string ToLowerForASCII(this string value) - { - if (value.IsNullOrWhiteSpace()) - return value; - - var sb = new StringBuilder(value.Length); - foreach (var c in value) - { - if (c < 'A' || c > 'Z') - sb.Append(c); - else - sb.Append((char)(c + 0x20)); - } - return sb.ToString(); - } - - public static string ToUpperForASCII(this string value) - { - if (value.IsNullOrWhiteSpace()) - return value; - - var sb = new StringBuilder(value.Length); - foreach (var c in value) - { - if (c < 'a' || c > 'z') - sb.Append(c); - else - sb.Append((char)(c - 0x20)); - } - return sb.ToString(); - } -#endif - - #endregion - - #region comparing - - #region Is - - public static bool Is(this string a, string b) - => string.Equals(a, b, DefaultComparison); - public static bool Is(this string a, string b, StringComparison comparisonType) - => string.Equals(a, b, comparisonType); - - #endregion - - #region BeginWith - - public static bool BeginWith(this string s, char c) - { - if (s.IsNullOrEmpty()) return false; - return s[0] == c; - } - public static bool BeginWithAny(this string s, IEnumerable chars) - { - if (s.IsNullOrEmpty()) return false; - return chars.Contains(s[0]); - } - public static bool BeginWithAny(this string s, params char[] chars) - => s.BeginWithAny(chars.AsEnumerable()); - - public static bool BeginWith(this string a, string b) - { - if (a == null || b == null) return false; - - return a.StartsWith(b, DefaultComparison); - } - public static bool BeginWith(this string a, string b, StringComparison comparisonType) - { - if (a == null || b == null) return false; - - return a.StartsWith(b, comparisonType); - } -#if !PCL - public static bool BeginWith(this string a, string b, bool ignoreCase, CultureInfo culture) - { - if (a == null || b == null) return false; - - return a.StartsWith(b, ignoreCase, culture); - } -#endif - - #endregion - - #region FinishWith - - public static bool FinishWith(this string s, char c) - { - if (s.IsNullOrEmpty()) return false; - return s.Last() == c; - } - public static bool FinishWithAny(this string s, IEnumerable chars) - { - if (s.IsNullOrEmpty()) return false; - return chars.Contains(s.Last()); - } - public static bool FinishWithAny(this string s, params char[] chars) - => s.FinishWithAny(chars.AsEnumerable()); - - public static bool FinishWith(this string a, string b) - { - if (a == null || b == null) return false; - - return a.EndsWith(b, DefaultComparison); - } - public static bool FinishWith(this string a, string b, StringComparison comparisonType) - { - if (a == null || b == null) return false; - - return a.EndsWith(b, comparisonType); - } -#if !PCL - public static bool FinishWith(this string a, string b, bool ignoreCase, CultureInfo culture) - { - if (a == null || b == null) return false; - - return a.EndsWith(b, ignoreCase, culture); - } -#endif - - #endregion - - #endregion - - #region ToLines - - public static IEnumerable ToLines(this TextReader reader) - { - string line; - while ((line = reader.ReadLine()) != null) - yield return line; - } - public static IEnumerable NonEmptyLines(this TextReader reader) - { - string line; - while ((line = reader.ReadLine()) != null) - { - if (line == "") continue; - yield return line; - } - } - public static IEnumerable NonWhiteSpaceLines(this TextReader reader) - { - string line; - while ((line = reader.ReadLine()) != null) - { - if (line.IsWhiteSpace()) continue; - yield return line; - } - } - - #endregion - - #region others - - private static readonly char[][] Quotes = new[] - { - "\"\"", - "''", - "“”", - "‘’", - "『』", - "「」", - "〖〗", - "【】", - }.Select(s => s.ToCharArray()).ToArray(); - public static string Enquote(this string value) - { - if (value == null) - return "(null)"; - - foreach (var pair in Quotes) - { - if (value.IndexOfAny(pair) < 0) - return pair[0] + value + pair[1]; - } - - return '"' + value.Replace("\\", @"\\").Replace("\"", @"\""") + '"'; - } - - public static string Replace(this string value, string find, string rep, StringComparison comparsionType) - { - if (find.IsNullOrEmpty()) - throw new ArgumentException(null, nameof(find)); - if (rep == null) - rep = ""; - if (value.IsNullOrEmpty()) - return value; - - var sb = new StringBuilder(value.Length); - - var last = 0; - var len = find.Length; - var idx = value.IndexOf(find, DefaultComparison); - while (idx != -1) - { - sb.Append(value.Substring(last, idx - last)); - sb.Append(rep); - idx += len; - - last = idx; - idx = value.IndexOf(find, idx, comparsionType); - } - sb.Append(value.Substring(last)); - - return sb.ToString(); - } - public static string ReplaceEx(this string value, string find, string rep) - => value.Replace(find, rep, DefaultComparison); - - #endregion -} diff --git a/shadowsocks-csharp/Util/SystemProxy/Sysproxy.cs b/shadowsocks-csharp/Util/SystemProxy/Sysproxy.cs index b1ffcac4..220576f6 100644 --- a/shadowsocks-csharp/Util/SystemProxy/Sysproxy.cs +++ b/shadowsocks-csharp/Util/SystemProxy/Sysproxy.cs @@ -212,7 +212,7 @@ namespace Shadowsocks.Util.SystemProxy if (arguments == "query") { - if (stdout.IsNullOrWhiteSpace() || stdout.IsNullOrEmpty()) + if (string.IsNullOrWhiteSpace(stdout)) { // we cannot get user settings throw new ProxyException(ProxyExceptionType.QueryReturnEmpty); diff --git a/shadowsocks-csharp/Util/Util.cs b/shadowsocks-csharp/Util/Util.cs index cbfed99b..a24ce2c2 100755 --- a/shadowsocks-csharp/Util/Util.cs +++ b/shadowsocks-csharp/Util/Util.cs @@ -238,7 +238,7 @@ namespace Shadowsocks.Util // we are building x86 binary for both x86 and x64, which will // cause problem when opening registry key // detect operating system instead of CPU - if (name.IsNullOrEmpty()) throw new ArgumentException(nameof(name)); + if (string.IsNullOrEmpty(name)) throw new ArgumentException(nameof(name)); try { RegistryKey userKey = RegistryKey.OpenBaseKey(hive, diff --git a/shadowsocks-csharp/View/ConfigForm.cs b/shadowsocks-csharp/View/ConfigForm.cs index dad4c535..ab029f7e 100755 --- a/shadowsocks-csharp/View/ConfigForm.cs +++ b/shadowsocks-csharp/View/ConfigForm.cs @@ -310,7 +310,7 @@ namespace Shadowsocks.View { password = null; string outPassword; - if ((outPassword = PasswordTextBox.Text).IsNullOrWhiteSpace()) + if (string.IsNullOrWhiteSpace(outPassword = PasswordTextBox.Text)) { if (!isSave && !isCopy && ServersListBox.Items.Count > 1 && I18N.GetString("New server").Equals(ServersListBox.Items[_lastSelectedIndex].ToString())) { diff --git a/shadowsocks-csharp/View/MenuViewController.cs b/shadowsocks-csharp/View/MenuViewController.cs index a2f971a3..8bcd6d9c 100644 --- a/shadowsocks-csharp/View/MenuViewController.cs +++ b/shadowsocks-csharp/View/MenuViewController.cs @@ -868,11 +868,11 @@ namespace Shadowsocks.View { if (!onlinePACItem.Checked) { - if (controller.GetConfigurationCopy().pacUrl.IsNullOrEmpty()) + if (string.IsNullOrEmpty(controller.GetConfigurationCopy().pacUrl)) { UpdateOnlinePACURLItem_Click(sender, e); } - if (!controller.GetConfigurationCopy().pacUrl.IsNullOrEmpty()) + if (!string.IsNullOrEmpty(controller.GetConfigurationCopy().pacUrl)) { localPACItem.Checked = false; onlinePACItem.Checked = true; @@ -889,7 +889,7 @@ namespace Shadowsocks.View I18N.GetString("Please input PAC Url"), I18N.GetString("Edit Online PAC URL"), origPacUrl, -1, -1); - if (!pacUrl.IsNullOrEmpty() && pacUrl != origPacUrl) + if (!string.IsNullOrEmpty(pacUrl) && pacUrl != origPacUrl) { controller.SavePACUrl(pacUrl); } diff --git a/shadowsocks-csharp/View/OnlineConfigForm.Designer.cs b/shadowsocks-csharp/View/OnlineConfigForm.Designer.cs index d9787dde..89b4f12a 100644 --- a/shadowsocks-csharp/View/OnlineConfigForm.Designer.cs +++ b/shadowsocks-csharp/View/OnlineConfigForm.Designer.cs @@ -213,6 +213,6 @@ private System.Windows.Forms.Button DeleteButton; private System.Windows.Forms.Button OkButton; private System.Windows.Forms.Button UpdateAllButton; - private System.Windows.Forms.Button CancelButton; + private new System.Windows.Forms.Button CancelButton; } } \ No newline at end of file diff --git a/shadowsocks-csharp/app.config b/shadowsocks-csharp/app.config index f1118d57..af2e1137 100755 --- a/shadowsocks-csharp/app.config +++ b/shadowsocks-csharp/app.config @@ -1,22 +1,30 @@ - + -
+
- + - - + + - - + + + + + + + + + + diff --git a/shadowsocks-csharp/packages.config b/shadowsocks-csharp/packages.config index a888c1a9..cbfeadba 100644 --- a/shadowsocks-csharp/packages.config +++ b/shadowsocks-csharp/packages.config @@ -1,31 +1,30 @@  - + - - - + + + - - - + + + - - - + + - + - + - - - + + + - + - + \ No newline at end of file diff --git a/shadowsocks-csharp/shadowsocks-csharp.csproj b/shadowsocks-csharp/shadowsocks-csharp.csproj index dc63c364..6620a009 100644 --- a/shadowsocks-csharp/shadowsocks-csharp.csproj +++ b/shadowsocks-csharp/shadowsocks-csharp.csproj @@ -1,7 +1,7 @@  - - + + Debug AnyCPU @@ -69,31 +69,31 @@ app.manifest - - ..\packages\Caseless.Fody.1.8.3\lib\net452\Caseless.dll + + ..\packages\Caseless.Fody.1.9.0\lib\net452\Caseless.dll ..\packages\CommandLineParser.2.8.0\lib\net461\CommandLine.dll - - ..\packages\Costura.Fody.3.3.3\lib\net40\Costura.dll + + ..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll - - ..\packages\DynamicData.6.16.6\lib\net461\DynamicData.dll + + ..\packages\DynamicData.6.17.14\lib\net461\DynamicData.dll ..\packages\GlobalHotKey.1.1.0\lib\GlobalHotKey.dll - - ..\packages\Google.Protobuf.3.11.4\lib\net45\Google.Protobuf.dll + + ..\packages\Google.Protobuf.3.13.0\lib\net45\Google.Protobuf.dll - ..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll + ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll - ..\packages\NLog.4.6.8\lib\net45\NLog.dll + ..\packages\NLog.4.7.5\lib\net45\NLog.dll @@ -104,11 +104,11 @@ ..\packages\ReactiveUI.WPF.11.5.35\lib\net472\ReactiveUI.WPF.dll - ..\packages\Splat.9.5.20\lib\net461\Splat.dll + ..\packages\Splat.9.5.49\lib\net461\Splat.dll - - ..\packages\System.Buffers.4.4.0\lib\netstandard2.0\System.Buffers.dll + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll @@ -122,8 +122,8 @@ - - ..\packages\System.Memory.4.5.2\lib\netstandard2.0\System.Memory.dll + + ..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll @@ -132,23 +132,23 @@ True - - ..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll ..\packages\System.Reactive.4.4.1\lib\net46\System.Reactive.dll - - ..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll + + ..\packages\System.Runtime.4.3.1\lib\net462\System.Runtime.dll True True - - ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + ..\packages\System.Runtime.CompilerServices.Unsafe.4.7.1\lib\net461\System.Runtime.CompilerServices.Unsafe.dll - ..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll + ..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net463\System.Security.Cryptography.Algorithms.dll True True @@ -162,8 +162,8 @@ True True - - ..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll + + ..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll True True @@ -184,11 +184,11 @@ - - ..\packages\ZXing.Net.0.16.5\lib\net47\zxing.dll + + ..\packages\ZXing.Net.0.16.6\lib\net47\zxing.dll - - ..\packages\ZXing.Net.0.16.5\lib\net47\zxing.presentation.dll + + ..\packages\ZXing.Net.0.16.6\lib\net47\zxing.presentation.dll @@ -262,7 +262,6 @@ - @@ -427,14 +426,14 @@ - + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - + + +