diff --git a/mRemoteNG/App/Info/ConnectionsFileInfo.cs b/mRemoteNG/App/Info/ConnectionsFileInfo.cs
index 42a5721d..b380ba54 100644
--- a/mRemoteNG/App/Info/ConnectionsFileInfo.cs
+++ b/mRemoteNG/App/Info/ConnectionsFileInfo.cs
@@ -1,7 +1,9 @@
using System;
+using System.Runtime.Versioning;
namespace mRemoteNG.App.Info
{
+ [SupportedOSPlatform("windows")]
public static class ConnectionsFileInfo
{
public static readonly string DefaultConnectionsPath = SettingsFileInfo.SettingsPath;
diff --git a/mRemoteNG/Config/DatabaseConnectors/DatabaseConnectionTester.cs b/mRemoteNG/Config/DatabaseConnectors/DatabaseConnectionTester.cs
index 2fd6b21d..21562673 100644
--- a/mRemoteNG/Config/DatabaseConnectors/DatabaseConnectionTester.cs
+++ b/mRemoteNG/Config/DatabaseConnectors/DatabaseConnectionTester.cs
@@ -1,9 +1,11 @@
using System;
using System.Data.SqlClient;
+using System.Runtime.Versioning;
using System.Threading.Tasks;
namespace mRemoteNG.Config.DatabaseConnectors
{
+ [SupportedOSPlatform("windows")]
///
/// A helper class for testing database connectivity
///
diff --git a/mRemoteNG/Config/Import/PortScanImporter.cs b/mRemoteNG/Config/Import/PortScanImporter.cs
index 6a6cb9db..d76f931d 100644
--- a/mRemoteNG/Config/Import/PortScanImporter.cs
+++ b/mRemoteNG/Config/Import/PortScanImporter.cs
@@ -1,5 +1,6 @@
using System.Collections.Generic;
using System.Linq;
+using System.Runtime.Versioning;
using mRemoteNG.Config.Serializers.MiscSerializers;
using mRemoteNG.Connection.Protocol;
using mRemoteNG.Container;
@@ -8,6 +9,7 @@ using mRemoteNG.Tools;
namespace mRemoteNG.Config.Import
{
+ [SupportedOSPlatform("windows")]
public class PortScanImporter : IConnectionImporter>
{
private readonly ProtocolType _targetProtocolType;
diff --git a/mRemoteNG/Config/Putty/AbstractPuttySessionsProvider.cs b/mRemoteNG/Config/Putty/AbstractPuttySessionsProvider.cs
index c6efb46d..82991495 100644
--- a/mRemoteNG/Config/Putty/AbstractPuttySessionsProvider.cs
+++ b/mRemoteNG/Config/Putty/AbstractPuttySessionsProvider.cs
@@ -4,11 +4,13 @@ using System.Linq;
using mRemoteNG.Connection;
using mRemoteNG.Tree.Root;
using System.Net;
+using System.Runtime.Versioning;
// ReSharper disable ArrangeAccessorOwnerBody
namespace mRemoteNG.Config.Putty
{
+ [SupportedOSPlatform("windows")]
public abstract class AbstractPuttySessionsProvider
{
public virtual RootPuttySessionsNodeInfo RootInfo { get; } = new RootPuttySessionsNodeInfo();
@@ -60,20 +62,14 @@ namespace mRemoteNG.Config.Putty
if (string.IsNullOrEmpty(sessionInfo?.Name) || Sessions.Any(child => child.Name == sessionInfo.Name))
return;
RootInfo.AddChild(sessionInfo);
- RaisePuttySessionCollectionChangedEvent(
- new
- NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add,
- sessionInfo));
+ RaisePuttySessionCollectionChangedEvent(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, sessionInfo));
}
protected virtual void RemoveSession(PuttySessionInfo sessionInfo)
{
if (!Sessions.Contains(sessionInfo)) return;
RootInfo.RemoveChild(sessionInfo);
- RaisePuttySessionCollectionChangedEvent(
- new
- NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove,
- sessionInfo));
+ RaisePuttySessionCollectionChangedEvent(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, sessionInfo));
}
public virtual void StartWatcher()
diff --git a/mRemoteNG/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsDeserializerMremotengFormat.cs b/mRemoteNG/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsDeserializerMremotengFormat.cs
index a9369e5f..f6fe3bc3 100644
--- a/mRemoteNG/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsDeserializerMremotengFormat.cs
+++ b/mRemoteNG/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsDeserializerMremotengFormat.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Runtime.Versioning;
using mRemoteNG.Connection;
using mRemoteNG.Connection.Protocol;
using mRemoteNG.Connection.Protocol.Http;
@@ -12,6 +13,7 @@ using mRemoteNG.Tree.Root;
namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Csv
{
+ [SupportedOSPlatform("windows")]
public class CsvConnectionsDeserializerMremotengFormat : IDeserializer
{
public ConnectionTreeModel Deserialize(string serializedData)
diff --git a/mRemoteNG/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsSerializerMremotengFormat.cs b/mRemoteNG/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsSerializerMremotengFormat.cs
index cd221ef5..e12341b6 100644
--- a/mRemoteNG/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsSerializerMremotengFormat.cs
+++ b/mRemoteNG/Config/Serializers/ConnectionSerializers/Csv/CsvConnectionsSerializerMremotengFormat.cs
@@ -1,5 +1,6 @@
using System;
using System.Linq;
+using System.Runtime.Versioning;
using System.Text;
using mRemoteNG.Connection;
using mRemoteNG.Container;
@@ -11,6 +12,7 @@ using mRemoteNG.Tree.Root;
namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Csv
{
+ [SupportedOSPlatform("windows")]
public class CsvConnectionsSerializerMremotengFormat : ISerializer
{
private readonly SaveFilter _saveFilter;
diff --git a/mRemoteNG/Config/Serializers/ConnectionSerializers/Csv/RemoteDesktopManager/CsvConnectionsDeserializerRdmFormat.cs b/mRemoteNG/Config/Serializers/ConnectionSerializers/Csv/RemoteDesktopManager/CsvConnectionsDeserializerRdmFormat.cs
index ae2e4fd3..99aca4f1 100644
--- a/mRemoteNG/Config/Serializers/ConnectionSerializers/Csv/RemoteDesktopManager/CsvConnectionsDeserializerRdmFormat.cs
+++ b/mRemoteNG/Config/Serializers/ConnectionSerializers/Csv/RemoteDesktopManager/CsvConnectionsDeserializerRdmFormat.cs
@@ -3,6 +3,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Runtime.Versioning;
using mRemoteNG.Connection;
using mRemoteNG.Connection.Protocol;
using mRemoteNG.Container;
@@ -10,217 +11,219 @@ using mRemoteNG.Tree;
#endregion
-namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Csv.RemoteDesktopManager;
-
-///
-/// Import of connections from the Remote Desktop Manager (RDM) in a CSV file format
-///
-public partial class CsvConnectionsDeserializerRdmFormat : IDeserializer
+namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Csv.RemoteDesktopManager
{
- private readonly List _connectionTypes;
- private readonly HashSet _groups;
-
- public CsvConnectionsDeserializerRdmFormat()
+ [SupportedOSPlatform("windows")]
+ ///
+ /// Import of connections from the Remote Desktop Manager (RDM) in a CSV file format
+ ///
+ public partial class CsvConnectionsDeserializerRdmFormat : IDeserializer
{
- _connectionTypes = new List
+ private readonly List _connectionTypes;
+ private readonly HashSet _groups;
+
+ public CsvConnectionsDeserializerRdmFormat()
+ {
+ _connectionTypes = new List
{
new(ProtocolType.RDP, "RDP (Microsoft Remote Desktop)", 3389, "Remote Desktop"),
new(ProtocolType.SSH2, "SSH Shell", 22, "SSH")
};
- _groups = new HashSet();
+ _groups = new HashSet();
- Containers = new List();
- }
-
- private List Containers { get; }
-
- ///
- /// Deserializes the CSV file into a
- ///
- /// Data from the CSV file
- ///
- public ConnectionTreeModel Deserialize(string serializedData)
- {
- var lines = serializedData.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries);
- var csvHeaders = new List();
-
- var connections = new List<(ConnectionInfo, string)>(); // (ConnectionInfo, group)
-
- for (var lineNumber = 0; lineNumber < lines.Length; lineNumber++)
- {
- var line = lines[lineNumber].Split(',');
- if (lineNumber == 0)
- {
- csvHeaders = line.ToList();
- }
- else
- {
- var (connectionInfo, group) = ParseConnectionInfo(csvHeaders, line);
- if (connectionInfo == default) continue;
-
- connections.Add((connectionInfo, group));
- }
+ Containers = new List();
}
- var connectionTreeModel = new ConnectionTreeModel();
- var unsortedConnections = new ContainerInfo { Name = "Unsorted" };
+ private List Containers { get; }
- foreach (var containerInfo in Containers) connectionTreeModel.AddRootNode(containerInfo);
-
- var allChildren = Containers.SelectMany(x => x.GetRecursiveChildList().Select(y => (ContainerInfo)y)).ToList();
-
- foreach (var (connection, path) in connections)
- if (string.IsNullOrEmpty(path))
- {
- unsortedConnections.AddChild(connection);
- }
- else
- {
- var container = allChildren.FirstOrDefault(x => x.ConstantID == path);
- if (container == default) continue;
-
- container.AddChild(connection);
- }
-
- if (unsortedConnections.HasChildren())
- connectionTreeModel.AddRootNode(unsortedConnections);
-
- return connectionTreeModel;
- }
-
- ///
- /// Parses a line from the CSV file and returns
- ///
- /// CSV Headers
- /// CSV Columns
- ///
- private (ConnectionInfo connectionInfo, string) ParseConnectionInfo(IList headers, IReadOnlyList connectionCsv)
- {
- if (headers.Count != connectionCsv.Count) return default;
-
- var hostString = connectionCsv[headers.IndexOf("Host")].Trim();
- if (string.IsNullOrEmpty(hostString)) return default;
-
- var hostType = Uri.CheckHostName(hostString);
- if (hostType == UriHostNameType.Unknown) return default;
-
- var connectionTypeString = connectionCsv[headers.IndexOf("ConnectionType")];
- if (string.IsNullOrEmpty(connectionTypeString)) return default;
-
- var connectionType = _connectionTypes.FirstOrDefault(x => x.Name == connectionTypeString);
- if (connectionType == default) return default;
-
- var portString = connectionCsv[headers.IndexOf("Port")] ?? connectionType.Port.ToString();
- if (!int.TryParse(portString, out var port)) port = connectionType.Port;
-
- var name = connectionCsv[headers.IndexOf("Name")];
- var description = connectionCsv[headers.IndexOf("Description")];
- var group = connectionCsv[headers.IndexOf("Group")];
-
- var username = connectionCsv[headers.IndexOf("CredentialUserName")];
- var domain = connectionCsv[headers.IndexOf("CredentialDomain")];
- var password = connectionCsv[headers.IndexOf("CredentialPassword")];
-
- var connectionInfo = new ConnectionInfo(Guid.NewGuid().ToString())
+ ///
+ /// Deserializes the CSV file into a
+ ///
+ /// Data from the CSV file
+ ///
+ public ConnectionTreeModel Deserialize(string serializedData)
{
- Name = name,
- Hostname = hostString,
- Port = port,
- Username = username,
- Password = password,
- Domain = domain,
- Icon = connectionType.IconName ?? "mRemoteNG",
- Description = description,
- Protocol = connectionType.Protocol
- };
+ var lines = serializedData.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries);
+ var csvHeaders = new List();
- if (!string.IsNullOrEmpty(group))
- if (group.Contains('\\'))
+ var connections = new List<(ConnectionInfo, string)>(); // (ConnectionInfo, group)
+
+ for (var lineNumber = 0; lineNumber < lines.Length; lineNumber++)
{
- var groupParts = group.Split('\\').ToList();
- var parentContainerName = groupParts[0];
-
- var parentContainer = Containers.FirstOrDefault(x => x.Name == parentContainerName);
- if (parentContainer == default)
+ var line = lines[lineNumber].Split(',');
+ if (lineNumber == 0)
{
- parentContainer = new ContainerInfo(group) { Name = parentContainerName };
- Containers.Add(parentContainer);
+ csvHeaders = line.ToList();
+ }
+ else
+ {
+ var (connectionInfo, group) = ParseConnectionInfo(csvHeaders, line);
+ if (connectionInfo == default) continue;
+
+ connections.Add((connectionInfo, group));
+ }
+ }
+
+ var connectionTreeModel = new ConnectionTreeModel();
+ var unsortedConnections = new ContainerInfo { Name = "Unsorted" };
+
+ foreach (var containerInfo in Containers) connectionTreeModel.AddRootNode(containerInfo);
+
+ var allChildren = Containers.SelectMany(x => x.GetRecursiveChildList().Select(y => (ContainerInfo)y)).ToList();
+
+ foreach (var (connection, path) in connections)
+ if (string.IsNullOrEmpty(path))
+ {
+ unsortedConnections.AddChild(connection);
+ }
+ else
+ {
+ var container = allChildren.FirstOrDefault(x => x.ConstantID == path);
+ if (container == default) continue;
+
+ container.AddChild(connection);
}
- groupParts.RemoveAt(0);
+ if (unsortedConnections.HasChildren())
+ connectionTreeModel.AddRootNode(unsortedConnections);
- AddChildrenRecursive(group, groupParts, parentContainer);
- }
+ return connectionTreeModel;
+ }
- return string.IsNullOrEmpty(group) ? (connectionInfo, default) : (connectionInfo, group);
- }
-
- ///
- /// Adds a child to a container recursively
- ///
- /// Full path of the RDM Grouping
- /// Segements of the group path
- /// Parent container to add children to
- private void AddChildrenRecursive(string group, IList groupParts, ContainerInfo parentContainer)
- {
- if (_groups.Contains(group)) return;
-
- var groupCount = groupParts.Count;
- while (groupCount > 0)
+ ///
+ /// Parses a line from the CSV file and returns
+ ///
+ /// CSV Headers
+ /// CSV Columns
+ ///
+ private (ConnectionInfo connectionInfo, string) ParseConnectionInfo(IList headers, IReadOnlyList connectionCsv)
{
- var childName = groupParts[0];
- var newContainer = new ContainerInfo(group) { Name = childName };
+ if (headers.Count != connectionCsv.Count) return default;
- var childrenNames = parentContainer.GetRecursiveChildList().Select(x => x.Name).ToList();
- if (!childrenNames.Any())
- {
- groupCount = AddChild(parentContainer, newContainer, groupCount);
- _groups.Add(group);
- continue;
- }
+ var hostString = connectionCsv[headers.IndexOf("Host")].Trim();
+ if (string.IsNullOrEmpty(hostString)) return default;
- if (groupParts.Count > 1)
+ var hostType = Uri.CheckHostName(hostString);
+ if (hostType == UriHostNameType.Unknown) return default;
+
+ var connectionTypeString = connectionCsv[headers.IndexOf("ConnectionType")];
+ if (string.IsNullOrEmpty(connectionTypeString)) return default;
+
+ var connectionType = _connectionTypes.FirstOrDefault(x => x.Name == connectionTypeString);
+ if (connectionType == default) return default;
+
+ var portString = connectionCsv[headers.IndexOf("Port")] ?? connectionType.Port.ToString();
+ if (!int.TryParse(portString, out var port)) port = connectionType.Port;
+
+ var name = connectionCsv[headers.IndexOf("Name")];
+ var description = connectionCsv[headers.IndexOf("Description")];
+ var group = connectionCsv[headers.IndexOf("Group")];
+
+ var username = connectionCsv[headers.IndexOf("CredentialUserName")];
+ var domain = connectionCsv[headers.IndexOf("CredentialDomain")];
+ var password = connectionCsv[headers.IndexOf("CredentialPassword")];
+
+ var connectionInfo = new ConnectionInfo(Guid.NewGuid().ToString())
{
- var childContainer = (ContainerInfo)parentContainer.Children.FirstOrDefault(x => x.Name == childName);
- if (childContainer == default)
+ Name = name,
+ Hostname = hostString,
+ Port = port,
+ Username = username,
+ Password = password,
+ Domain = domain,
+ Icon = connectionType.IconName ?? "mRemoteNG",
+ Description = description,
+ Protocol = connectionType.Protocol
+ };
+
+ if (!string.IsNullOrEmpty(group))
+ if (group.Contains('\\'))
+ {
+ var groupParts = group.Split('\\').ToList();
+ var parentContainerName = groupParts[0];
+
+ var parentContainer = Containers.FirstOrDefault(x => x.Name == parentContainerName);
+ if (parentContainer == default)
+ {
+ parentContainer = new ContainerInfo(group) { Name = parentContainerName };
+ Containers.Add(parentContainer);
+ }
+
+ groupParts.RemoveAt(0);
+
+ AddChildrenRecursive(group, groupParts, parentContainer);
+ }
+
+ return string.IsNullOrEmpty(group) ? (connectionInfo, default) : (connectionInfo, group);
+ }
+
+ ///
+ /// Adds a child to a container recursively
+ ///
+ /// Full path of the RDM Grouping
+ /// Segements of the group path
+ /// Parent container to add children to
+ private void AddChildrenRecursive(string group, IList groupParts, ContainerInfo parentContainer)
+ {
+ if (_groups.Contains(group)) return;
+
+ var groupCount = groupParts.Count;
+ while (groupCount > 0)
+ {
+ var childName = groupParts[0];
+ var newContainer = new ContainerInfo(group) { Name = childName };
+
+ var childrenNames = parentContainer.GetRecursiveChildList().Select(x => x.Name).ToList();
+ if (!childrenNames.Any())
{
groupCount = AddChild(parentContainer, newContainer, groupCount);
+ _groups.Add(group);
continue;
}
- AddChildrenRecursive(group, groupParts.Skip(1).ToList(), childContainer);
- }
- else
- {
- parentContainer.AddChild(newContainer);
- _groups.Add(group);
- }
+ if (groupParts.Count > 1)
+ {
+ var childContainer = (ContainerInfo)parentContainer.Children.FirstOrDefault(x => x.Name == childName);
+ if (childContainer == default)
+ {
+ groupCount = AddChild(parentContainer, newContainer, groupCount);
+ continue;
+ }
+ AddChildrenRecursive(group, groupParts.Skip(1).ToList(), childContainer);
+ }
+ else
+ {
+ parentContainer.AddChild(newContainer);
+ _groups.Add(group);
+ }
+
+ groupCount--;
+ }
+ }
+
+ ///
+ /// Adds a child to a container and returns the remaining group count
+ ///
+ /// Parent container
+ /// New child container
+ /// Remaining group count
+ ///
+ private static int AddChild(ContainerInfo parentContainer, ContainerInfo newContainer, int groupCount)
+ {
+ parentContainer.AddChild(newContainer);
groupCount--;
+ return groupCount;
}
}
///
- /// Adds a child to a container and returns the remaining group count
+ /// Record of supported connection types
///
- /// Parent container
- /// New child container
- /// Remaining group count
- ///
- private static int AddChild(ContainerInfo parentContainer, ContainerInfo newContainer, int groupCount)
- {
- parentContainer.AddChild(newContainer);
- groupCount--;
- return groupCount;
- }
-}
-
-///
-/// Record of supported connection types
-///
-/// Procotol
-/// Display Name
-/// Default Port
-/// Icon Name
-internal sealed record RemoteDesktopManagerConnectionInfo(ProtocolType Protocol, string Name, int Port, string IconName);
\ No newline at end of file
+ /// Procotol
+ /// Display Name
+ /// Default Port
+ /// Icon Name
+ internal sealed record RemoteDesktopManagerConnectionInfo(ProtocolType Protocol, string Name, int Port, string IconName);
+}
\ No newline at end of file
diff --git a/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionSerializerFactory.cs b/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionSerializerFactory.cs
index 6fe7f485..ece3d65b 100644
--- a/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionSerializerFactory.cs
+++ b/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlConnectionSerializerFactory.cs
@@ -1,4 +1,5 @@
using System.Linq;
+using System.Runtime.Versioning;
using mRemoteNG.Connection;
using mRemoteNG.Security;
using mRemoteNG.Tree;
@@ -6,6 +7,7 @@ using mRemoteNG.Tree.Root;
namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Xml
{
+ [SupportedOSPlatform("windows")]
public class XmlConnectionSerializerFactory
{
public ISerializer Build(
diff --git a/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlRootNodeSerializer.cs b/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlRootNodeSerializer.cs
index ac6344af..8c6e4d39 100644
--- a/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlRootNodeSerializer.cs
+++ b/mRemoteNG/Config/Serializers/ConnectionSerializers/Xml/XmlRootNodeSerializer.cs
@@ -1,10 +1,12 @@
using System;
+using System.Runtime.Versioning;
using System.Xml.Linq;
using mRemoteNG.Security;
using mRemoteNG.Tree.Root;
namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Xml
{
+ [SupportedOSPlatform("windows")]
public class XmlRootNodeSerializer
{
public XElement SerializeRootNodeInfo(RootNodeInfo rootNodeInfo, ICryptographyProvider cryptographyProvider, Version version, bool fullFileEncryption = false)
diff --git a/mRemoteNG/Config/Serializers/MiscSerializers/PortScanDeserializer.cs b/mRemoteNG/Config/Serializers/MiscSerializers/PortScanDeserializer.cs
index 3d6e96fe..0628ce6f 100644
--- a/mRemoteNG/Config/Serializers/MiscSerializers/PortScanDeserializer.cs
+++ b/mRemoteNG/Config/Serializers/MiscSerializers/PortScanDeserializer.cs
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using System.Runtime.Versioning;
using mRemoteNG.Connection;
using mRemoteNG.Connection.Protocol;
using mRemoteNG.Container;
@@ -8,6 +9,7 @@ using mRemoteNG.Tree.Root;
namespace mRemoteNG.Config.Serializers.MiscSerializers
{
+ [SupportedOSPlatform("windows")]
public class PortScanDeserializer : IDeserializer, ConnectionTreeModel>
{
private readonly ProtocolType _targetProtocolType;
diff --git a/mRemoteNG/Connection/AbstractConnectionRecord.cs b/mRemoteNG/Connection/AbstractConnectionRecord.cs
index c5c8c227..30d3234c 100644
--- a/mRemoteNG/Connection/AbstractConnectionRecord.cs
+++ b/mRemoteNG/Connection/AbstractConnectionRecord.cs
@@ -8,9 +8,11 @@ using mRemoteNG.Properties;
using mRemoteNG.Tools;
using mRemoteNG.Tools.Attributes;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.Connection
{
+ [SupportedOSPlatform("windows")]
public abstract class AbstractConnectionRecord : INotifyPropertyChanged
{
#region Fields
diff --git a/mRemoteNG/Connection/ConnectionInfoComparer.cs b/mRemoteNG/Connection/ConnectionInfoComparer.cs
index 0783c2b1..8c6a4a17 100644
--- a/mRemoteNG/Connection/ConnectionInfoComparer.cs
+++ b/mRemoteNG/Connection/ConnectionInfoComparer.cs
@@ -1,10 +1,11 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
-
+using System.Runtime.Versioning;
namespace mRemoteNG.Connection
{
+ [SupportedOSPlatform("windows")]
public class ConnectionInfoComparer : IComparer where TProperty : IComparable
{
private readonly Func _sortExpression;
diff --git a/mRemoteNG/Connection/ConnectionInfoInheritance.cs b/mRemoteNG/Connection/ConnectionInfoInheritance.cs
index 0b9d3894..0ee451cc 100644
--- a/mRemoteNG/Connection/ConnectionInfoInheritance.cs
+++ b/mRemoteNG/Connection/ConnectionInfoInheritance.cs
@@ -5,9 +5,11 @@ using System.Reflection;
using mRemoteNG.Tools;
using mRemoteNG.Tree.Root;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.Connection
{
+ [SupportedOSPlatform("windows")]
public class ConnectionInfoInheritance
{
private ConnectionInfoInheritance _tempInheritanceStorage;
diff --git a/mRemoteNG/Connection/Protocol/Http/Connection.Protocol.HTTP.cs b/mRemoteNG/Connection/Protocol/Http/Connection.Protocol.HTTP.cs
index 3ebf3007..72956503 100644
--- a/mRemoteNG/Connection/Protocol/Http/Connection.Protocol.HTTP.cs
+++ b/mRemoteNG/Connection/Protocol/Http/Connection.Protocol.HTTP.cs
@@ -1,5 +1,9 @@
+using Mysqlx.Notice;
+using System.Runtime.Versioning;
+
namespace mRemoteNG.Connection.Protocol.Http
{
+ [SupportedOSPlatform("windows")]
public class ProtocolHTTP : HTTPBase
{
public ProtocolHTTP(RenderingEngine RenderingEngine) : base(RenderingEngine)
diff --git a/mRemoteNG/Connection/Protocol/Http/Connection.Protocol.HTTPS.cs b/mRemoteNG/Connection/Protocol/Http/Connection.Protocol.HTTPS.cs
index 90f35f5a..1946c648 100644
--- a/mRemoteNG/Connection/Protocol/Http/Connection.Protocol.HTTPS.cs
+++ b/mRemoteNG/Connection/Protocol/Http/Connection.Protocol.HTTPS.cs
@@ -1,7 +1,10 @@
+using System.Runtime.Versioning;
+
namespace mRemoteNG.Connection.Protocol.Http
{
public class ProtocolHTTPS : HTTPBase
{
+ [SupportedOSPlatform("windows")]
public ProtocolHTTPS(RenderingEngine RenderingEngine) : base(RenderingEngine)
{
httpOrS = "https";
diff --git a/mRemoteNG/Connection/Protocol/SSH/Connection.Protocol.SSH1.cs b/mRemoteNG/Connection/Protocol/SSH/Connection.Protocol.SSH1.cs
index 8472308d..b56de9e1 100644
--- a/mRemoteNG/Connection/Protocol/SSH/Connection.Protocol.SSH1.cs
+++ b/mRemoteNG/Connection/Protocol/SSH/Connection.Protocol.SSH1.cs
@@ -1,5 +1,8 @@
+using System.Runtime.Versioning;
+
namespace mRemoteNG.Connection.Protocol.SSH
{
+ [SupportedOSPlatform("windows")]
public class ProtocolSSH1 : PuttyBase
{
public ProtocolSSH1()
diff --git a/mRemoteNG/Connection/Protocol/VNC/Connection.Protocol.VNC.cs b/mRemoteNG/Connection/Protocol/VNC/Connection.Protocol.VNC.cs
index e9bd2370..971e2d93 100644
--- a/mRemoteNG/Connection/Protocol/VNC/Connection.Protocol.VNC.cs
+++ b/mRemoteNG/Connection/Protocol/VNC/Connection.Protocol.VNC.cs
@@ -6,12 +6,14 @@ using mRemoteNG.App;
using mRemoteNG.Tools;
using mRemoteNG.UI.Forms;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
// ReSharper disable ArrangeAccessorOwnerBody
namespace mRemoteNG.Connection.Protocol.VNC
{
+ [SupportedOSPlatform("windows")]
public class ProtocolVNC : ProtocolBase
{
#region Private Declarations
diff --git a/mRemoteNG/Container/ContainerInfo.cs b/mRemoteNG/Container/ContainerInfo.cs
index a98eb368..473f9833 100644
--- a/mRemoteNG/Container/ContainerInfo.cs
+++ b/mRemoteNG/Container/ContainerInfo.cs
@@ -3,12 +3,14 @@ using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Linq;
+using System.Runtime.Versioning;
using mRemoteNG.Connection;
using mRemoteNG.Connection.Protocol;
using mRemoteNG.Tree;
namespace mRemoteNG.Container
{
+ [SupportedOSPlatform("windows")]
[DefaultProperty("Name")]
public class ContainerInfo : ConnectionInfo, INotifyCollectionChanged
{
diff --git a/mRemoteNG/Messages/MessageWriters/NotificationPanelMessageWriter.cs b/mRemoteNG/Messages/MessageWriters/NotificationPanelMessageWriter.cs
index 0a4df2be..4f51e8c1 100644
--- a/mRemoteNG/Messages/MessageWriters/NotificationPanelMessageWriter.cs
+++ b/mRemoteNG/Messages/MessageWriters/NotificationPanelMessageWriter.cs
@@ -1,10 +1,12 @@
using System;
+using System.Runtime.Versioning;
using System.Windows.Forms;
using mRemoteNG.UI;
using mRemoteNG.UI.Window;
namespace mRemoteNG.Messages.MessageWriters
{
+ [SupportedOSPlatform("windows")]
public class NotificationPanelMessageWriter : IMessageWriter
{
private readonly ErrorAndInfoWindow _messageWindow;
diff --git a/mRemoteNG/Messages/MessageWriters/TextLogMessageWriter.cs b/mRemoteNG/Messages/MessageWriters/TextLogMessageWriter.cs
index 634cbc4d..da1b89e3 100644
--- a/mRemoteNG/Messages/MessageWriters/TextLogMessageWriter.cs
+++ b/mRemoteNG/Messages/MessageWriters/TextLogMessageWriter.cs
@@ -1,8 +1,10 @@
using System;
+using System.Runtime.Versioning;
using mRemoteNG.App;
namespace mRemoteNG.Messages.MessageWriters
{
+ [SupportedOSPlatform("windows")]
public class TextLogMessageWriter : IMessageWriter
{
private readonly Logger _logger;
diff --git a/mRemoteNG/Security/Factories/LegacyInsecureCryptoProviderFactory.cs b/mRemoteNG/Security/Factories/LegacyInsecureCryptoProviderFactory.cs
index fc87cccb..2a18a0d4 100644
--- a/mRemoteNG/Security/Factories/LegacyInsecureCryptoProviderFactory.cs
+++ b/mRemoteNG/Security/Factories/LegacyInsecureCryptoProviderFactory.cs
@@ -1,7 +1,9 @@
using mRemoteNG.Security.SymmetricEncryption;
+using System.Runtime.Versioning;
namespace mRemoteNG.Security.Factories
{
+ [SupportedOSPlatform("windows")]
public class LegacyInsecureCryptoProviderFactory : ICryptoProviderFactory
{
public ICryptographyProvider Build()
diff --git a/mRemoteNG/Security/SymmetricEncryption/LegacyRijndaelCryptographyProvider.cs b/mRemoteNG/Security/SymmetricEncryption/LegacyRijndaelCryptographyProvider.cs
index 212d2183..220c97ee 100644
--- a/mRemoteNG/Security/SymmetricEncryption/LegacyRijndaelCryptographyProvider.cs
+++ b/mRemoteNG/Security/SymmetricEncryption/LegacyRijndaelCryptographyProvider.cs
@@ -1,5 +1,6 @@
using System;
using System.IO;
+using System.Runtime.Versioning;
using System.Security;
using System.Security.Cryptography;
using System.Text;
@@ -10,6 +11,7 @@ using mRemoteNG.Resources.Language;
namespace mRemoteNG.Security.SymmetricEncryption
{
+ [SupportedOSPlatform("windows")]
public class LegacyRijndaelCryptographyProvider : ICryptographyProvider
{
public int BlockSizeInBytes { get; }
@@ -56,8 +58,7 @@ namespace mRemoteNG.Security.SymmetricEncryption
}
catch (Exception ex)
{
- Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg,
- string.Format(Language.ErrorEncryptionFailed, ex.Message));
+ Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, string.Format(Language.ErrorEncryptionFailed, ex.Message));
}
return strToEncrypt;
diff --git a/mRemoteNG/Themes/MremoteNGThemeBase.cs b/mRemoteNG/Themes/MremoteNGThemeBase.cs
index bebbf325..0dabe7b7 100644
--- a/mRemoteNG/Themes/MremoteNGThemeBase.cs
+++ b/mRemoteNG/Themes/MremoteNGThemeBase.cs
@@ -1,10 +1,12 @@
-namespace mRemoteNG.Themes
-{
- using System.Drawing;
- using UI.Tabs;
- using WeifenLuo.WinFormsUI.Docking;
- using WeifenLuo.WinFormsUI.ThemeVS2015;
+using System.Drawing;
+using System.Runtime.Versioning;
+using mRemoteNG.UI.Tabs;
+using WeifenLuo.WinFormsUI.Docking;
+using WeifenLuo.WinFormsUI.ThemeVS2015;
+namespace mRemoteNG.Themes
+{
+ [SupportedOSPlatform("windows")]
///
/// Visual Studio 2015 Light theme.
diff --git a/mRemoteNG/Themes/ThemeManager.cs b/mRemoteNG/Themes/ThemeManager.cs
index 1aa10aaf..de273d89 100644
--- a/mRemoteNG/Themes/ThemeManager.cs
+++ b/mRemoteNG/Themes/ThemeManager.cs
@@ -9,9 +9,11 @@ using System.Linq;
using mRemoteNG.Messages;
using mRemoteNG.Properties;
using WeifenLuo.WinFormsUI.Docking;
+using System.Runtime.Versioning;
namespace mRemoteNG.Themes
{
+ [SupportedOSPlatform("windows")]
///
/// Main class of the theming component. Centralizes creation, loading and deletion of themes
/// Implemented as a singleton
diff --git a/mRemoteNG/Themes/ThemeSerializer.cs b/mRemoteNG/Themes/ThemeSerializer.cs
index 34540708..d86f8fea 100644
--- a/mRemoteNG/Themes/ThemeSerializer.cs
+++ b/mRemoteNG/Themes/ThemeSerializer.cs
@@ -1,9 +1,11 @@
-using System.IO;
+using System.IO;
using WeifenLuo.WinFormsUI.Docking;
using System.Linq;
+using System.Runtime.Versioning;
namespace mRemoteNG.Themes
{
+ [SupportedOSPlatform("windows")]
public static class ThemeSerializer
{
///
diff --git a/mRemoteNG/Tools/Cmdline/CmdArgumentsInterpreter.cs b/mRemoteNG/Tools/Cmdline/CmdArgumentsInterpreter.cs
index da69f37b..3800105b 100644
--- a/mRemoteNG/Tools/Cmdline/CmdArgumentsInterpreter.cs
+++ b/mRemoteNG/Tools/Cmdline/CmdArgumentsInterpreter.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
+using System.Runtime.Versioning;
using System.Text.RegularExpressions;
using mRemoteNG.App;
@@ -8,6 +9,7 @@ using mRemoteNG.App;
namespace mRemoteNG.Tools.Cmdline
{
+ [SupportedOSPlatform("windows")]
//
//* Arguments class: application arguments interpreter
//*
diff --git a/mRemoteNG/Tools/Cmdline/StartupArgumentsInterpreter.cs b/mRemoteNG/Tools/Cmdline/StartupArgumentsInterpreter.cs
index c61b34d2..16b5ebf7 100644
--- a/mRemoteNG/Tools/Cmdline/StartupArgumentsInterpreter.cs
+++ b/mRemoteNG/Tools/Cmdline/StartupArgumentsInterpreter.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Drawing;
using System.IO;
+using System.Runtime.Versioning;
using System.Windows.Forms;
using mRemoteNG.App.Info;
using mRemoteNG.Messages;
@@ -11,6 +12,7 @@ using mRemoteNG.Resources.Language;
namespace mRemoteNG.Tools.Cmdline
{
+ [SupportedOSPlatform("windows")]
public class StartupArgumentsInterpreter
{
private readonly MessageCollector _messageCollector;
diff --git a/mRemoteNG/Tools/ConnectionsTreeToMenuItemsConverter.cs b/mRemoteNG/Tools/ConnectionsTreeToMenuItemsConverter.cs
index 109d1995..a72bb30e 100644
--- a/mRemoteNG/Tools/ConnectionsTreeToMenuItemsConverter.cs
+++ b/mRemoteNG/Tools/ConnectionsTreeToMenuItemsConverter.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Runtime.Versioning;
using System.Windows.Forms;
using mRemoteNG.App;
using mRemoteNG.Connection;
@@ -10,6 +11,7 @@ using mRemoteNG.Tree;
namespace mRemoteNG.Tools
{
+ [SupportedOSPlatform("windows")]
public class ConnectionsTreeToMenuItemsConverter
{
public MouseEventHandler MouseUpEventHandler { get; set; }
diff --git a/mRemoteNG/Tools/ExternalToolArgumentParser.cs b/mRemoteNG/Tools/ExternalToolArgumentParser.cs
index 9710f930..fe96c392 100644
--- a/mRemoteNG/Tools/ExternalToolArgumentParser.cs
+++ b/mRemoteNG/Tools/ExternalToolArgumentParser.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.Runtime.Versioning;
using mRemoteNG.App;
using mRemoteNG.Connection;
using mRemoteNG.Properties;
@@ -8,6 +9,7 @@ using mRemoteNG.Tools.Cmdline;
namespace mRemoteNG.Tools
{
+ [SupportedOSPlatform("windows")]
public class ExternalToolArgumentParser
{
private readonly ConnectionInfo _connectionInfo;
diff --git a/mRemoteNG/Tools/ExternalToolsService.cs b/mRemoteNG/Tools/ExternalToolsService.cs
index 5957da98..f2742d7b 100644
--- a/mRemoteNG/Tools/ExternalToolsService.cs
+++ b/mRemoteNG/Tools/ExternalToolsService.cs
@@ -1,12 +1,13 @@
using System.Linq;
+using System.Runtime.Versioning;
using mRemoteNG.Tools.CustomCollections;
namespace mRemoteNG.Tools
{
+ [SupportedOSPlatform("windows")]
public class ExternalToolsService
{
- public FullyObservableCollection ExternalTools { get; set; } =
- new FullyObservableCollection();
+ public FullyObservableCollection ExternalTools { get; set; } = new FullyObservableCollection();
public ExternalTool GetExtAppByName(string name)
{
diff --git a/mRemoteNG/Tools/ExternalToolsTypeConverter.cs b/mRemoteNG/Tools/ExternalToolsTypeConverter.cs
index 4b1378e8..658413e2 100644
--- a/mRemoteNG/Tools/ExternalToolsTypeConverter.cs
+++ b/mRemoteNG/Tools/ExternalToolsTypeConverter.cs
@@ -1,8 +1,10 @@
using System.Collections.Generic;
using System.ComponentModel;
+using System.Runtime.Versioning;
namespace mRemoteNG.Tools
{
+ [SupportedOSPlatform("windows")]
public class ExternalToolsTypeConverter : StringConverter
{
public static string[] ExternalTools
diff --git a/mRemoteNG/Tools/MouseClickSimulator.cs b/mRemoteNG/Tools/MouseClickSimulator.cs
index d0b70226..ca65b6b0 100644
--- a/mRemoteNG/Tools/MouseClickSimulator.cs
+++ b/mRemoteNG/Tools/MouseClickSimulator.cs
@@ -1,10 +1,12 @@
using System;
using System.Drawing;
+using System.Runtime.Versioning;
using System.Windows.Forms;
using mRemoteNG.App;
namespace mRemoteNG.Tools
{
+ [SupportedOSPlatform("windows")]
public class MouseClickSimulator
{
public static void Click(Control controlToClick, Point currentMousePosition)
diff --git a/mRemoteNG/Tools/PortScanner.cs b/mRemoteNG/Tools/PortScanner.cs
index 3ff3939e..a3cd6b9c 100644
--- a/mRemoteNG/Tools/PortScanner.cs
+++ b/mRemoteNG/Tools/PortScanner.cs
@@ -5,6 +5,7 @@ using System.Net;
using System.Net.NetworkInformation;
using System.Net.Sockets;
using System.Runtime.InteropServices;
+using System.Runtime.Versioning;
using System.Threading;
using mRemoteNG.App;
using mRemoteNG.Messages;
@@ -12,6 +13,7 @@ using mRemoteNG.Messages;
namespace mRemoteNG.Tools
{
+ [SupportedOSPlatform("windows")]
public class PortScanner
{
private readonly List _ipAddresses = new List();
@@ -113,9 +115,7 @@ namespace mRemoteNG.Tools
try
{
_hostCount = 0;
- Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg,
- $"Tools.PortScan: Starting scan of {_ipAddresses.Count} hosts...",
- true);
+ Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg, $"Tools.PortScan: Starting scan of {_ipAddresses.Count} hosts...", true);
foreach (var ipAddress in _ipAddresses)
{
RaiseBeginHostScanEvent(ipAddress);
@@ -130,17 +130,13 @@ namespace mRemoteNG.Tools
}
catch (Exception ex)
{
- Runtime.MessageCollector.AddMessage(MessageClass.WarningMsg,
- $"Tools.PortScan: Ping failed for {ipAddress} {Environment.NewLine} {ex.Message}",
- true);
+ Runtime.MessageCollector.AddMessage(MessageClass.WarningMsg, $"Tools.PortScan: Ping failed for {ipAddress} {Environment.NewLine} {ex.Message}", true);
}
}
}
catch (Exception ex)
{
- Runtime.MessageCollector.AddMessage(MessageClass.WarningMsg,
- $"StartScanBG failed (Tools.PortScan) {Environment.NewLine} {ex.Message}",
- true);
+ Runtime.MessageCollector.AddMessage(MessageClass.WarningMsg, $"StartScanBG failed (Tools.PortScan) {Environment.NewLine} {ex.Message}", true);
}
}
diff --git a/mRemoteNG/Tools/ProcessController.cs b/mRemoteNG/Tools/ProcessController.cs
index a57c8f68..de655f2e 100644
--- a/mRemoteNG/Tools/ProcessController.cs
+++ b/mRemoteNG/Tools/ProcessController.cs
@@ -5,9 +5,11 @@ using System.Text;
using mRemoteNG.App;
using mRemoteNG.Properties;
using mRemoteNG.Tools.Cmdline;
+using System.Runtime.Versioning;
namespace mRemoteNG.Tools
{
+ [SupportedOSPlatform("windows")]
public class ProcessController : IDisposable
{
#region Public Methods
diff --git a/mRemoteNG/Tools/PuttyProcessController.cs b/mRemoteNG/Tools/PuttyProcessController.cs
index 869741eb..52b17df1 100644
--- a/mRemoteNG/Tools/PuttyProcessController.cs
+++ b/mRemoteNG/Tools/PuttyProcessController.cs
@@ -1,8 +1,10 @@
using mRemoteNG.Properties;
using mRemoteNG.Tools.Cmdline;
+using System.Runtime.Versioning;
namespace mRemoteNG.Tools
{
+ [SupportedOSPlatform("windows")]
public class PuttyProcessController : ProcessController
{
public bool Start(CommandLineArguments arguments = null)
diff --git a/mRemoteNG/Tools/PuttyTypeDetector.cs b/mRemoteNG/Tools/PuttyTypeDetector.cs
index 37e173f3..36ac2354 100644
--- a/mRemoteNG/Tools/PuttyTypeDetector.cs
+++ b/mRemoteNG/Tools/PuttyTypeDetector.cs
@@ -1,10 +1,12 @@
-using System;
+using System;
using System.Diagnostics;
using mRemoteNG.Connection.Protocol;
using System.IO;
+using System.Runtime.Versioning;
namespace mRemoteNG.Tools
{
+ [SupportedOSPlatform("windows")]
public class PuttyTypeDetector
{
public static PuttyType GetPuttyType()
diff --git a/mRemoteNG/Tools/SSHTunnelTypeConverter.cs b/mRemoteNG/Tools/SSHTunnelTypeConverter.cs
index 8459d245..f537cc3e 100644
--- a/mRemoteNG/Tools/SSHTunnelTypeConverter.cs
+++ b/mRemoteNG/Tools/SSHTunnelTypeConverter.cs
@@ -4,9 +4,11 @@ using mRemoteNG.Connection.Protocol;
using mRemoteNG.Container;
using System.Collections.Generic;
using System.ComponentModel;
+using System.Runtime.Versioning;
namespace mRemoteNG.Tools
{
+ [SupportedOSPlatform("windows")]
public class SshTunnelTypeConverter : StringConverter
{
public static string[] SshTunnels
diff --git a/mRemoteNG/Tools/ScanHost.cs b/mRemoteNG/Tools/ScanHost.cs
index ad347ae8..00ee74ec 100644
--- a/mRemoteNG/Tools/ScanHost.cs
+++ b/mRemoteNG/Tools/ScanHost.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections;
+using System.Runtime.Versioning;
using mRemoteNG.App;
using mRemoteNG.Connection.Protocol.Http;
using mRemoteNG.Connection.Protocol.RDP;
@@ -13,6 +14,7 @@ using mRemoteNG.Resources.Language;
namespace mRemoteNG.Tools
{
+ [SupportedOSPlatform("windows")]
public class ScanHost
{
#region Properties
diff --git a/mRemoteNG/Tools/SecureTransfer.cs b/mRemoteNG/Tools/SecureTransfer.cs
index 2c93e052..7ecf9b67 100644
--- a/mRemoteNG/Tools/SecureTransfer.cs
+++ b/mRemoteNG/Tools/SecureTransfer.cs
@@ -5,9 +5,11 @@ using Renci.SshNet;
using Renci.SshNet.Sftp;
using static System.IO.FileMode;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.Tools
{
+ [SupportedOSPlatform("windows")]
internal class SecureTransfer : IDisposable
{
private readonly string Host;
diff --git a/mRemoteNG/Tools/Tools.WindowPlacement.cs b/mRemoteNG/Tools/Tools.WindowPlacement.cs
index 11171286..3c07d2f8 100644
--- a/mRemoteNG/Tools/Tools.WindowPlacement.cs
+++ b/mRemoteNG/Tools/Tools.WindowPlacement.cs
@@ -1,10 +1,12 @@
-using System;
+using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using mRemoteNG.App;
+using System.Runtime.Versioning;
namespace mRemoteNG.Tools
{
+ [SupportedOSPlatform("windows")]
public class WindowPlacement
{
private Form _form;
diff --git a/mRemoteNG/Tree/ClickHandlers/OpenConnectionClickHandler.cs b/mRemoteNG/Tree/ClickHandlers/OpenConnectionClickHandler.cs
index 81a2c8f3..596c712a 100644
--- a/mRemoteNG/Tree/ClickHandlers/OpenConnectionClickHandler.cs
+++ b/mRemoteNG/Tree/ClickHandlers/OpenConnectionClickHandler.cs
@@ -1,8 +1,10 @@
using System;
+using System.Runtime.Versioning;
using mRemoteNG.Connection;
namespace mRemoteNG.Tree.ClickHandlers
{
+ [SupportedOSPlatform("windows")]
public class OpenConnectionClickHandler : ITreeNodeClickHandler
{
private readonly IConnectionInitiator _connectionInitiator;
diff --git a/mRemoteNG/Tree/ClickHandlers/SwitchToConnectionClickHandler.cs b/mRemoteNG/Tree/ClickHandlers/SwitchToConnectionClickHandler.cs
index 77f13a63..4ad2e480 100644
--- a/mRemoteNG/Tree/ClickHandlers/SwitchToConnectionClickHandler.cs
+++ b/mRemoteNG/Tree/ClickHandlers/SwitchToConnectionClickHandler.cs
@@ -1,8 +1,10 @@
using System;
+using System.Runtime.Versioning;
using mRemoteNG.Connection;
namespace mRemoteNG.Tree.ClickHandlers
{
+ [SupportedOSPlatform("windows")]
public class SwitchToConnectionClickHandler : ITreeNodeClickHandler
{
private readonly IConnectionInitiator _connectionInitiator;
diff --git a/mRemoteNG/Tree/ClickHandlers/TreeNodeCompositeClickHandler.cs b/mRemoteNG/Tree/ClickHandlers/TreeNodeCompositeClickHandler.cs
index fc8ba718..327b0bde 100644
--- a/mRemoteNG/Tree/ClickHandlers/TreeNodeCompositeClickHandler.cs
+++ b/mRemoteNG/Tree/ClickHandlers/TreeNodeCompositeClickHandler.cs
@@ -1,9 +1,11 @@
using System;
using System.Collections.Generic;
+using System.Runtime.Versioning;
using mRemoteNG.Connection;
namespace mRemoteNG.Tree.ClickHandlers
{
+ [SupportedOSPlatform("windows")]
public class TreeNodeCompositeClickHandler : ITreeNodeClickHandler
{
public IEnumerable> ClickHandlers { get; set; } =
diff --git a/mRemoteNG/Tree/ConnectionTreeDragAndDropHandler.cs b/mRemoteNG/Tree/ConnectionTreeDragAndDropHandler.cs
index b97f6bf1..a70d802a 100644
--- a/mRemoteNG/Tree/ConnectionTreeDragAndDropHandler.cs
+++ b/mRemoteNG/Tree/ConnectionTreeDragAndDropHandler.cs
@@ -6,10 +6,11 @@ using mRemoteNG.Connection;
using mRemoteNG.Container;
using mRemoteNG.Tree.Root;
using mRemoteNG.Resources.Language;
-
+using System.Runtime.Versioning;
namespace mRemoteNG.Tree
{
+ [SupportedOSPlatform("windows")]
public class ConnectionTreeDragAndDropHandler
{
private readonly Color DropAllowedFeedbackColor = Color.Green;
diff --git a/mRemoteNG/Tree/ConnectionTreeModel.cs b/mRemoteNG/Tree/ConnectionTreeModel.cs
index 4400544b..676ef130 100644
--- a/mRemoteNG/Tree/ConnectionTreeModel.cs
+++ b/mRemoteNG/Tree/ConnectionTreeModel.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
+using System.Runtime.Versioning;
using mRemoteNG.Connection;
using mRemoteNG.Container;
using mRemoteNG.Properties;
@@ -9,6 +10,7 @@ using mRemoteNG.Tree.Root;
namespace mRemoteNG.Tree
{
+ [SupportedOSPlatform("windows")]
public sealed class ConnectionTreeModel : INotifyCollectionChanged, INotifyPropertyChanged
{
public List RootNodes { get; } = new List();
diff --git a/mRemoteNG/Tree/NodeSearcher.cs b/mRemoteNG/Tree/NodeSearcher.cs
index 21d83912..655ab8bc 100644
--- a/mRemoteNG/Tree/NodeSearcher.cs
+++ b/mRemoteNG/Tree/NodeSearcher.cs
@@ -1,10 +1,12 @@
using System.Collections.Generic;
using System.Linq;
+using System.Runtime.Versioning;
using mRemoteNG.Connection;
namespace mRemoteNG.Tree
{
+ [SupportedOSPlatform("windows")]
public class NodeSearcher
{
private readonly ConnectionTreeModel _connectionTreeModel;
diff --git a/mRemoteNG/Tree/PreviousSessionOpener.cs b/mRemoteNG/Tree/PreviousSessionOpener.cs
index a1829945..111fe87f 100644
--- a/mRemoteNG/Tree/PreviousSessionOpener.cs
+++ b/mRemoteNG/Tree/PreviousSessionOpener.cs
@@ -3,10 +3,11 @@ using mRemoteNG.Container;
using System;
using System.Linq;
using mRemoteNG.UI.Controls.ConnectionTree;
-
+using System.Runtime.Versioning;
namespace mRemoteNG.Tree
{
+ [SupportedOSPlatform("windows")]
public class PreviousSessionOpener : IConnectionTreeDelegate
{
private readonly IConnectionInitiator _connectionInitiator;
diff --git a/mRemoteNG/Tree/PreviouslyOpenedFolderExpander.cs b/mRemoteNG/Tree/PreviouslyOpenedFolderExpander.cs
index ab42c43e..6ba25e52 100644
--- a/mRemoteNG/Tree/PreviouslyOpenedFolderExpander.cs
+++ b/mRemoteNG/Tree/PreviouslyOpenedFolderExpander.cs
@@ -1,10 +1,12 @@
using System.Linq;
+using System.Runtime.Versioning;
using mRemoteNG.Container;
using mRemoteNG.UI.Controls.ConnectionTree;
namespace mRemoteNG.Tree
{
+ [SupportedOSPlatform("windows")]
public class PreviouslyOpenedFolderExpander : IConnectionTreeDelegate
{
public void Execute(IConnectionTree connectionTree)
diff --git a/mRemoteNG/Tree/Root/RootNodeInfo.cs b/mRemoteNG/Tree/Root/RootNodeInfo.cs
index b738cda1..64256e3c 100644
--- a/mRemoteNG/Tree/Root/RootNodeInfo.cs
+++ b/mRemoteNG/Tree/Root/RootNodeInfo.cs
@@ -4,10 +4,11 @@ using mRemoteNG.Connection;
using mRemoteNG.Container;
using mRemoteNG.Tools;
using mRemoteNG.Resources.Language;
-
+using System.Runtime.Versioning;
namespace mRemoteNG.Tree.Root
{
+ [SupportedOSPlatform("windows")]
[DefaultProperty("Name")]
public class RootNodeInfo : ContainerInfo
{
diff --git a/mRemoteNG/Tree/Root/RootPuttySessionsNodeInfo.cs b/mRemoteNG/Tree/Root/RootPuttySessionsNodeInfo.cs
index 748fd1df..de05341f 100644
--- a/mRemoteNG/Tree/Root/RootPuttySessionsNodeInfo.cs
+++ b/mRemoteNG/Tree/Root/RootPuttySessionsNodeInfo.cs
@@ -1,9 +1,11 @@
using mRemoteNG.Properties;
using mRemoteNG.Tools;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.Tree.Root
{
+ [SupportedOSPlatform("windows")]
public class RootPuttySessionsNodeInfo : RootNodeInfo
{
private string _name;
diff --git a/mRemoteNG/UI/Controls/Adapters/CredentialRecordListAdaptor.cs b/mRemoteNG/UI/Controls/Adapters/CredentialRecordListAdaptor.cs
index 6ea56b0b..38a26569 100644
--- a/mRemoteNG/UI/Controls/Adapters/CredentialRecordListAdaptor.cs
+++ b/mRemoteNG/UI/Controls/Adapters/CredentialRecordListAdaptor.cs
@@ -1,11 +1,13 @@
using System;
using System.ComponentModel;
using System.Drawing.Design;
+using System.Runtime.Versioning;
using System.Windows.Forms.Design;
using mRemoteNG.App;
namespace mRemoteNG.UI.Controls.Adapters
{
+ [SupportedOSPlatform("windows")]
public class CredentialRecordListAdaptor : UITypeEditor
{
private IWindowsFormsEditorService _editorService;
diff --git a/mRemoteNG/UI/Controls/ConnectionInfoPropertyGrid/ConnectionInfoPropertyGrid.cs b/mRemoteNG/UI/Controls/ConnectionInfoPropertyGrid/ConnectionInfoPropertyGrid.cs
index cbfbe437..0b86819c 100644
--- a/mRemoteNG/UI/Controls/ConnectionInfoPropertyGrid/ConnectionInfoPropertyGrid.cs
+++ b/mRemoteNG/UI/Controls/ConnectionInfoPropertyGrid/ConnectionInfoPropertyGrid.cs
@@ -17,9 +17,11 @@ using mRemoteNG.Tools;
using mRemoteNG.Tools.Attributes;
using mRemoteNG.Tree.Root;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Controls.ConnectionInfoPropertyGrid
{
+ [SupportedOSPlatform("windows")]
public partial class ConnectionInfoPropertyGrid : FilteredPropertyGrid.FilteredPropertyGrid
{
private readonly Dictionary> _propertyCache = new Dictionary>();
diff --git a/mRemoteNG/UI/Controls/ConnectionTree/ConnectionTreeSearchTextFilter.cs b/mRemoteNG/UI/Controls/ConnectionTree/ConnectionTreeSearchTextFilter.cs
index 1761713c..f137de52 100644
--- a/mRemoteNG/UI/Controls/ConnectionTree/ConnectionTreeSearchTextFilter.cs
+++ b/mRemoteNG/UI/Controls/ConnectionTree/ConnectionTreeSearchTextFilter.cs
@@ -1,9 +1,11 @@
using System.Collections.Generic;
+using System.Runtime.Versioning;
using BrightIdeasSoftware;
using mRemoteNG.Connection;
namespace mRemoteNG.UI.Controls.ConnectionTree
{
+ [SupportedOSPlatform("windows")]
public class ConnectionTreeSearchTextFilter : IModelFilter
{
public string FilterText { get; set; } = "";
diff --git a/mRemoteNG/UI/Controls/ExternalToolsToolStrip.cs b/mRemoteNG/UI/Controls/ExternalToolsToolStrip.cs
index eac40059..cefaa76e 100644
--- a/mRemoteNG/UI/Controls/ExternalToolsToolStrip.cs
+++ b/mRemoteNG/UI/Controls/ExternalToolsToolStrip.cs
@@ -6,9 +6,11 @@ using mRemoteNG.Messages;
using mRemoteNG.Tools;
using mRemoteNG.Tree;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Controls
{
+ [SupportedOSPlatform("windows")]
public class ExternalToolsToolStrip : ToolStrip
{
private IContainer components;
@@ -18,8 +20,7 @@ namespace mRemoteNG.UI.Controls
public ExternalToolsToolStrip()
{
Initialize();
- Runtime.ExternalToolsService.ExternalTools.CollectionUpdated +=
- (sender, args) => AddExternalToolsToToolBar();
+ Runtime.ExternalToolsService.ExternalTools.CollectionUpdated += (sender, args) => AddExternalToolsToToolBar();
}
private void Initialize()
@@ -105,9 +106,7 @@ namespace mRemoteNG.UI.Controls
extA.Start(selectedTreeNode);
else
{
- Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg,
- "No connection was selected, external tool may return errors.",
- true);
+ Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg, "No connection was selected, external tool may return errors.", true);
extA.Start();
}
}
diff --git a/mRemoteNG/UI/Controls/MultiSshToolStrip.cs b/mRemoteNG/UI/Controls/MultiSshToolStrip.cs
index 9764d9f4..498c8ff9 100644
--- a/mRemoteNG/UI/Controls/MultiSshToolStrip.cs
+++ b/mRemoteNG/UI/Controls/MultiSshToolStrip.cs
@@ -8,9 +8,11 @@ using mRemoteNG.App;
using mRemoteNG.Connection;
using mRemoteNG.Connection.Protocol;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Controls
{
+ [SupportedOSPlatform("windows")]
public partial class MultiSshToolStrip : ToolStrip
{
private IContainer components;
@@ -74,8 +76,7 @@ namespace mRemoteNG.UI.Controls
processHandlers.AddRange(ProcessOpenConnections(connection));
}
- var connectionTreeConnections = Runtime.ConnectionsService.ConnectionTreeModel.GetRecursiveChildList()
- .Where(item => item.OpenConnections.Count > 0);
+ var connectionTreeConnections = Runtime.ConnectionsService.ConnectionTreeModel.GetRecursiveChildList().Where(item => item.OpenConnections.Count > 0);
foreach (var connection in connectionTreeConnections)
{
diff --git a/mRemoteNG/UI/Controls/PageSequence/PageSequence.cs b/mRemoteNG/UI/Controls/PageSequence/PageSequence.cs
index fe11dc3e..ebf4874a 100644
--- a/mRemoteNG/UI/Controls/PageSequence/PageSequence.cs
+++ b/mRemoteNG/UI/Controls/PageSequence/PageSequence.cs
@@ -1,10 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Runtime.Versioning;
using System.Windows.Forms;
namespace mRemoteNG.UI.Controls.PageSequence
{
+ [SupportedOSPlatform("windows")]
public class PageSequence : IDisposable
{
private readonly Control _pageContainer;
@@ -13,8 +15,7 @@ namespace mRemoteNG.UI.Controls.PageSequence
public IEnumerable Pages => _pages;
public int CurrentPageIndex { get; private set; }
- public PageSequence(Control pageContainer, IEnumerable pages) : this(pageContainer,
- pages.ToArray())
+ public PageSequence(Control pageContainer, IEnumerable pages) : this(pageContainer, pages.ToArray())
{
}
diff --git a/mRemoteNG/UI/Controls/QuickConnectToolStrip.cs b/mRemoteNG/UI/Controls/QuickConnectToolStrip.cs
index 6f838bc9..ded6f5d9 100644
--- a/mRemoteNG/UI/Controls/QuickConnectToolStrip.cs
+++ b/mRemoteNG/UI/Controls/QuickConnectToolStrip.cs
@@ -12,9 +12,11 @@ using mRemoteNG.Properties;
using mRemoteNG.Themes;
using mRemoteNG.Tools;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Controls
{
+ [SupportedOSPlatform("windows")]
public class QuickConnectToolStrip : ToolStrip
{
private IContainer components;
diff --git a/mRemoteNG/UI/Controls/mrngAdTree.cs b/mRemoteNG/UI/Controls/mrngAdTree.cs
index c151f35c..54f93f3c 100644
--- a/mRemoteNG/UI/Controls/mrngAdTree.cs
+++ b/mRemoteNG/UI/Controls/mrngAdTree.cs
@@ -1,10 +1,12 @@
using mRemoteNG.Tools;
using System;
using System.Runtime.CompilerServices;
+using System.Runtime.Versioning;
using System.Windows.Forms;
namespace mRemoteNG.UI.Controls
{
+ [SupportedOSPlatform("windows")]
public partial class MrngAdTree : UserControl
{
#region Public Methods
diff --git a/mRemoteNG/UI/Controls/mrngPictureBox.cs b/mRemoteNG/UI/Controls/mrngPictureBox.cs
index b3f241a2..012876ca 100644
--- a/mRemoteNG/UI/Controls/mrngPictureBox.cs
+++ b/mRemoteNG/UI/Controls/mrngPictureBox.cs
@@ -1,9 +1,11 @@
using System.ComponentModel;
+using System.Runtime.Versioning;
using System.Windows.Forms;
using mRemoteNG.Themes;
namespace mRemoteNG.UI.Controls
{
+ [SupportedOSPlatform("windows")]
public partial class MrngPictureBox : PictureBox
{
private ThemeManager _themeManager;
diff --git a/mRemoteNG/UI/DialogFactory.cs b/mRemoteNG/UI/DialogFactory.cs
index f78de0c8..fe4864ed 100644
--- a/mRemoteNG/UI/DialogFactory.cs
+++ b/mRemoteNG/UI/DialogFactory.cs
@@ -8,9 +8,11 @@ using mRemoteNG.App.Info;
using mRemoteNG.Messages;
using mRemoteNG.UI.TaskDialog;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI
{
+ [SupportedOSPlatform("windows")]
public class DialogFactory
{
public static OpenFileDialog BuildLoadConnectionsDialog()
diff --git a/mRemoteNG/UI/Forms/FrmAbout.cs b/mRemoteNG/UI/Forms/FrmAbout.cs
index e5738f12..5bb4cbfb 100644
--- a/mRemoteNG/UI/Forms/FrmAbout.cs
+++ b/mRemoteNG/UI/Forms/FrmAbout.cs
@@ -6,9 +6,11 @@ using mRemoteNG.Resources.Language;
using System.Reflection;
using mRemoteNG.Properties;
using System.Runtime.InteropServices;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Forms
{
+ [SupportedOSPlatform("windows")]
public partial class frmAbout : Form
{
public static frmAbout Instance { get; set; } = new frmAbout();
diff --git a/mRemoteNG/UI/Forms/FrmExport.cs b/mRemoteNG/UI/Forms/FrmExport.cs
index 29dc3246..1376805d 100644
--- a/mRemoteNG/UI/Forms/FrmExport.cs
+++ b/mRemoteNG/UI/Forms/FrmExport.cs
@@ -7,9 +7,11 @@ using mRemoteNG.Connection;
using mRemoteNG.Container;
using mRemoteNG.Themes;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Forms
{
+ [SupportedOSPlatform("windows")]
public partial class FrmExport
{
private ThemeManager _themeManager;
diff --git a/mRemoteNG/UI/Forms/FrmInputBox.cs b/mRemoteNG/UI/Forms/FrmInputBox.cs
index a04afb95..59bb8fe2 100644
--- a/mRemoteNG/UI/Forms/FrmInputBox.cs
+++ b/mRemoteNG/UI/Forms/FrmInputBox.cs
@@ -1,9 +1,11 @@
using System.Windows.Forms;
using mRemoteNG.Themes;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Forms
{
+ [SupportedOSPlatform("windows")]
public sealed partial class FrmInputBox : Form
{
internal string returnValue;
diff --git a/mRemoteNG/UI/Forms/FrmPassword.cs b/mRemoteNG/UI/Forms/FrmPassword.cs
index 20363086..b07de48d 100644
--- a/mRemoteNG/UI/Forms/FrmPassword.cs
+++ b/mRemoteNG/UI/Forms/FrmPassword.cs
@@ -5,9 +5,11 @@ using mRemoteNG.Security;
using mRemoteNG.Themes;
using mRemoteNG.Tools;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Forms
{
+ [SupportedOSPlatform("windows")]
public partial class FrmPassword : IKeyProvider
{
private readonly string _passwordName;
diff --git a/mRemoteNG/UI/Forms/FrmSplashScreenNew.xaml.cs b/mRemoteNG/UI/Forms/FrmSplashScreenNew.xaml.cs
index 4760285b..35bb1037 100644
--- a/mRemoteNG/UI/Forms/FrmSplashScreenNew.xaml.cs
+++ b/mRemoteNG/UI/Forms/FrmSplashScreenNew.xaml.cs
@@ -1,8 +1,10 @@
using System;
+using System.Runtime.Versioning;
using mRemoteNG.App.Info;
namespace mRemoteNG.UI.Forms
{
+ [SupportedOSPlatform("windows")]
///
/// Interaction logic for FrmSplashScreenNew.xaml
///
diff --git a/mRemoteNG/UI/Forms/FrmUnhandledException.cs b/mRemoteNG/UI/Forms/FrmUnhandledException.cs
index 34ff87d9..e45cb9e1 100644
--- a/mRemoteNG/UI/Forms/FrmUnhandledException.cs
+++ b/mRemoteNG/UI/Forms/FrmUnhandledException.cs
@@ -1,6 +1,7 @@
using System;
using System.Diagnostics;
using System.Linq;
+using System.Runtime.Versioning;
using System.Text;
using System.Windows.Forms;
using mRemoteNG.App;
@@ -9,6 +10,7 @@ using mRemoteNG.Resources.Language;
namespace mRemoteNG.UI.Forms
{
+ [SupportedOSPlatform("windows")]
public partial class FrmUnhandledException : Form
{
private readonly bool _isFatal;
diff --git a/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.cs b/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.cs
index 6dcc9af2..1854373d 100644
--- a/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.cs
+++ b/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.cs
@@ -8,9 +8,11 @@ using mRemoteNG.Connection.Protocol;
using mRemoteNG.Properties;
using mRemoteNG.Tools;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Forms.OptionsPages
{
+ [SupportedOSPlatform("windows")]
public sealed partial class AdvancedPage
{
public AdvancedPage()
diff --git a/mRemoteNG/UI/Forms/OptionsPages/AppearancePage.cs b/mRemoteNG/UI/Forms/OptionsPages/AppearancePage.cs
index b1b9f162..98dba43d 100644
--- a/mRemoteNG/UI/Forms/OptionsPages/AppearancePage.cs
+++ b/mRemoteNG/UI/Forms/OptionsPages/AppearancePage.cs
@@ -4,9 +4,11 @@ using mRemoteNG.App;
using mRemoteNG.Properties;
using mRemoteNG.Tools;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Forms.OptionsPages
{
+ [SupportedOSPlatform("windows")]
public sealed partial class AppearancePage
{
public AppearancePage()
diff --git a/mRemoteNG/UI/Forms/OptionsPages/ConnectionsPage.cs b/mRemoteNG/UI/Forms/OptionsPages/ConnectionsPage.cs
index 15234124..3a6264b0 100644
--- a/mRemoteNG/UI/Forms/OptionsPages/ConnectionsPage.cs
+++ b/mRemoteNG/UI/Forms/OptionsPages/ConnectionsPage.cs
@@ -4,9 +4,11 @@ using System.Collections.Generic;
using mRemoteNG.Config.Connections;
using mRemoteNG.Properties;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Forms.OptionsPages
{
+ [SupportedOSPlatform("windows")]
public sealed partial class ConnectionsPage
{
private readonly FrmMain _frmMain = FrmMain.Default;
diff --git a/mRemoteNG/UI/Forms/OptionsPages/CredentialsPage.cs b/mRemoteNG/UI/Forms/OptionsPages/CredentialsPage.cs
index 13b45faf..3fbbbda0 100644
--- a/mRemoteNG/UI/Forms/OptionsPages/CredentialsPage.cs
+++ b/mRemoteNG/UI/Forms/OptionsPages/CredentialsPage.cs
@@ -3,9 +3,11 @@ using mRemoteNG.App;
using mRemoteNG.Properties;
using mRemoteNG.Security.SymmetricEncryption;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Forms.OptionsPages
{
+ [SupportedOSPlatform("windows")]
public sealed partial class CredentialsPage : OptionsPage
{
public CredentialsPage()
@@ -51,8 +53,7 @@ namespace mRemoteNG.UI.Forms.OptionsPages
txtCredentialsUsername.Text = Properties.OptionsCredentialsPage.Default.DefaultUsername;
var cryptographyProvider = new LegacyRijndaelCryptographyProvider();
- txtCredentialsPassword.Text =
- cryptographyProvider.Decrypt(Properties.OptionsCredentialsPage.Default.DefaultPassword, Runtime.EncryptionKey);
+ txtCredentialsPassword.Text = cryptographyProvider.Decrypt(Properties.OptionsCredentialsPage.Default.DefaultPassword, Runtime.EncryptionKey);
txtCredentialsDomain.Text = Properties.OptionsCredentialsPage.Default.DefaultDomain;
txtCredentialsUserViaAPI.Text = Properties.OptionsCredentialsPage.Default.UserViaAPIDefault;
}
@@ -74,8 +75,7 @@ namespace mRemoteNG.UI.Forms.OptionsPages
Properties.OptionsCredentialsPage.Default.DefaultUsername = txtCredentialsUsername.Text;
var cryptographyProvider = new LegacyRijndaelCryptographyProvider();
- Properties.OptionsCredentialsPage.Default.DefaultPassword =
- cryptographyProvider.Encrypt(txtCredentialsPassword.Text, Runtime.EncryptionKey);
+ Properties.OptionsCredentialsPage.Default.DefaultPassword = cryptographyProvider.Encrypt(txtCredentialsPassword.Text, Runtime.EncryptionKey);
Properties.OptionsCredentialsPage.Default.DefaultDomain = txtCredentialsDomain.Text;
Properties.OptionsCredentialsPage.Default.UserViaAPIDefault = txtCredentialsUserViaAPI.Text;
}
diff --git a/mRemoteNG/UI/Forms/OptionsPages/NotificationsPage.cs b/mRemoteNG/UI/Forms/OptionsPages/NotificationsPage.cs
index 6b6737b1..9ac19ae7 100644
--- a/mRemoteNG/UI/Forms/OptionsPages/NotificationsPage.cs
+++ b/mRemoteNG/UI/Forms/OptionsPages/NotificationsPage.cs
@@ -1,5 +1,6 @@
using System.Diagnostics;
using System.IO;
+using System.Runtime.Versioning;
using System.Windows.Forms;
using mRemoteNG.App;
using mRemoteNG.Properties;
@@ -7,6 +8,7 @@ using mRemoteNG.Resources.Language;
namespace mRemoteNG.UI.Forms.OptionsPages
{
+ [SupportedOSPlatform("windows")]
public sealed partial class NotificationsPage
{
public NotificationsPage()
diff --git a/mRemoteNG/UI/Forms/OptionsPages/SecurityPage.cs b/mRemoteNG/UI/Forms/OptionsPages/SecurityPage.cs
index d1aca220..9cd3f692 100644
--- a/mRemoteNG/UI/Forms/OptionsPages/SecurityPage.cs
+++ b/mRemoteNG/UI/Forms/OptionsPages/SecurityPage.cs
@@ -9,9 +9,11 @@ using mRemoteNG.Properties;
using mRemoteNG.Security;
using mRemoteNG.Security.Factories;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Forms.OptionsPages
{
+ [SupportedOSPlatform("windows")]
public sealed partial class SecurityPage : OptionsPage
{
public SecurityPage()
diff --git a/mRemoteNG/UI/Forms/OptionsPages/SqlServerPage.cs b/mRemoteNG/UI/Forms/OptionsPages/SqlServerPage.cs
index 4ee42ab4..9db6aa15 100644
--- a/mRemoteNG/UI/Forms/OptionsPages/SqlServerPage.cs
+++ b/mRemoteNG/UI/Forms/OptionsPages/SqlServerPage.cs
@@ -5,9 +5,11 @@ using mRemoteNG.Config.DatabaseConnectors;
using mRemoteNG.Properties;
using mRemoteNG.Security.SymmetricEncryption;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Forms.OptionsPages
{
+ [SupportedOSPlatform("windows")]
public sealed partial class SqlServerPage
{
private readonly DatabaseConnectionTester _databaseConnectionTester;
diff --git a/mRemoteNG/UI/Forms/OptionsPages/StartupExitPage.cs b/mRemoteNG/UI/Forms/OptionsPages/StartupExitPage.cs
index ba231f10..47d0802c 100644
--- a/mRemoteNG/UI/Forms/OptionsPages/StartupExitPage.cs
+++ b/mRemoteNG/UI/Forms/OptionsPages/StartupExitPage.cs
@@ -1,11 +1,14 @@
using System;
+using System.Runtime.Versioning;
using mRemoteNG.Properties;
using mRemoteNG.Resources.Language;
namespace mRemoteNG.UI.Forms.OptionsPages
{
+ [SupportedOSPlatform("windows")]
public sealed partial class StartupExitPage
{
+ [SupportedOSPlatform("windows")]
public StartupExitPage()
{
InitializeComponent();
diff --git a/mRemoteNG/UI/Forms/OptionsPages/TabsPanelsPage.cs b/mRemoteNG/UI/Forms/OptionsPages/TabsPanelsPage.cs
index da5be493..0c508992 100644
--- a/mRemoteNG/UI/Forms/OptionsPages/TabsPanelsPage.cs
+++ b/mRemoteNG/UI/Forms/OptionsPages/TabsPanelsPage.cs
@@ -1,8 +1,10 @@
using mRemoteNG.Properties;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Forms.OptionsPages
{
+ [SupportedOSPlatform("windows")]
public sealed partial class TabsPanelsPage
{
public TabsPanelsPage()
diff --git a/mRemoteNG/UI/Forms/OptionsPages/ThemePage.cs b/mRemoteNG/UI/Forms/OptionsPages/ThemePage.cs
index dae03e3a..2d534f1f 100644
--- a/mRemoteNG/UI/Forms/OptionsPages/ThemePage.cs
+++ b/mRemoteNG/UI/Forms/OptionsPages/ThemePage.cs
@@ -7,9 +7,11 @@ using BrightIdeasSoftware;
using mRemoteNG.Properties;
using mRemoteNG.UI.TaskDialog;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Forms.OptionsPages
{
+ [SupportedOSPlatform("windows")]
public sealed partial class ThemePage
{
#region Private Fields
@@ -177,9 +179,7 @@ namespace mRemoteNG.UI.Forms.OptionsPages
private void btnThemeNew_Click(object sender, EventArgs e)
{
- using (var frmInputBox = new FrmInputBox(Language.OptionsThemeNewThemeCaption,
- Language.OptionsThemeNewThemeText,
- _themeManager.ActiveTheme.Name))
+ using (var frmInputBox = new FrmInputBox(Language.OptionsThemeNewThemeCaption, Language.OptionsThemeNewThemeText, _themeManager.ActiveTheme.Name))
{
var dr = frmInputBox.ShowDialog();
if (dr != DialogResult.OK) return;
@@ -191,9 +191,7 @@ namespace mRemoteNG.UI.Forms.OptionsPages
}
else
{
- CTaskDialog.ShowTaskDialogBox(this, Language.Errors, Language.OptionsThemeNewThemeError, "",
- "", "", "", "", "", ETaskDialogButtons.Ok, ESysIcons.Error,
- ESysIcons.Information, 0);
+ CTaskDialog.ShowTaskDialogBox(this, Language.Errors, Language.OptionsThemeNewThemeError, "", "", "", "", "", "", ETaskDialogButtons.Ok, ESysIcons.Error, ESysIcons.Information, 0);
}
}
}
diff --git a/mRemoteNG/UI/Forms/OptionsPages/UpdatesPage.cs b/mRemoteNG/UI/Forms/OptionsPages/UpdatesPage.cs
index 95696fdb..93c87d2a 100644
--- a/mRemoteNG/UI/Forms/OptionsPages/UpdatesPage.cs
+++ b/mRemoteNG/UI/Forms/OptionsPages/UpdatesPage.cs
@@ -9,9 +9,11 @@ using mRemoteNG.Security.SymmetricEncryption;
using mRemoteNG.Tools;
using mRemoteNG.UI.TaskDialog;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Forms.OptionsPages
{
+ [SupportedOSPlatform("windows")]
public sealed partial class UpdatesPage
{
#region Private Fields
diff --git a/mRemoteNG/UI/Forms/frmChoosePanel.cs b/mRemoteNG/UI/Forms/frmChoosePanel.cs
index 432b782f..05269d30 100644
--- a/mRemoteNG/UI/Forms/frmChoosePanel.cs
+++ b/mRemoteNG/UI/Forms/frmChoosePanel.cs
@@ -3,9 +3,11 @@ using mRemoteNG.App;
using mRemoteNG.Themes;
using mRemoteNG.UI.Panels;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Forms
{
+ [SupportedOSPlatform("windows")]
public partial class FrmChoosePanel
{
private readonly PanelAdder _panelAdder;
diff --git a/mRemoteNG/UI/Menu/AdvancedWindowMenu.cs b/mRemoteNG/UI/Menu/AdvancedWindowMenu.cs
index 96550245..67fa2502 100644
--- a/mRemoteNG/UI/Menu/AdvancedWindowMenu.cs
+++ b/mRemoteNG/UI/Menu/AdvancedWindowMenu.cs
@@ -2,9 +2,11 @@
using System.Windows.Forms;
using mRemoteNG.Tools;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Menu
{
+ [SupportedOSPlatform("windows")]
// This class creates new menu items to menu that appears when you right click the top of the app (where the window title is)
public class AdvancedWindowMenu : IDisposable
{
diff --git a/mRemoteNG/UI/Menu/msMain/FileMenu.cs b/mRemoteNG/UI/Menu/msMain/FileMenu.cs
index bf7d9092..24892411 100644
--- a/mRemoteNG/UI/Menu/msMain/FileMenu.cs
+++ b/mRemoteNG/UI/Menu/msMain/FileMenu.cs
@@ -7,9 +7,11 @@ using mRemoteNG.Security;
using mRemoteNG.UI.Forms;
using mRemoteNG.UI.Window;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Menu
{
+ [SupportedOSPlatform("windows")]
public class FileMenu : ToolStripMenuItem
{
private ToolStripMenuItem _mMenToolsOptions;
diff --git a/mRemoteNG/UI/Menu/msMain/HelpMenu.cs b/mRemoteNG/UI/Menu/msMain/HelpMenu.cs
index 85f2f263..c4675bd1 100644
--- a/mRemoteNG/UI/Menu/msMain/HelpMenu.cs
+++ b/mRemoteNG/UI/Menu/msMain/HelpMenu.cs
@@ -5,9 +5,11 @@ using mRemoteNG.App;
using mRemoteNG.App.Info;
using mRemoteNG.UI.Forms;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Menu
{
+ [SupportedOSPlatform("windows")]
public class HelpMenu : ToolStripMenuItem
{
private ToolStripMenuItem _mMenInfoHelp;
diff --git a/mRemoteNG/UI/Menu/msMain/ToolsMenu.cs b/mRemoteNG/UI/Menu/msMain/ToolsMenu.cs
index 32f83022..25b8e213 100644
--- a/mRemoteNG/UI/Menu/msMain/ToolsMenu.cs
+++ b/mRemoteNG/UI/Menu/msMain/ToolsMenu.cs
@@ -1,4 +1,5 @@
using System;
+using System.Runtime.Versioning;
using System.Windows.Forms;
using mRemoteNG.App;
using mRemoteNG.Credential;
@@ -6,6 +7,7 @@ using mRemoteNG.Resources.Language;
namespace mRemoteNG.UI.Menu
{
+ [SupportedOSPlatform("windows")]
public class ToolsMenu : ToolStripMenuItem
{
private ToolStripMenuItem _mMenToolsSshTransfer;
diff --git a/mRemoteNG/UI/Panels/PanelAdder.cs b/mRemoteNG/UI/Panels/PanelAdder.cs
index 5ad5ca78..e33ddbe6 100644
--- a/mRemoteNG/UI/Panels/PanelAdder.cs
+++ b/mRemoteNG/UI/Panels/PanelAdder.cs
@@ -8,9 +8,11 @@ using System.Linq;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Panels
{
+ [SupportedOSPlatform("windows")]
public class PanelAdder
{
public ConnectionWindow AddPanel(string title = "")
diff --git a/mRemoteNG/UI/Tabs/ConnectionTab.cs b/mRemoteNG/UI/Tabs/ConnectionTab.cs
index 31c9faff..894f7ccc 100644
--- a/mRemoteNG/UI/Tabs/ConnectionTab.cs
+++ b/mRemoteNG/UI/Tabs/ConnectionTab.cs
@@ -10,9 +10,11 @@ using mRemoteNG.Properties;
using mRemoteNG.UI.TaskDialog;
using WeifenLuo.WinFormsUI.Docking;
using mRemoteNG.Resources.Language;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Tabs
{
+ [SupportedOSPlatform("windows")]
public partial class ConnectionTab : DockContent
{
///
diff --git a/mRemoteNG/UI/Tabs/TabHelper.cs b/mRemoteNG/UI/Tabs/TabHelper.cs
index 62e102d8..32abad7f 100644
--- a/mRemoteNG/UI/Tabs/TabHelper.cs
+++ b/mRemoteNG/UI/Tabs/TabHelper.cs
@@ -1,9 +1,11 @@
using mRemoteNG.App;
using mRemoteNG.UI.Window;
using System;
+using System.Runtime.Versioning;
namespace mRemoteNG.UI.Tabs
{
+ [SupportedOSPlatform("windows")]
class TabHelper
{
private static readonly Lazy lazyHelper = new Lazy(() => new TabHelper());
@@ -23,8 +25,7 @@ namespace mRemoteNG.UI.Tabs
{
currentTab = value;
findCurrentPanel();
- Runtime.MessageCollector.AddMessage(Messages.MessageClass.DebugMsg,
- "Tab got focused: " + currentTab.TabText);
+ Runtime.MessageCollector.AddMessage(Messages.MessageClass.DebugMsg, "Tab got focused: " + currentTab.TabText);
}
}
diff --git a/mRemoteNG/UI/TaskDialog/cTaskDialog.cs b/mRemoteNG/UI/TaskDialog/cTaskDialog.cs
index bd4f4795..f043526d 100644
--- a/mRemoteNG/UI/TaskDialog/cTaskDialog.cs
+++ b/mRemoteNG/UI/TaskDialog/cTaskDialog.cs
@@ -5,11 +5,7 @@ using System.Windows.Forms;
namespace mRemoteNG.UI.TaskDialog
{
[SupportedOSPlatform("windows")]
- //--------------------------------------------------------------------------------
-
#region PUBLIC enums
-
- //--------------------------------------------------------------------------------
public enum ESysIcons
{
Information,
@@ -28,10 +24,8 @@ namespace mRemoteNG.UI.TaskDialog
Cancel,
None
}
-
#endregion
- //--------------------------------------------------------------------------------
public static class CTaskDialog
{
// PUBLIC static values...
@@ -52,20 +46,7 @@ namespace mRemoteNG.UI.TaskDialog
#region ShowTaskDialogBox
//--------------------------------------------------------------------------------
- public static DialogResult ShowTaskDialogBox(IWin32Window owner,
- string title,
- string mainInstruction,
- string content,
- string expandedInfo,
- string footer,
- string verificationText,
- string radioButtons,
- string commandButtons,
- ETaskDialogButtons buttons,
- ESysIcons mainIcon,
- ESysIcons footerIcon,
- int defaultIndex)
-
+ public static DialogResult ShowTaskDialogBox(IWin32Window owner, string title, string mainInstruction, string content, string expandedInfo, string footer, string verificationText, string radioButtons, string commandButtons, ETaskDialogButtons buttons, ESysIcons mainIcon, ESysIcons footerIcon, int defaultIndex)
{
DialogResult result;
OnTaskDialogShown?.Invoke(null, EventArgs.Empty);
@@ -114,8 +95,7 @@ namespace mRemoteNG.UI.TaskDialog
ESysIcons mainIcon,
ESysIcons footerIcon)
{
- return ShowTaskDialogBox(owner, title, mainInstruction, content, expandedInfo, footer, verificationText,
- radioButtons, commandButtons, buttons, mainIcon, footerIcon, 0);
+ return ShowTaskDialogBox(owner, title, mainInstruction, content, expandedInfo, footer, verificationText, radioButtons, commandButtons, buttons, mainIcon, footerIcon, 0);
}
public static DialogResult ShowTaskDialogBox(string title,
@@ -130,8 +110,7 @@ namespace mRemoteNG.UI.TaskDialog
ESysIcons mainIcon,
ESysIcons footerIcon)
{
- return ShowTaskDialogBox(null, title, mainInstruction, content, expandedInfo, footer, verificationText,
- radioButtons, commandButtons, buttons, mainIcon, footerIcon, 0);
+ return ShowTaskDialogBox(null, title, mainInstruction, content, expandedInfo, footer, verificationText, radioButtons, commandButtons, buttons, mainIcon, footerIcon, 0);
}
#endregion
@@ -141,57 +120,27 @@ namespace mRemoteNG.UI.TaskDialog
#region MessageBox
//--------------------------------------------------------------------------------
- public static DialogResult MessageBox(IWin32Window owner,
- string title,
- string mainInstruction,
- string content,
- string expandedInfo,
- string footer,
- string verificationText,
- ETaskDialogButtons buttons,
- ESysIcons mainIcon,
- ESysIcons footerIcon)
+ public static DialogResult MessageBox(IWin32Window owner, string title, string mainInstruction, string content, string expandedInfo, string footer, string verificationText, ETaskDialogButtons buttons, ESysIcons mainIcon, ESysIcons footerIcon)
{
- return ShowTaskDialogBox(owner, title, mainInstruction, content, expandedInfo, footer, verificationText, "",
- "", buttons, mainIcon, footerIcon);
+ return ShowTaskDialogBox(owner, title, mainInstruction, content, expandedInfo, footer, verificationText, "", "", buttons, mainIcon, footerIcon);
}
//--------------------------------------------------------------------------------
// Overloaded versions...
//--------------------------------------------------------------------------------
- public static DialogResult MessageBox(string title,
- string mainInstruction,
- string content,
- string expandedInfo,
- string footer,
- string verificationText,
- ETaskDialogButtons buttons,
- ESysIcons mainIcon,
- ESysIcons footerIcon)
+ public static DialogResult MessageBox(string title, string mainInstruction, string content, string expandedInfo, string footer, string verificationText, ETaskDialogButtons buttons, ESysIcons mainIcon, ESysIcons footerIcon)
{
- return ShowTaskDialogBox(null, title, mainInstruction, content, expandedInfo, footer, verificationText, "",
- "", buttons, mainIcon, footerIcon);
+ return ShowTaskDialogBox(null, title, mainInstruction, content, expandedInfo, footer, verificationText, "", "", buttons, mainIcon, footerIcon);
}
- public static DialogResult MessageBox(IWin32Window owner,
- string title,
- string mainInstruction,
- string content,
- ETaskDialogButtons buttons,
- ESysIcons mainIcon)
+ public static DialogResult MessageBox(IWin32Window owner, string title, string mainInstruction, string content, ETaskDialogButtons buttons, ESysIcons mainIcon)
{
- return MessageBox(owner, title, mainInstruction, content, "", "", "", buttons, mainIcon,
- ESysIcons.Information);
+ return MessageBox(owner, title, mainInstruction, content, "", "", "", buttons, mainIcon, ESysIcons.Information);
}
- public static DialogResult MessageBox(string title,
- string mainInstruction,
- string content,
- ETaskDialogButtons buttons,
- ESysIcons mainIcon)
+ public static DialogResult MessageBox(string title, string mainInstruction, string content, ETaskDialogButtons buttons, ESysIcons mainIcon)
{
- return MessageBox(null, title, mainInstruction, content, "", "", "", buttons, mainIcon,
- ESysIcons.Information);
+ return MessageBox(null, title, mainInstruction, content, "", "", "", buttons, mainIcon, ESysIcons.Information);
}
//--------------------------------------------------------------------------------
@@ -215,9 +164,7 @@ namespace mRemoteNG.UI.TaskDialog
ESysIcons footerIcon,
int defaultIndex)
{
- var res = ShowTaskDialogBox(owner, title, mainInstruction, content, expandedInfo, footer, verificationText,
- radioButtons, "", ETaskDialogButtons.OkCancel, mainIcon, footerIcon,
- defaultIndex);
+ var res = ShowTaskDialogBox(owner, title, mainInstruction, content, expandedInfo, footer, verificationText, radioButtons, "", ETaskDialogButtons.OkCancel, mainIcon, footerIcon, defaultIndex);
if (res == DialogResult.OK)
return RadioButtonResult;
return -1;
@@ -237,9 +184,7 @@ namespace mRemoteNG.UI.TaskDialog
ESysIcons footerIcon,
int defaultIndex)
{
- var res = ShowTaskDialogBox(null, title, mainInstruction, content, expandedInfo, footer, verificationText,
- radioButtons, "", ETaskDialogButtons.OkCancel, mainIcon, footerIcon,
- defaultIndex);
+ var res = ShowTaskDialogBox(null, title, mainInstruction, content, expandedInfo, footer, verificationText, radioButtons, "", ETaskDialogButtons.OkCancel, mainIcon, footerIcon, defaultIndex);
if (res == DialogResult.OK)
return RadioButtonResult;
return -1;
@@ -256,8 +201,7 @@ namespace mRemoteNG.UI.TaskDialog
ESysIcons mainIcon,
ESysIcons footerIcon)
{
- return ShowRadioBox(owner, title, mainInstruction, content, expandedInfo, footer, verificationText,
- radioButtons, ESysIcons.Question, ESysIcons.Information, 0);
+ return ShowRadioBox(owner, title, mainInstruction, content, expandedInfo, footer, verificationText, radioButtons, ESysIcons.Question, ESysIcons.Information, 0);
}
public static int ShowRadioBox(IWin32Window owner,
@@ -267,8 +211,7 @@ namespace mRemoteNG.UI.TaskDialog
string radioButtons,
int defaultIndex)
{
- return ShowRadioBox(owner, title, mainInstruction, content, "", "", "", radioButtons, ESysIcons.Question,
- ESysIcons.Information, defaultIndex);
+ return ShowRadioBox(owner, title, mainInstruction, content, "", "", "", radioButtons, ESysIcons.Question, ESysIcons.Information, defaultIndex);
}
public static int ShowRadioBox(IWin32Window owner,
@@ -277,8 +220,7 @@ namespace mRemoteNG.UI.TaskDialog
string content,
string radioButtons)
{
- return ShowRadioBox(owner, title, mainInstruction, content, "", "", "", radioButtons, ESysIcons.Question,
- ESysIcons.Information, 0);
+ return ShowRadioBox(owner, title, mainInstruction, content, "", "", "", radioButtons, ESysIcons.Question, ESysIcons.Information, 0);
}
public static int ShowRadioBox(string title,
@@ -286,8 +228,7 @@ namespace mRemoteNG.UI.TaskDialog
string content,
string radioButtons)
{
- return ShowRadioBox(null, title, mainInstruction, content, "", "", "", radioButtons, ESysIcons.Question,
- ESysIcons.Information, 0);
+ return ShowRadioBox(null, title, mainInstruction, content, "", "", "", radioButtons, ESysIcons.Question, ESysIcons.Information, 0);
}
#endregion
@@ -348,18 +289,12 @@ namespace mRemoteNG.UI.TaskDialog
string commandButtons,
bool showCancelButton)
{
- return ShowCommandBox(owner, title, mainInstruction, content, "", "", "", commandButtons, showCancelButton,
- ESysIcons.Question, ESysIcons.Information);
+ return ShowCommandBox(owner, title, mainInstruction, content, "", "", "", commandButtons, showCancelButton, ESysIcons.Question, ESysIcons.Information);
}
- public static int ShowCommandBox(string title,
- string mainInstruction,
- string content,
- string commandButtons,
- bool showCancelButton)
+ public static int ShowCommandBox(string title, string mainInstruction, string content, string commandButtons, bool showCancelButton)
{
- return ShowCommandBox(null, title, mainInstruction, content, "", "", "", commandButtons, showCancelButton,
- ESysIcons.Question, ESysIcons.Information);
+ return ShowCommandBox(null, title, mainInstruction, content, "", "", "", commandButtons, showCancelButton, ESysIcons.Question, ESysIcons.Information);
}
#endregion
diff --git a/mRemoteNG/UI/TextBoxExtensions.cs b/mRemoteNG/UI/TextBoxExtensions.cs
index 9aa91ece..2cca4acf 100644
--- a/mRemoteNG/UI/TextBoxExtensions.cs
+++ b/mRemoteNG/UI/TextBoxExtensions.cs
@@ -1,10 +1,12 @@
using System;
+using System.Runtime.Versioning;
using System.Text;
using System.Windows.Forms;
using mRemoteNG.App;
namespace mRemoteNG.UI
{
+ [SupportedOSPlatform("windows")]
public static class TextBoxExtensions
{
public static bool SetCueBannerText(this TextBox textBox, string cueText, bool showCueWhenFocused = false)