diff --git a/Pilz.Cryptography/ICrypter.cs b/Pilz.Cryptography/ICrypter.cs
new file mode 100644
index 0000000..f126915
--- /dev/null
+++ b/Pilz.Cryptography/ICrypter.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Pilz.Cryptography
+{
+ public interface ICrypter
+ {
+ string Encrypt(string plainValue);
+ string Decrypt(string encryptedValue);
+ }
+}
diff --git a/Pilz.Cryptography/My Project/Application.Designer.vb b/Pilz.Cryptography/My Project/Application.Designer.vb
deleted file mode 100644
index 8ab460b..0000000
--- a/Pilz.Cryptography/My Project/Application.Designer.vb
+++ /dev/null
@@ -1,13 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' Dieser Code wurde von einem Tool generiert.
-' Laufzeitversion:4.0.30319.42000
-'
-' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
-' der Code erneut generiert wird.
-'
-'------------------------------------------------------------------------------
-
-Option Strict On
-Option Explicit On
-
diff --git a/Pilz.Cryptography/My Project/Application.myapp b/Pilz.Cryptography/My Project/Application.myapp
deleted file mode 100644
index 758895d..0000000
--- a/Pilz.Cryptography/My Project/Application.myapp
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
- false
- false
- 0
- true
- 0
- 1
- true
-
diff --git a/Pilz.Cryptography/My Project/AssemblyInfo.vb b/Pilz.Cryptography/My Project/AssemblyInfo.vb
deleted file mode 100644
index 0eae44b..0000000
--- a/Pilz.Cryptography/My Project/AssemblyInfo.vb
+++ /dev/null
@@ -1,35 +0,0 @@
-Imports System
-Imports System.Reflection
-Imports System.Runtime.InteropServices
-
-' Allgemeine Informationen über eine Assembly werden über die folgenden
-' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
-' die einer Assembly zugeordnet sind.
-
-' Werte der Assemblyattribute überprüfen
-
-
-
-
-
-
-
-
-
-
-'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird.
-
-
-' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
-'
-' Hauptversion
-' Nebenversion
-' Buildnummer
-' Revision
-'
-' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
-' übernehmen, indem Sie "*" eingeben:
-'
-
-
-
diff --git a/Pilz.Cryptography/My Project/Resources.Designer.vb b/Pilz.Cryptography/My Project/Resources.Designer.vb
deleted file mode 100644
index ec424b6..0000000
--- a/Pilz.Cryptography/My Project/Resources.Designer.vb
+++ /dev/null
@@ -1,63 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' Dieser Code wurde von einem Tool generiert.
-' Laufzeitversion:4.0.30319.42000
-'
-' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
-' der Code erneut generiert wird.
-'
-'------------------------------------------------------------------------------
-
-Option Strict On
-Option Explicit On
-
-Imports System
-
-Namespace My.Resources
-
- 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
- '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
- 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
- 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
- '''
- ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
- '''
- _
- Friend Module Resources
-
- Private resourceMan As Global.System.Resources.ResourceManager
-
- Private resourceCulture As Global.System.Globalization.CultureInfo
-
- '''
- ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
- '''
- _
- Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
- Get
- If Object.ReferenceEquals(resourceMan, Nothing) Then
- Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Pilz.Cryptography.Resources", GetType(Resources).Assembly)
- resourceMan = temp
- End If
- Return resourceMan
- End Get
- End Property
-
- '''
- ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
- ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
- '''
- _
- Friend Property Culture() As Global.System.Globalization.CultureInfo
- Get
- Return resourceCulture
- End Get
- Set
- resourceCulture = value
- End Set
- End Property
- End Module
-End Namespace
diff --git a/Pilz.Cryptography/My Project/Resources.resx b/Pilz.Cryptography/My Project/Resources.resx
deleted file mode 100644
index af7dbeb..0000000
--- a/Pilz.Cryptography/My Project/Resources.resx
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/Pilz.Cryptography/My Project/Settings.Designer.vb b/Pilz.Cryptography/My Project/Settings.Designer.vb
deleted file mode 100644
index 528ccbe..0000000
--- a/Pilz.Cryptography/My Project/Settings.Designer.vb
+++ /dev/null
@@ -1,73 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' Dieser Code wurde von einem Tool generiert.
-' Laufzeitversion:4.0.30319.42000
-'
-' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
-' der Code erneut generiert wird.
-'
-'------------------------------------------------------------------------------
-
-Option Strict On
-Option Explicit On
-
-
-Namespace My
-
- _
- Partial Friend NotInheritable Class MySettings
- Inherits Global.System.Configuration.ApplicationSettingsBase
-
- Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
-
-#Region "Automatische My.Settings-Speicherfunktion"
-#If _MyType = "WindowsForms" Then
- Private Shared addedHandler As Boolean
-
- Private Shared addedHandlerLockObject As New Object
-
- _
- Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
- If My.Application.SaveMySettingsOnExit Then
- My.Settings.Save()
- End If
- End Sub
-#End If
-#End Region
-
- Public Shared ReadOnly Property [Default]() As MySettings
- Get
-
-#If _MyType = "WindowsForms" Then
- If Not addedHandler Then
- SyncLock addedHandlerLockObject
- If Not addedHandler Then
- AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
- addedHandler = True
- End If
- End SyncLock
- End If
-#End If
- Return defaultInstance
- End Get
- End Property
- End Class
-End Namespace
-
-Namespace My
-
- _
- Friend Module MySettingsProperty
-
- _
- Friend ReadOnly Property Settings() As Global.Pilz.Cryptography.My.MySettings
- Get
- Return Global.Pilz.Cryptography.My.MySettings.Default
- End Get
- End Property
- End Module
-End Namespace
diff --git a/Pilz.Cryptography/My Project/Settings.settings b/Pilz.Cryptography/My Project/Settings.settings
deleted file mode 100644
index 85b890b..0000000
--- a/Pilz.Cryptography/My Project/Settings.settings
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/Pilz.Cryptography/Pilz.Cryptography.csproj b/Pilz.Cryptography/Pilz.Cryptography.csproj
new file mode 100644
index 0000000..f953029
--- /dev/null
+++ b/Pilz.Cryptography/Pilz.Cryptography.csproj
@@ -0,0 +1,59 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {3F5988E6-439E-4A9D-B2C6-47EFFB161AC6}
+ Library
+ Properties
+ Pilz.Cryptography
+ Pilz.Cryptography
+ v4.7.2
+ 512
+ true
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+ ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Pilz.Cryptography/Pilz.Cryptography.vbproj b/Pilz.Cryptography/Pilz.Cryptography.vbproj
deleted file mode 100644
index 4a166e5..0000000
--- a/Pilz.Cryptography/Pilz.Cryptography.vbproj
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {DF980F5D-820C-4CD3-A865-C40791BF7CE4}
- Library
- Pilz.Cryptography
- Pilz.Cryptography
- 512
- Windows
- v4.7.2
- true
-
-
-
- true
- full
- true
- true
- bin\Debug\
- Pilz.Cryptography.xml
- 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
-
-
- pdbonly
- false
- true
- true
- bin\Release\
- Pilz.Cryptography.xml
- 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
-
-
- On
-
-
- Binary
-
-
- Off
-
-
- On
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
- Application.myapp
-
-
- True
- True
- Resources.resx
-
-
- True
- Settings.settings
- True
-
-
-
-
- VbMyResourcesResXFileCodeGenerator
- Resources.Designer.vb
- My.Resources
- Designer
-
-
-
-
- MyApplicationCodeGenerator
- Application.Designer.vb
-
-
- SettingsSingleFileGenerator
- My
- Settings.Designer.vb
-
-
-
-
\ No newline at end of file
diff --git a/Pilz.Cryptography/Properties/AssemblyInfo.cs b/Pilz.Cryptography/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..9c9846d
--- /dev/null
+++ b/Pilz.Cryptography/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Allgemeine Informationen über eine Assembly werden über die folgenden
+// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
+// die einer Assembly zugeordnet sind.
+[assembly: AssemblyTitle("Pilz.Cryptography")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Pilz.Cryptography")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
+// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
+// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
+[assembly: ComVisible(false)]
+
+// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
+[assembly: Guid("3f5988e6-439e-4a9d-b2c6-47effb161ac6")]
+
+// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+//
+// Hauptversion
+// Nebenversion
+// Buildnummer
+// Revision
+//
+// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
+// indem Sie "*" wie unten gezeigt eingeben:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Pilz.Cryptography/SecureString.cs b/Pilz.Cryptography/SecureString.cs
new file mode 100644
index 0000000..73d2b06
--- /dev/null
+++ b/Pilz.Cryptography/SecureString.cs
@@ -0,0 +1,78 @@
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Pilz.Cryptography
+{
+ public class SecureString
+ {
+ public static ICrypter DefaultCrypter { get; set; }
+
+ [JsonIgnore]
+ public ICrypter Crypter { get; set; }
+
+ [JsonProperty]
+ public string EncryptedValue { get; set; }
+
+ [JsonIgnore]
+ public string Value
+ {
+ get => GetCrypter().Decrypt(EncryptedValue);
+ set => EncryptedValue = GetCrypter().Encrypt(Value);
+ }
+
+ public SecureString() :
+ this(string.Empty, true)
+ {
+ }
+
+ public SecureString(string value, bool isEncrypted) :
+ this(value, isEncrypted, null)
+ {
+ }
+
+ public SecureString(string value, bool isEncrypted, ICrypter crypter)
+ {
+ Crypter = crypter;
+
+ if (isEncrypted)
+ EncryptedValue = value;
+ else
+ Value = value;
+ }
+
+ private ICrypter GetCrypter()
+ {
+ if (Crypter == null)
+ {
+ if (DefaultCrypter == null)
+ DefaultCrypter = new SimpleStringCrypter(string.Empty);
+ Crypter = DefaultCrypter;
+ }
+ return Crypter;
+ }
+
+ public override string ToString() => Value;
+
+ public override bool Equals(object obj)
+ {
+ var @string = obj as SecureString;
+ return @string != null &&
+ EncryptedValue == @string.EncryptedValue;
+ }
+
+ public override int GetHashCode()
+ {
+ return -2303024 + EqualityComparer.Default.GetHashCode(EncryptedValue);
+ }
+
+ public static implicit operator string(SecureString value) => value.Value;
+ public static implicit operator SecureString(string value) => new SecureString(value, false);
+
+ public static bool operator ==(SecureString left, SecureString right) => left.EncryptedValue == right.EncryptedValue;
+ public static bool operator !=(SecureString left, SecureString right) => left.EncryptedValue != right.EncryptedValue;
+ }
+}
diff --git a/Pilz.Cryptography/SimpleStringCrypter.cs b/Pilz.Cryptography/SimpleStringCrypter.cs
new file mode 100644
index 0000000..d652e0d
--- /dev/null
+++ b/Pilz.Cryptography/SimpleStringCrypter.cs
@@ -0,0 +1,74 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Security.Cryptography;
+using System.IO;
+using Microsoft.VisualBasic.CompilerServices;
+
+namespace Pilz.Cryptography
+{
+ public class SimpleStringCrypter : ICrypter
+ {
+ private TripleDESCryptoServiceProvider TripleDes;
+ public Encoding TextEncoding { get; private set; } = Encoding.Default;
+
+ public SimpleStringCrypter() : this(string.Empty)
+ {
+ }
+
+ public SimpleStringCrypter(string key) : this(key, Encoding.Default)
+ {
+ }
+
+ public SimpleStringCrypter(string key, Encoding textEncoding)
+ {
+ TextEncoding = textEncoding;
+ TripleDes = new TripleDESCryptoServiceProvider();
+ TripleDes.Key = TruncateHash(key,TripleDes.KeySize / 8);
+ TripleDes.IV = TruncateHash(string.Empty, TripleDes.BlockSize / 8);
+ }
+
+ private byte[] TruncateHash(string key, int length)
+ {
+ SHA1CryptoServiceProvider sha1CryptoServiceProvider = new SHA1CryptoServiceProvider();
+ byte[] bytes = TextEncoding.GetBytes(key);
+ byte[] array = sha1CryptoServiceProvider.ComputeHash(bytes);
+ return (byte[])Utils.CopyArray(array, new byte[checked(length - 1 + 1)]);
+ }
+
+ private string EncryptData(string plaintext)
+ {
+ byte[] bytes = TextEncoding.GetBytes(plaintext);
+ MemoryStream memoryStream = new MemoryStream();
+ CryptoStream cryptoStream = new CryptoStream(memoryStream, TripleDes.CreateEncryptor(), CryptoStreamMode.Write);
+ cryptoStream.Write(bytes, 0, bytes.Length);
+ cryptoStream.FlushFinalBlock();
+ return Convert.ToBase64String(memoryStream.ToArray());
+ }
+
+ private string DecryptData(string encryptedtext)
+ {
+ byte[] array = Convert.FromBase64String(encryptedtext);
+ MemoryStream memoryStream = new MemoryStream();
+ CryptoStream cryptoStream = new CryptoStream(memoryStream, TripleDes.CreateDecryptor(), CryptoStreamMode.Write);
+ cryptoStream.Write(array, 0, array.Length);
+ cryptoStream.FlushFinalBlock();
+ return TextEncoding.GetString(memoryStream.ToArray());
+ }
+
+ public string Encrypt(string plainValue)
+ {
+ return EncryptData(plainValue);
+ }
+
+ public string Decrypt(string encryptedValue)
+ {
+ if (string.IsNullOrEmpty(encryptedValue))
+ return string.Empty;
+ else
+ return DecryptData(encryptedValue);
+ }
+ }
+}
diff --git a/Pilz.Cryptography/UniquieID.cs b/Pilz.Cryptography/UniquieID.cs
new file mode 100644
index 0000000..b4d7af3
--- /dev/null
+++ b/Pilz.Cryptography/UniquieID.cs
@@ -0,0 +1,110 @@
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Management;
+using System.Security.Cryptography;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace SM64Lib
+{
+ public class UniquieID
+ {
+ private static int currentSimpleID = 0;
+
+ [JsonProperty(nameof(ID))]
+ private string _iD;
+
+ [JsonIgnore]
+ public string ID
+ {
+ get
+ {
+ if (GenerateOnGet)
+ GenerateIfNull();
+ return _iD;
+ }
+ internal set
+ => _iD = value;
+ }
+
+ [JsonIgnore]
+ public bool HasID { get => !string.IsNullOrEmpty(_iD); }
+ [JsonIgnore]
+ public bool SimpleMode { get; set; } = false;
+ [JsonIgnore]
+ public bool GenerateOnGet { get; set; } = false;
+
+ public UniquieID() : this(false)
+ {
+ }
+
+ public UniquieID(bool autoGenerate)
+ {
+ if (autoGenerate)
+ GenerateIfNull();
+ }
+
+ public void Generate()
+ {
+ if (SimpleMode)
+ ID = typeof(TargetType).ToString() + currentSimpleID++.ToString();
+ else
+ ID = GenerateUniquieID(string.Empty);
+ }
+ public void GenerateIfNull()
+ {
+ if (!HasID) Generate();
+ }
+
+ private static string GenerateUniquieID(string var)
+ {
+ var sn = TryGetSerialNumberOfFirstHardDrive();
+ var dateTime = DateTime.UtcNow.ToString("yyyyMMddHHmmssfffffff");
+ var type = typeof(T).ToString();
+ var together = sn + dateTime + type + var;
+
+ var md5 = MD5.Create();
+ var hash = BitConverter.ToString(md5.ComputeHash(Encoding.Default.GetBytes(together))).Replace("-", string.Empty);
+ md5.Dispose();
+
+ return hash;
+ }
+
+ private static string TryGetSerialNumberOfFirstHardDrive()
+ {
+ var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
+ var sn = string.Empty;
+
+ foreach (ManagementObject wmi_HD in searcher.Get())
+ {
+ if (string.IsNullOrEmpty(sn) && wmi_HD["SerialNumber"] != null)
+ sn = wmi_HD["SerialNumber"].ToString().Trim();
+ }
+
+ return sn;
+ }
+
+ public override string ToString() => ID;
+
+ public override bool Equals(object obj)
+ {
+ var iD = obj as UniquieID;
+ return iD != null &&
+ _iD == iD._iD;
+ }
+
+ public override int GetHashCode()
+ {
+ return -1430039477 + EqualityComparer.Default.GetHashCode(_iD);
+ }
+
+ public static implicit operator string(UniquieID id) => id.ID;
+ public static implicit operator UniquieID(string id) => new UniquieID() { ID = id };
+ public static implicit operator UniquieID(int id) => new UniquieID() { ID = Convert.ToString(id) };
+
+ public static bool operator ==(UniquieID left, UniquieID right) => left.ID == right.ID;
+ public static bool operator !=(UniquieID left, UniquieID right) => left.ID != right.ID;
+ }
+}
diff --git a/Pilz.Cryptography/packages.config b/Pilz.Cryptography/packages.config
new file mode 100644
index 0000000..a9de8b5
--- /dev/null
+++ b/Pilz.Cryptography/packages.config
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/Pilz.Drawing.Drawing3D.OpenGLRenderer/Pilz.Drawing.Drawing3D.OpenGLFactory.vbproj b/Pilz.Drawing.Drawing3D.OpenGLRenderer/Pilz.Drawing.Drawing3D.OpenGLFactory.vbproj
index fedd166..8599650 100644
--- a/Pilz.Drawing.Drawing3D.OpenGLRenderer/Pilz.Drawing.Drawing3D.OpenGLFactory.vbproj
+++ b/Pilz.Drawing.Drawing3D.OpenGLRenderer/Pilz.Drawing.Drawing3D.OpenGLFactory.vbproj
@@ -44,8 +44,8 @@
On
-
- ..\packages\OpenTK.3.1.0\lib\net20\OpenTK.dll
+
+ ..\packages\OpenTK.3.2\lib\net20\OpenTK.dll
..\packages\OpenTK.GLControl.3.1.0\lib\net20\OpenTK.GLControl.dll
diff --git a/Pilz.Drawing.Drawing3D.OpenGLRenderer/app.config b/Pilz.Drawing.Drawing3D.OpenGLRenderer/app.config
index 75a9d48..5c893eb 100644
--- a/Pilz.Drawing.Drawing3D.OpenGLRenderer/app.config
+++ b/Pilz.Drawing.Drawing3D.OpenGLRenderer/app.config
@@ -1,11 +1,11 @@
-
+
-
-
+
+
-
+
diff --git a/Pilz.Drawing.Drawing3D.OpenGLRenderer/packages.config b/Pilz.Drawing.Drawing3D.OpenGLRenderer/packages.config
index 54d90f7..eec2fad 100644
--- a/Pilz.Drawing.Drawing3D.OpenGLRenderer/packages.config
+++ b/Pilz.Drawing.Drawing3D.OpenGLRenderer/packages.config
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/Pilz.sln b/Pilz.sln
index 0f52e43..0500f97 100644
--- a/Pilz.sln
+++ b/Pilz.sln
@@ -15,8 +15,6 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Pilz.Threading", "Pilz.Thre
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pilz.IO", "Pilz.IO\Pilz.IO.csproj", "{877D980E-4F61-0E53-0E8B-5C50B7D1440C}"
EndProject
-Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Pilz.Cryptography", "Pilz.Cryptography\Pilz.Cryptography.vbproj", "{DF980F5D-820C-4CD3-A865-C40791BF7CE4}"
-EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Pilz.Win32", "Pilz.Win32\Pilz.Win32.vbproj", "{0BE0428D-AC97-4812-ADFC-6D7D00AEE497}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Pilz.Configuration", "Pilz.Configuration\Pilz.Configuration.vbproj", "{A56C6153-C61F-4B10-BE06-35EB0448CFDC}"
@@ -31,6 +29,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pilz.LicenseHelper", "Pilz.
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Pilz.Networking", "Pilz.Networking\Pilz.Networking.vbproj", "{4584B121-09C6-40AC-849B-7E410125EF66}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pilz.Cryptography", "Pilz.Cryptography\Pilz.Cryptography.csproj", "{3F5988E6-439E-4A9D-B2C6-47EFFB161AC6}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -87,14 +87,6 @@ Global
{877D980E-4F61-0E53-0E8B-5C50B7D1440C}.Release|Any CPU.Build.0 = Release|Any CPU
{877D980E-4F61-0E53-0E8B-5C50B7D1440C}.Release|x86.ActiveCfg = Release|x86
{877D980E-4F61-0E53-0E8B-5C50B7D1440C}.Release|x86.Build.0 = Release|x86
- {DF980F5D-820C-4CD3-A865-C40791BF7CE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DF980F5D-820C-4CD3-A865-C40791BF7CE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DF980F5D-820C-4CD3-A865-C40791BF7CE4}.Debug|x86.ActiveCfg = Debug|Any CPU
- {DF980F5D-820C-4CD3-A865-C40791BF7CE4}.Debug|x86.Build.0 = Debug|Any CPU
- {DF980F5D-820C-4CD3-A865-C40791BF7CE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {DF980F5D-820C-4CD3-A865-C40791BF7CE4}.Release|Any CPU.Build.0 = Release|Any CPU
- {DF980F5D-820C-4CD3-A865-C40791BF7CE4}.Release|x86.ActiveCfg = Release|Any CPU
- {DF980F5D-820C-4CD3-A865-C40791BF7CE4}.Release|x86.Build.0 = Release|Any CPU
{0BE0428D-AC97-4812-ADFC-6D7D00AEE497}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0BE0428D-AC97-4812-ADFC-6D7D00AEE497}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0BE0428D-AC97-4812-ADFC-6D7D00AEE497}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -151,6 +143,14 @@ Global
{4584B121-09C6-40AC-849B-7E410125EF66}.Release|Any CPU.Build.0 = Release|Any CPU
{4584B121-09C6-40AC-849B-7E410125EF66}.Release|x86.ActiveCfg = Release|Any CPU
{4584B121-09C6-40AC-849B-7E410125EF66}.Release|x86.Build.0 = Release|Any CPU
+ {3F5988E6-439E-4A9D-B2C6-47EFFB161AC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3F5988E6-439E-4A9D-B2C6-47EFFB161AC6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3F5988E6-439E-4A9D-B2C6-47EFFB161AC6}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {3F5988E6-439E-4A9D-B2C6-47EFFB161AC6}.Debug|x86.Build.0 = Debug|Any CPU
+ {3F5988E6-439E-4A9D-B2C6-47EFFB161AC6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3F5988E6-439E-4A9D-B2C6-47EFFB161AC6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3F5988E6-439E-4A9D-B2C6-47EFFB161AC6}.Release|x86.ActiveCfg = Release|Any CPU
+ {3F5988E6-439E-4A9D-B2C6-47EFFB161AC6}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE