From 1e0121586370ccbb9831933d9e035c21d5a765e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20H=C3=B6glinger?= Date: Wed, 25 Nov 2020 17:39:30 +0100 Subject: [PATCH] Initialize --- .vs/NxVersion.git/v16/.suo | Bin 0 -> 74752 bytes NxVersion.git.sln | 31 + NxVersion/NxVersion.cs | 994 ++++++++++++++++++ NxVersion/NxVersion.csproj | 49 + NxVersion/Properties/AssemblyInfo.cs | 36 + NxVersion/bin/Debug/NxVersion.dll | Bin 0 -> 18944 bytes NxVersion/bin/Debug/NxVersion.pdb | Bin 0 -> 48640 bytes ...ework,Version=v4.7.2.AssemblyAttributes.cs | 4 + ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 6884 bytes .../NxVersion.csproj.CoreCompileInputs.cache | 1 + .../NxVersion.csproj.FileListAbsolute.txt | 6 + .../NxVersion.csprojAssemblyReference.cache | Bin 0 -> 424 bytes NxVersion/obj/Debug/NxVersion.dll | Bin 0 -> 18944 bytes NxVersion/obj/Debug/NxVersion.pdb | Bin 0 -> 48640 bytes Test_NxVersion/App.config | 6 + Test_NxVersion/Form1.Designer.cs | 122 +++ Test_NxVersion/Form1.cs | 192 ++++ Test_NxVersion/Form1.resx | 120 +++ Test_NxVersion/Program.cs | 22 + Test_NxVersion/Properties/AssemblyInfo.cs | 36 + .../Properties/Resources.Designer.cs | 71 ++ Test_NxVersion/Properties/Resources.resx | 117 +++ .../Properties/Settings.Designer.cs | 30 + Test_NxVersion/Properties/Settings.settings | 7 + Test_NxVersion/Test_NxVersion.csproj | 89 ++ Test_NxVersion/bin/Debug/NxVersion.dll | Bin 0 -> 18944 bytes Test_NxVersion/bin/Debug/NxVersion.pdb | Bin 0 -> 48640 bytes Test_NxVersion/bin/Debug/Test_NxVersion.exe | Bin 0 -> 15360 bytes .../bin/Debug/Test_NxVersion.exe.config | 6 + Test_NxVersion/bin/Debug/Test_NxVersion.pdb | Bin 0 -> 30208 bytes ...ework,Version=v4.7.2.AssemblyAttributes.cs | 4 + .../DesignTimeResolveAssemblyReferences.cache | Bin 0 -> 1435 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 7452 bytes .../obj/Debug/Test_NxVersion.Form1.resources | Bin 0 -> 180 bytes ...t_NxVersion.Properties.Resources.resources | Bin 0 -> 180 bytes .../Debug/Test_NxVersion.csproj.CopyComplete | 0 ...t_NxVersion.csproj.CoreCompileInputs.cache | 1 + ...Test_NxVersion.csproj.FileListAbsolute.txt | 13 + ...st_NxVersion.csproj.GenerateResource.cache | Bin 0 -> 1012 bytes ...st_NxVersion.csprojAssemblyReference.cache | Bin 0 -> 9337 bytes Test_NxVersion/obj/Debug/Test_NxVersion.exe | Bin 0 -> 15360 bytes Test_NxVersion/obj/Debug/Test_NxVersion.pdb | Bin 0 -> 30208 bytes 42 files changed, 1957 insertions(+) create mode 100644 .vs/NxVersion.git/v16/.suo create mode 100644 NxVersion.git.sln create mode 100644 NxVersion/NxVersion.cs create mode 100644 NxVersion/NxVersion.csproj create mode 100644 NxVersion/Properties/AssemblyInfo.cs create mode 100644 NxVersion/bin/Debug/NxVersion.dll create mode 100644 NxVersion/bin/Debug/NxVersion.pdb create mode 100644 NxVersion/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs create mode 100644 NxVersion/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 NxVersion/obj/Debug/NxVersion.csproj.CoreCompileInputs.cache create mode 100644 NxVersion/obj/Debug/NxVersion.csproj.FileListAbsolute.txt create mode 100644 NxVersion/obj/Debug/NxVersion.csprojAssemblyReference.cache create mode 100644 NxVersion/obj/Debug/NxVersion.dll create mode 100644 NxVersion/obj/Debug/NxVersion.pdb create mode 100644 Test_NxVersion/App.config create mode 100644 Test_NxVersion/Form1.Designer.cs create mode 100644 Test_NxVersion/Form1.cs create mode 100644 Test_NxVersion/Form1.resx create mode 100644 Test_NxVersion/Program.cs create mode 100644 Test_NxVersion/Properties/AssemblyInfo.cs create mode 100644 Test_NxVersion/Properties/Resources.Designer.cs create mode 100644 Test_NxVersion/Properties/Resources.resx create mode 100644 Test_NxVersion/Properties/Settings.Designer.cs create mode 100644 Test_NxVersion/Properties/Settings.settings create mode 100644 Test_NxVersion/Test_NxVersion.csproj create mode 100644 Test_NxVersion/bin/Debug/NxVersion.dll create mode 100644 Test_NxVersion/bin/Debug/NxVersion.pdb create mode 100644 Test_NxVersion/bin/Debug/Test_NxVersion.exe create mode 100644 Test_NxVersion/bin/Debug/Test_NxVersion.exe.config create mode 100644 Test_NxVersion/bin/Debug/Test_NxVersion.pdb create mode 100644 Test_NxVersion/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs create mode 100644 Test_NxVersion/obj/Debug/DesignTimeResolveAssemblyReferences.cache create mode 100644 Test_NxVersion/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 Test_NxVersion/obj/Debug/Test_NxVersion.Form1.resources create mode 100644 Test_NxVersion/obj/Debug/Test_NxVersion.Properties.Resources.resources create mode 100644 Test_NxVersion/obj/Debug/Test_NxVersion.csproj.CopyComplete create mode 100644 Test_NxVersion/obj/Debug/Test_NxVersion.csproj.CoreCompileInputs.cache create mode 100644 Test_NxVersion/obj/Debug/Test_NxVersion.csproj.FileListAbsolute.txt create mode 100644 Test_NxVersion/obj/Debug/Test_NxVersion.csproj.GenerateResource.cache create mode 100644 Test_NxVersion/obj/Debug/Test_NxVersion.csprojAssemblyReference.cache create mode 100644 Test_NxVersion/obj/Debug/Test_NxVersion.exe create mode 100644 Test_NxVersion/obj/Debug/Test_NxVersion.pdb diff --git a/.vs/NxVersion.git/v16/.suo b/.vs/NxVersion.git/v16/.suo new file mode 100644 index 0000000000000000000000000000000000000000..0c8b1e95ac0ea9b7485fbabc93a0fd8a980ba77c GIT binary patch literal 74752 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 + /// Description of NxVersion. + /// + public class NxVersion + { + #region Version und Copyright + // Version und Copyright + string dllName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen + string dllVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); + static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); + string copyright = GenerateCopyright(); + string icon = Application.StartupPath + "\\Info.bmp"; + //Assembly Datum und Zeit + static DateTime value = AssemblyDateTime(); + string date = value.ToShortDateString(); + string time = value.ToLongTimeString(); + private static DateTime AssemblyDateTime() + { + var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; + var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision)); + //Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original) + return buildDateTime; + } + + private static string CurrentYear() + { + DateTime dtn = DateTime.Now; + return dtn.Year.ToString(); + } + + private static string StartYear() + { + string startYear = ""; + if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © ")) + { + startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", ""); + while (startYear.StartsWith(" ")) + { + startYear = startYear.Remove(0, 1); + } + startYear = startYear.Remove(startYear.IndexOf(" ")); + return startYear; + } + else + { + DateTime dtn = DateTime.Now; + return dtn.Year.ToString(); + } + } + + private static string GenerateCopyright() + { + string startYear = StartYear(); + string currentYear = CurrentYear(); + + if (startYear == currentYear) + { + return ((AssemblyCopyrightAttribute)attributes[0]).Copyright; + } + else + { + return ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace(startYear, String.Concat(startYear, "-", currentYear)); + } + } + #endregion + + #region DLL-Info + /// + /// Contains the name of the program file + /// + public static string DllName { set; get; } + + /// + /// Contains the version of the program file + /// + public static string DllVersion { set; get; } + + /// + /// Contains the copyright notice + /// + public static string Copyright { set; get; } + + private void SetDllInfo() + { + //Name, Version und Copyright setzen + DllName = dllName; + DllVersion = dllVersion; + Copyright = copyright; + } + #endregion + + public NxVersion() + { + SetDllInfo(); + } + + public NxVersion(string ugiiBaseDir) + { + SetDllInfo(); + + if (Directory.Exists(ugiiBaseDir)) + { + UgiiBaseDir = ugiiBaseDir; + UgiiRootDir = String.Concat(UgiiBaseDir, "\\UGII\\"); + } + else + { + throw new DirectoryNotFoundException(); + } + + string nxVersionNo = ReadNxEnvValues(UgiiRootDir, "-n").Replace("\r\n", ""); + + if (IsPostNX12(UgiiRootDir)) + { + //Nach NX12 + AlignCode(nxVersionNo); + } + else + { + //Bis einschliesslich NX12 + string tempPatchText = ReadNxEnvValues(UgiiRootDir, "-m"); + tempPatchText = tempPatchText.Remove(tempPatchText.IndexOf(",")); + + AlignCode(nxVersionNo, tempPatchText); + } + } + + #region Base value + /// + /// UGII_BASE_DIR. E.g.: C:\Program Files\Siemens\NX 12.0 + /// + public string UgiiBaseDir { set; get; } + + /// + /// UGII_ROOT_DIR. E.g.: C:\Program Files\Siemens\NX 12.0\UGII\ + /// + public string UgiiRootDir { set; get; } + + /// + /// Defines whether NX is newer than NX12. Yes=true, No=false + /// + public bool PostNX12 { set; get; } + #endregion + + #region Define Type + /// + /// NX Version. E.g.: NX 10.0.3.5 + /// + public string NXversion { get; set; } + + /// + /// NX Patch. E.g.: NX 10.0.3.5 MP4 + /// + public string NXpatch { get; set; } + + + /// + /// UGII_PRODUCT_NAME. E.g.: NX of NX 10.0.3.5 + /// + public string UgiiProductName { get; set; } + + /// + /// UGII_MAJOR_VERSION. E.g.: 10 of NX 10.0.3.5 + /// + public int UgiiMajorVersion { get; set; } + + /// + /// UGII_MINOR_VERSION. E.g.: 0 of NX 10.0.3.5 + /// + public int UgiiMinorVersion { get; set; } + + /// + /// UGII_SUBMINOR_VERSION. E.g.: 3 of NX 10.0.3.5 + /// + public int UgiiSubminorVersion { get; set; } + + /// + /// NX Phase. E.g.: 5 of NX 10.0.3.5 + /// + public int NXphase { get; set; } + + + /// + /// UGII_FULL_VERSION. E.g.: v10.0.3.5 instead of NX 10.0.3.5 + /// + public string UgiiFullVersion { get; set; } + + /// + /// UGII_VERSION. E.g.: v10 of v10.0.3.5 + /// + public string UgiiVersion { get; set; } + + + /// + /// NX_VERSION_STRING. E.g.: V28.0.3.5 instead of NX 10.0.3.5 MP4 + /// + public string NxVersionString { get; set; } + + /// + /// NX_MAJOR_STRING. E.g.: V28 of V28.0.3.5 + /// + public string NxMajorVersionString { get; set; } + + /// + /// NX_MINOR_STRING. E.g.: 0 of V28.0.3.5 + /// + public string NxMinorVersionString { get; set; } + + /// + /// NX_SUBMINOR_STRING. E.g.: 3 of V28.0.3.5 + /// + public string NxSubminorVersionString { get; set; } + + /// + /// NX_PHASE_STRING. E.g.: 5 of V28.0.3.5 + /// + public string NxPhaseString { get; set; } + + + /// + /// Maintenance Release. E.g.: 10.0.3.5 of NX 10.0.3.5 MP4 + /// + public string MaintenanceRelease { get; set; } + + /// + /// Maintenance Pack. E.g.: MP4 of NX 10.0.3.5 MP4 + /// + public string MaintenancePack { get; set; } + + /// + /// Maintenance Pack Number. E.g.: 4 of NX 10.0.3.5 MP4 + /// + public int MaintenancePackNumber { get; set; } + #endregion + + #region Common Private Methodes + private bool IsPostNX12(string ugiiRootDir) + { + if (NxVersionNumber(ugiiRootDir) <= 12) + { + //Bis einschliesslich NX12 + PostNX12 = false; + } + else + { + //Nach NX12 + PostNX12 = true; + } + return PostNX12; + } + + private bool IsPostNX12(NxVersion version) + { + if (version.UgiiMajorVersion <= 12) + { + //Bis einschliesslich NX12 + PostNX12 = false; + } + else + { + //Nach NX12 + PostNX12 = true; + } + return PostNX12; + } + + private int NxVersionNumber(string ugiiRootDir) + { + string nxVersion = ReadNxEnvValues(UgiiRootDir, "-n").Replace("\r\n", ""); + nxVersion = nxVersion.Remove(nxVersion.IndexOf(".")).Replace("NX ", ""); + return Convert.ToInt16(nxVersion); + } + + private string ReadNxEnvValues(string ugiiRootDir, string envPrintArg) + { + string envPrint = String.Concat(ugiiRootDir, "env_print.exe"); + return ProcessOutput(envPrint, envPrintArg); //Prozess mit env_print.exe aufrufen + } + + private string ReadProcessOutput(string ugii_base_dir, string arguments) + { + // Liest die Daten nach beenden der Prozess-Ausgabe aus + // Tritt ein Fehler auf, liefert die Funktion null zurück + + //Wenn UGII_BASE_DIR mit '\\' endet, dann diese entfernen + if (ugii_base_dir.EndsWith("\\")) + { + ugii_base_dir = ugii_base_dir.Remove(ugii_base_dir.Length - 2); + } + + //Überprüfen ob auf alle notwendigen Dateien (env_print.exe, libpatch.dll, libsyss.dll) zugegriffen werden kann + ExecutablesExists(ugii_base_dir); + + //Wenn 'ugii_base_dir' existiert, dann die Werte ermitteln} + return ProcessOutput(String.Concat(ugii_base_dir, "\\UGII\\env_print.exe"), arguments); + } + + private void ExecutablesExists(string ugii_base_dir) + { + //Wenn eine der drei Dateien nicht existiert, dann eine Exception werfen + if (!File.Exists(String.Concat(ugii_base_dir, "\\UGII\\env_print.exe"))) throw new NoEnvPrintExeException("Unable to find EnvPrint.exe"); + //Nur vor 'NX 1847' ausführen, weil es nur vorher diese Biblithek gibt + if (!ugii_base_dir.ToLower().Contains("nx18") & !ugii_base_dir.ToLower().Contains("beta") & ugii_base_dir.Remove(0, ugii_base_dir.LastIndexOf("\\") + 1).Length != 2) + { + if (!File.Exists(String.Concat(ugii_base_dir, "\\UGII\\libpatch.dll")) & !File.Exists(String.Concat(ugii_base_dir, "\\NXBIN\\libpatch.dll"))) throw new NoLibPatchDllException("Unable to find LibPatch.dll"); + } + if (!File.Exists(String.Concat(ugii_base_dir, "\\UGII\\libsyss.dll"))) throw new NoLibSysDllException("Unable to find LibSys.dll"); + } + + private string ProcessOutput(string envPrint, string envPrintArg) + { + try + { + Process process = new Process(); + + process.StartInfo.FileName = envPrint; + process.StartInfo.Arguments = envPrintArg; + process.StartInfo.UseShellExecute = false; + process.StartInfo.RedirectStandardOutput = true; + process.StartInfo.CreateNoWindow = true; + + process.Start(); + process.WaitForExit(); + + return process.StandardOutput.ReadToEnd(); + } + catch (Exception) + { + return null; + } + } + + private void AlignCode(string nxVersionNo) + { + //Neue NX Versionen auflösen + + //NX Version zerlegen + string[] versionSegments = new string[3]; + string[] temp = new string[2]; + temp = SeperateVersionCode(nxVersionNo); + for (int i = 0; i < 3; i++) + { + versionSegments[i] = temp[i]; + } + + //Patch Text zerlegen + //versionSegments[5] = SeperatePatchText(nxVersionNo); + + UgiiProductName = versionSegments[0]; //Produkt Name + UgiiMajorVersion = Convert.ToInt32(versionSegments[1]); //Major Version + UgiiMinorVersion = Convert.ToInt32(versionSegments[2]); //Minor Version + } + + private void AlignCode(string nxVersionNo, string tempPatchText) + { + //NX Version zerlegen + string[] versionSegments = new string[6]; + string[] temp = new string[5]; + temp = SeperateVersionCode(nxVersionNo); + for (int i = 0; i < 5; i++) + { + versionSegments[i] = temp[i]; + } + + //Patch Text zerlegen + versionSegments[5] = SeperatePatchText(tempPatchText); + + //Werte zuordnen + NXpatch = String.Concat(versionSegments[0], " ", versionSegments[1], ".", versionSegments[2], ".", versionSegments[3], ".", versionSegments[4], " ", versionSegments[5]); //NX Patch + NXversion = String.Concat(versionSegments[0], " ", versionSegments[1], ".", versionSegments[2], ".", versionSegments[3], ".", versionSegments[4]); //NX Version + MaintenanceRelease = String.Concat(versionSegments[1], ".", versionSegments[2], ".", versionSegments[3], ".", versionSegments[4]); //Maintenance Release + UgiiProductName = versionSegments[0]; //Produkt Name + UgiiMajorVersion = Convert.ToInt32(versionSegments[1]); //Major Version + UgiiMinorVersion = Convert.ToInt32(versionSegments[2]); //Minor Version + UgiiSubminorVersion = Convert.ToInt32(versionSegments[3]); //Subminor Version + NXphase = Convert.ToInt32(versionSegments[4]); //NX Phase + MaintenancePack = versionSegments[5]; //Maintenance Pack + MaintenancePackNumber = Convert.ToInt32(versionSegments[5].Replace("MP", "")); + NxVersionString = String.Concat("V", (Convert.ToInt32(versionSegments[1]) + 18).ToString(), ".", versionSegments[2], ".", versionSegments[3], ".", versionSegments[4]); //NX Version String + NxMajorVersionString = String.Concat("V", (Convert.ToInt32(versionSegments[1]) + 18).ToString()); //Major Version String + NxMinorVersionString = versionSegments[2].ToString(); //Minor Version String + NxSubminorVersionString = versionSegments[3].ToString(); //Subminor Version String + NxPhaseString = versionSegments[4].ToString(); //NX Phase String + UgiiFullVersion = String.Concat("v", versionSegments[1], ".", versionSegments[2], ".", versionSegments[3], ".", versionSegments[4]); //NX Full Version + UgiiVersion = String.Concat("v", versionSegments[1]); + } + + private void AlignCode(string ugiiProductName, int majorVersion, int minorVersion, int subminorVersion, int phase, int mp) + { + //Werte zuordnen + NXpatch = String.Concat(ugiiProductName, " ", majorVersion, ".", minorVersion, ".", subminorVersion, ".", phase, " MP", mp); //NX Patch + NXversion = String.Concat(ugiiProductName, " ", majorVersion, ".", minorVersion, ".", subminorVersion, ".", phase); //NX Version + MaintenanceRelease = String.Concat(majorVersion, ".", minorVersion, ".", subminorVersion, ".", phase); //Maintenance Release + UgiiProductName = ugiiProductName; //Produkt Name + UgiiMajorVersion = majorVersion; //Major Version + UgiiMinorVersion = minorVersion; //Minor Version + UgiiSubminorVersion = subminorVersion; //Subminor Version + NXphase = phase; //NX Phase + MaintenancePack = String.Concat("MP", mp); //Maintenance Pack + MaintenancePackNumber = mp; + NxVersionString = String.Concat("V", (Convert.ToInt32(majorVersion) + 18).ToString(), ".", minorVersion, ".", subminorVersion, ".", phase); //NX Version String + NxMajorVersionString = String.Concat("V", (Convert.ToInt32(majorVersion) + 18).ToString()); //Major Version String + NxMinorVersionString = minorVersion.ToString(); //Minor Version String + NxSubminorVersionString = subminorVersion.ToString(); //Subminor Version String + NxPhaseString = phase.ToString(); //NX Phase String + UgiiFullVersion = String.Concat("v", majorVersion, ".", minorVersion, ".", subminorVersion, ".", phase); //NX Full Version + UgiiVersion = String.Concat("v", majorVersion); + } + + private string[] SeperateVersionCode(string versionNumber) + { + //Wert auflösen und in den Variablen ablegen + if (versionNumber == "\n\r" || versionNumber == null) + { + versionNumber = "NX 00.0.0.00 MP0"; //Wenn kein Wert zurückgeliefert wird, dann mit Null vorbelegen + } + + if (versionNumber.EndsWith("\r\n")) + { + versionNumber = versionNumber.Replace("\r\n", ""); //Zeilenvorschub und Wagenrücklauf entfernen + } + else if (versionNumber.EndsWith("\n\r")) + { + versionNumber = versionNumber.Replace("\n\r", ""); //Zeilenvorschub und Wagenrücklauf entfernen + } + + string[] versionSegments = new string[6]; + + if (versionNumber.Contains("MP")) + { + versionSegments[5] = versionNumber.Remove(0, versionNumber.IndexOf("MP")); + versionNumber = versionNumber.Remove(versionNumber.IndexOf("MP") - 1); //Wenn ' MP' vorkommt, dann abschneiden + } + else + { + versionSegments[5] = "MP0"; + } + versionSegments[0] = versionNumber.Remove(versionNumber.IndexOf(" ")); //Produktnamen zuordnen. Z.B.: NX of NX 10.0.3.5 + versionNumber = versionNumber.Remove(0, versionNumber.IndexOf(" ") + 1); //Den Produktnamen entfernen + + //Die einzelnen Segmente herauslösen + string[] tempVersionSegments = versionNumber.Split(new Char[] { '.' }); + + + if (tempVersionSegments.Length != 4) + { + if (tempVersionSegments.Length == 3) + { + //NX Phase fehlt + versionSegments[1] = tempVersionSegments[0]; + versionSegments[2] = tempVersionSegments[1]; + versionSegments[3] = tempVersionSegments[2]; + versionSegments[4] = "0"; + } + else if (tempVersionSegments.Length == 2) + { + //Sub Minor Version und NX Phase fehlen + versionSegments[1] = tempVersionSegments[0]; + versionSegments[2] = tempVersionSegments[1]; + versionSegments[3] = "0"; + versionSegments[4] = "0"; + } + else if (tempVersionSegments.Length == 1) + { + //Minor Version, Sub Minor Version und NX Phase fehlen + versionSegments[1] = tempVersionSegments[0]; + versionSegments[2] = "0"; + versionSegments[3] = "0"; + versionSegments[4] = "0"; + } + else + { + //Major Version, Minor Version, Sub Minor Version und NX Phase fehlen + versionSegments[1] = "0"; + versionSegments[2] = "0"; + versionSegments[3] = "0"; + versionSegments[4] = "0"; + } + } + else + { + versionSegments[1] = tempVersionSegments[0]; + versionSegments[2] = tempVersionSegments[1]; + versionSegments[3] = tempVersionSegments[2]; + versionSegments[4] = tempVersionSegments[3]; + } + return versionSegments; + } + + private string SeperatePatchText(string patchText) + { + if (patchText.Contains("MP")) + { + patchText = patchText.Remove(0, patchText.IndexOf("MP")); //Alles vor MP abschneiden + if (patchText.Contains(",")) + { + patchText = patchText.Remove(patchText.IndexOf(",")); + } + return patchText; + } + else + { + return "MP0"; //Es wurde kein gültiger Text gefunden, darum einen Wert zuweisen + } + } + + private NxVersion AssignVersion() + { + NxVersion nxVersion = new NxVersion(); + + nxVersion.NXpatch = NXpatch; //NX Patch. E.g.: NX 10.0.3.5 MP4 + nxVersion.NXversion = NXversion; //NX Version. E.g.: NX 10.0.3.5 + nxVersion.MaintenanceRelease = MaintenanceRelease; //Maintenance Release. E.g.: 10.0.3.5 of NX 10.0.3.5 MP4 + nxVersion.UgiiProductName = UgiiProductName; //UGII_PRODUCT_NAME. E.g.: NX of NX 10.0.3.5 + nxVersion.UgiiMajorVersion = UgiiMajorVersion; //UGII_MAJOR_VERSION. E.g.: 10 of NX 10.0.3.5 + nxVersion.UgiiMinorVersion = UgiiMinorVersion; //UGII_MINOR_VERSION. E.g.: 0 of NX 10.0.3.5 + nxVersion.UgiiSubminorVersion = UgiiSubminorVersion; //UGII_SUBMINOR_VERSION. E.g.: 3 of NX 10.0.3.5 + nxVersion.NXphase = NXphase; //NX Phase. E.g.: 5 of NX 10.0.3. + nxVersion.MaintenancePack = MaintenancePack; //Maintenance Pack. E.g.: MP4 of NX 10.0.3.5 MP4 + nxVersion.MaintenancePackNumber = MaintenancePackNumber; //Maintenance Pack Number. E.g.: 4 of NX 10.0.3.5 MP4 + nxVersion.NxVersionString = NxVersionString; //NX_VERSION_STRING. E.g.: V28.0.3.5 instead of NX 10.0.3.5 MP4 + nxVersion.NxMajorVersionString = NxMajorVersionString; //NX_MAJOR_STRING. E.g.: V28 of V28.0.3.5 + nxVersion.NxMinorVersionString = NxMinorVersionString; //NX_MINOR_STRING. E.g.: 0 of V28.0.3.5 + nxVersion.NxSubminorVersionString = NxSubminorVersionString; //NX_SUBMINOR_STRING. E.g.: 3 of V28.0.3.5 + nxVersion.NxPhaseString = NxPhaseString; //NX_PHASE_STRING. E.g.: 5 of V28.0.3.5 + nxVersion.UgiiFullVersion = UgiiFullVersion; //UGII_FULL_VERSION. E.g.: v10.0.3.5 instead of NX 10.0.3.5 + nxVersion.UgiiVersion = UgiiVersion; //UGII_VERSION. E.g.: v10 of v10.0.3.5 + + return nxVersion; + } + + private NxVersion AssignVersionSegments(string[] versionSegments) + { + NxVersion nxVersion = new NxVersion(); + + // NX_VERSION. E.g.: NX 10.0.3.5 + nxVersion.NXversion = versionSegments[0] + " " + versionSegments[1] + "." + versionSegments[2] + "." + versionSegments[3] + "." + versionSegments[4]; + NXversion = nxVersion.NXversion; + + // NX_PHASE. E.g.: 5 of NX 10.0.3.5 + nxVersion.NXphase = Convert.ToInt16(versionSegments[4]); + NXphase = nxVersion.NXphase; + + // NX_PATCH. E.g.: NX 10.0.3.5 MP4 + nxVersion.NXpatch = nxVersion.NXversion + " " + versionSegments[5]; + NXpatch = nxVersion.NXpatch; + + + // UGII_PRODUCT_NAME. E.g.: NX of NX 10.0.3.5 + nxVersion.UgiiProductName = versionSegments[0]; + UgiiProductName = nxVersion.UgiiProductName; + + // UGII_VERSION. E.g.: v10 of NX 10.0.3.5 + nxVersion.UgiiVersion = "v" + versionSegments[1]; + UgiiVersion = nxVersion.UgiiVersion; + + // UGII_FULL_VERSION. E.g.: v10.0.3.5 + nxVersion.UgiiFullVersion = "v" + versionSegments[1] + "." + versionSegments[2] + "." + versionSegments[3] + "." + versionSegments[4]; + UgiiFullVersion = nxVersion.UgiiFullVersion; + + // UGII_MAJOR_VERSION. E.g.: 10 of NX 10.0.3.5 + nxVersion.UgiiMajorVersion = Convert.ToInt16(versionSegments[1]); + UgiiMajorVersion = nxVersion.UgiiMajorVersion; + + // UGII_MINOR_VERSION. E.g.: 0 of NX 10.0.3.5 + nxVersion.UgiiMinorVersion = Convert.ToInt16(versionSegments[2]); + UgiiMinorVersion = nxVersion.UgiiMinorVersion; + + // UGII_SUBMINOR_VERSION. E.g.: 3 of NX 10.0.3.5 + nxVersion.UgiiSubminorVersion = Convert.ToInt16(versionSegments[3]); + UgiiSubminorVersion = nxVersion.UgiiSubminorVersion; + + + // NX_VERSION_STRING. E.g.: V28.0.3.5 instead of NX 10.0.3.5 MP4 + nxVersion.NxVersionString = "V" + (Convert.ToInt16(versionSegments[1]) + 18).ToString() + "." + versionSegments[2] + "." + versionSegments[3] + "." + versionSegments[4]; + NxVersionString = nxVersion.NxVersionString; + + // NX_MAJOR_STRING. E.g.: V28 of V28.0.3.5 + nxVersion.NxMajorVersionString = "V" + (Convert.ToInt16(versionSegments[1]) + 18).ToString(); + NxMajorVersionString = nxVersion.NxMajorVersionString; + + // NX_MINOR_STRING. E.g.: 0 of V28.0.3.5 + nxVersion.NxMinorVersionString = versionSegments[2]; + NxMinorVersionString = nxVersion.NxMinorVersionString; + + // NX_SUBMINOR_STRING. E.g.: 3 of V28.0.3.5 + nxVersion.NxSubminorVersionString = versionSegments[3]; + NxSubminorVersionString = nxVersion.NxSubminorVersionString; + + // NX_PHASE_STRING. E.g.: 5 of V28.0.3.5 + nxVersion.NxPhaseString = versionSegments[4]; + NxPhaseString = nxVersion.NxPhaseString; + + + // Maintenance Release. E.g.: 10.0.3.5 of NX 10.0.3.5 MP4 + nxVersion.MaintenanceRelease = versionSegments[1] + "." + versionSegments[2] + "." + versionSegments[3] + "." + versionSegments[4]; + MaintenanceRelease = nxVersion.MaintenanceRelease; + + // Maintenance Pack. E.g.: MP4 of NX 10.0.3.5 MP4 + nxVersion.MaintenancePack = versionSegments[5]; + MaintenancePack = nxVersion.MaintenancePack; + + // Maintenance Pack Number. E.g.: 4 of NX 10.0.3.5 MP4 + nxVersion.MaintenancePackNumber = Convert.ToInt16(nxVersion.MaintenancePack.Remove(0, nxVersion.MaintenancePack.IndexOf("MP") + 2)); + MaintenancePackNumber = nxVersion.MaintenancePackNumber; + + return nxVersion; + } + #endregion + + #region Common Public Methodes + /// + /// Converts a NxPatch string to NxVersion + /// + /// A valid NxPatch. E.g.: NX 10.0.3.5 MP4 + /// + public NxVersion ConvertStringPatchToNxVersionPatch(string nxPatch) + { + return AssignVersionSegments(SeperateVersionCode(nxPatch)); + } + + /// + /// Assign values to a NX Version. + /// + /// A valid UGII_BASE_DIR. + /// A full defined NX Version. + public NxVersion GetNxVersion(string ugii_base_dir) + { + NxVersion nxVersion = new NxVersion(); + + string tempVersion = ""; + string tempPatchText = ""; + + + if (Directory.Exists(ugii_base_dir)) + { + tempVersion = ReadProcessOutput(ugii_base_dir, "-n"); //Prozess mit env_print.exe -n aufrufen + tempPatchText = ReadProcessOutput(ugii_base_dir, "-m"); //Prozess mit env_print.exe -m aufrufen + + //Wert auflösen und in den Variablen ablegen + AlignCode(tempVersion, tempPatchText); + + return AssignVersion(); //Werte zuordnen + } + else + { + return null; //Wenn 'ugii_base_dir' nicht existiert, dann 'null' zurückgeben + } + } + + /// + /// Assign values to a NX Version. + /// + /// A valid product name. E.g.: NX + /// A valid UGII_MAJOR_VERSION. E.g.: 10 of NX 10.0.3.5 + /// A valid UGII_MINOR_VERSION. E.g.: 0 of NX 10.0.3.5 + /// A full defined NX Version. + public NxVersion GetNxVersion(string ugiiProductName, int majorVersion, int minorVersion) + { + NxVersion nxVersion = new NxVersion(); + + //Wert auflösen und in den Variablen ablegen + AlignCode(ugiiProductName, majorVersion, minorVersion, 0, 0, 0); + + return AssignVersion(); //Werte zuordnen + } + + /// + /// Assign values to a NX Version. + /// + /// A valid product name. E.g.: NX + /// A valid UGII_MAJOR_VERSION. E.g.: 10 of NX 10.0.3.5 + /// A valid UGII_MINOR_VERSION. E.g.: 0 of NX 10.0.3.5 + /// A valid UGII_SUBMINOR_VERSION. E.g.: 3 of NX 10.0.3.5 + /// A full defined NX Version. + public NxVersion GetNxVersion(string ugiiProductName, int majorVersion, int minorVersion, int subminorVersion) + { + NxVersion nxVersion = new NxVersion(); + + //Wert auflösen und in den Variablen ablegen + AlignCode(ugiiProductName, majorVersion, minorVersion, subminorVersion, 0, 0); + + return AssignVersion(); //Werte zuordnen + } + + /// + /// Assign values to a NX Version. + /// + /// A valid product name. E.g.: NX + /// A valid UGII_MAJOR_VERSION. E.g.: 10 of NX 10.0.3.5 + /// A valid UGII_MINOR_VERSION. E.g.: 0 of NX 10.0.3.5 + /// A valid UGII_SUBMINOR_VERSION. E.g.: 3 of NX 10.0.3.5 + /// A valid NX Phase. E.g.: 5 of NX 10.0.3.5 + /// A valid Maintenance Pack. E.g.: MP4 of NX 10.0.3.5 MP4 + /// A full defined NX Version. + public NxVersion GetNxVersion(string ugiiProductName, int majorVersion, int minorVersion, int subminorVersion, int phase, int mp) + { + NxVersion nxVersion = new NxVersion(); + + //Wert auflösen und in den Variablen ablegen + AlignCode(ugiiProductName, majorVersion, minorVersion, subminorVersion, phase, mp); + + return AssignVersion(); //Werte zuordnen + } + #endregion + + #region Compare + /// + /// Compares two NX-Versions. + /// + /// A valid NX-Version. + /// 0 = equal, 1 = first version newer, 2 = second version newer, -1 = An error is happened. + public int Compare(NxVersion version) + { + //version.PostNX12 = IsPostNX12(version); + return Compare(this, version); + } + + /// + /// Compares two NX-Versions. + /// + /// A valid NX Version. + /// A valid NX Version. + /// 0 = equal, 1 = first version newer, 2 = second version newer, -1 = An error is happened. + public int Compare(NxVersion version1, NxVersion version2) + { + if (IsPostNX12(version1) & IsPostNX12(version2)) + { + return ComparePostNX12(version1, version2); + } + if (!IsPostNX12(version1) & !IsPostNX12(version2)) + { + return CompareUpToNX12(version1, version2); + } + if ((IsPostNX12(version1) & !IsPostNX12(version2)) || (!IsPostNX12(version1) & IsPostNX12(version2))) + { + return CompareDiffVersions(version1, version2); + } + return -1; + } + + /// + /// Compares two NX-Versions. + /// + /// A valid product name. E.g.: NX + /// A valid UGII_MAJOR_VERSION. E.g.: 10 of NX 10.0.3.5 + /// A valid UGII_MINOR_VERSION. E.g.: 0 of NX 10.0.3.5 + /// A valid UGII_SUBMINOR_VERSION. E.g.: 3 of NX 10.0.3.5 + /// A valid NX Phase. E.g.: 5 of NX 10.0.3.5 + /// A valid Maintenance Pack. E.g.: MP4 of NX 10.0.3.5 MP4 + /// 0 = equal, 1 = first version newer, 2 = second version newer, -1 = An error is happened. + public int Compare(string ugiiProductName, int majorVersion, int minorVersion, int subminorVersion, int phase, int mp) + { + NxVersion nxVersion = new NxVersion(); + nxVersion.UgiiProductName = ugiiProductName; + nxVersion.UgiiMajorVersion = majorVersion; + nxVersion.UgiiMinorVersion = minorVersion; + nxVersion.UgiiSubminorVersion = subminorVersion; + nxVersion.NXphase = phase; + nxVersion.MaintenancePackNumber = mp; + + //NX-Version vergleichen + return Compare(this, nxVersion); + } + + private int CompareUpToNX12(NxVersion version1, NxVersion version2) + { + //Nummer setzen wenn noch nicht geschehen + if (!String.IsNullOrEmpty(version2.MaintenancePack)) + { + if (version2.MaintenancePackNumber != Convert.ToInt32(version2.MaintenancePack.Remove(0, 2))) + { + version2.MaintenancePackNumber = Convert.ToInt32(version2.MaintenancePack.Remove(0, 2)); + } + } + + //if (version1.NXpatch == version2.NXpatch) + if (version1.UgiiMajorVersion == version2.UgiiMajorVersion & version1.UgiiMinorVersion == version2.UgiiMinorVersion & version1.UgiiSubminorVersion == version2.UgiiSubminorVersion & version1.NXphase == version2.NXphase & version1.MaintenancePackNumber == version2.MaintenancePackNumber) + { + return 0; //Versionen gleich + } + if (version1.UgiiMajorVersion < version2.UgiiMajorVersion) + { + return 2; //Version 1 ist älter als Version 2 + } + if (version1.UgiiMajorVersion > version2.UgiiMajorVersion) + { + return 1; //Version 1 ist neuer als Version 2 + } + if (version1.UgiiMinorVersion < version2.UgiiMinorVersion) + { + return 2; //Version 1 ist älter als Version 2 + } + if (version1.UgiiMinorVersion > version2.UgiiMinorVersion) + { + return 1; //Version 1 ist neuer als Version 2 + } + if (version1.UgiiSubminorVersion < version2.UgiiSubminorVersion) + { + return 2; //Version 1 ist älter als Version 2 + } + if (version1.UgiiSubminorVersion > version2.UgiiSubminorVersion) + { + return 1; //Version 1 ist neuer als Version 2 + } + if (version1.NXphase < version2.NXphase) + { + return 2; //Version 1 ist älter als Version 2 + } + if (version1.NXphase > version2.NXphase) + { + return 1; //Version 1 ist neuer als Version 2 + } + if (version1.MaintenancePackNumber < version2.MaintenancePackNumber) + { + return 2; //Version 1 ist älter als Version 2 + } + if (version1.MaintenancePackNumber > version2.MaintenancePackNumber) + { + return 1; //Version 1 ist neuer als Version 2 + } + + return -1; //Fehler passiert + } + + private int ComparePostNX12(NxVersion version1, NxVersion version2) + { + if (version1.UgiiMajorVersion == version2.UgiiMajorVersion & version1.UgiiMinorVersion == version2.UgiiMinorVersion) + { + return 0; //Versionen gleich + } + if (version1.UgiiMajorVersion < version2.UgiiMajorVersion) + { + return 2; //Version 1 ist älter als Version 2 + } + if (version1.UgiiMajorVersion > version2.UgiiMajorVersion) + { + return 1; //Version 1 ist neuer als Version 2 + } + if (version1.UgiiMinorVersion < version2.UgiiMinorVersion) + { + return 2; //Version 1 ist älter als Version 2 + } + if (version1.UgiiMinorVersion > version2.UgiiMinorVersion) + { + return 1; //Version 1 ist neuer als Version 2 + } + + return -1; //Fehler passiert + } + + private int CompareDiffVersions(NxVersion version1, NxVersion version2) + { + if (version1.UgiiMajorVersion > version2.UgiiMajorVersion) + { + return 1; //Version 1 ist neuer als Version 2 + } + if (version1.UgiiMajorVersion < version2.UgiiMajorVersion) + { + return 2; //Version 1 ist neuer als Version 2 + } + + return -1; //Fehler passiert + } + + private int CompareMethode(NxVersion version) + { + return CompareMethode(this, version); + } + + private int CompareMethode(NxVersion version1, NxVersion version2) + { + if (version1.NXpatch == version2.NXpatch) + { + return 0; //Versionen gleich + } + if (version1.UgiiMajorVersion < version2.UgiiMajorVersion) + { + return 2; //Version 1 ist älter als Version 2 + } + if (version1.UgiiMajorVersion > version2.UgiiMajorVersion) + { + return 1; //Version 1 ist neuer als Version 2 + } + if (version1.UgiiMinorVersion < version2.UgiiMinorVersion) + { + return 2; //Version 1 ist älter als Version 2 + } + if (version1.UgiiMinorVersion > version2.UgiiMinorVersion) + { + return 1; //Version 1 ist neuer als Version 2 + } + if (version1.UgiiSubminorVersion < version2.UgiiSubminorVersion) + { + return 2; //Version 1 ist älter als Version 2 + } + if (version1.UgiiSubminorVersion > version2.UgiiSubminorVersion) + { + return 1; //Version 1 ist neuer als Version 2 + } + if (version1.NXphase < version2.NXphase) + { + return 2; //Version 1 ist älter als Version 2 + } + if (version1.NXphase > version2.NXphase) + { + return 1; //Version 1 ist neuer als Version 2 + } + if (version1.MaintenancePackNumber < version2.MaintenancePackNumber) + { + return 2; //Version 1 ist älter als Version 2 + } + if (version1.MaintenancePackNumber > version2.MaintenancePackNumber) + { + return 1; //Version 1 ist neuer als Version 2 + } + + return -1; //Fehler passiert + } + + private int CompareMethode(string ugiiProductName, int majorVersion, int minorVersion, int subminorVersion, int phase, int mp) + { + //NxVersion nxVersion = new NxVersion(); + + NxVersion nxVersion = GetNxVersion(ugiiProductName, majorVersion, minorVersion, subminorVersion, phase, mp); + + //NX-Version vergleichen + return CompareMethode(this, nxVersion); + } + #endregion + } + + #region Exception + class NoNXversionException : ApplicationException + { + public NoNXversionException() + { } + + public NoNXversionException(string message) : base(message) + { } + + public NoNXversionException(string message, Exception inner) : base(message, inner) + { } + } + + class NoEnvPrintExeException : ApplicationException + { + public NoEnvPrintExeException() + { } + + public NoEnvPrintExeException(string message) : base(message) + { } + + public NoEnvPrintExeException(string message, Exception inner) : base(message, inner) + { } + } + + class NoLibPatchDllException : ApplicationException + { + public NoLibPatchDllException() + { } + + public NoLibPatchDllException(string message) : base(message) + { } + + public NoLibPatchDllException(string message, Exception inner) : base(message, inner) + { } + } + + class NoLibSysDllException : ApplicationException + { + public NoLibSysDllException() + { } + + public NoLibSysDllException(string message) : base(message) + { } + + public NoLibSysDllException(string message, Exception inner) : base(message, inner) + { } + } + #endregion +} diff --git a/NxVersion/NxVersion.csproj b/NxVersion/NxVersion.csproj new file mode 100644 index 0000000..ee947e3 --- /dev/null +++ b/NxVersion/NxVersion.csproj @@ -0,0 +1,49 @@ + + + + + Debug + AnyCPU + {5409502C-5E57-44D9-AA55-57BBE89071CF} + Library + Properties + NxVersion + NxVersion + v4.7.2 + 512 + false + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/NxVersion/Properties/AssemblyInfo.cs b/NxVersion/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..4610b20 --- /dev/null +++ b/NxVersion/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("NxVersion")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("NxVersion")] +[assembly: AssemblyCopyright("Copyright © 2019 by Eugen Höglinger")] +[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("5409502c-5e57-44d9-aa55-57bbe89071cf")] + +// 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.*")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/NxVersion/bin/Debug/NxVersion.dll b/NxVersion/bin/Debug/NxVersion.dll new file mode 100644 index 0000000000000000000000000000000000000000..4ba09c010c1cfb65072968321350f3d6547b46a5 GIT binary patch literal 18944 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 literal 0 HcmV?d00001 diff --git a/NxVersion/bin/Debug/NxVersion.pdb b/NxVersion/bin/Debug/NxVersion.pdb new file mode 100644 index 0000000000000000000000000000000000000000..8f07cb7fc20eb4921025370329c1d59fe061e25f GIT binary patch literal 48640 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 +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/NxVersion/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/NxVersion/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000000000000000000000000000000000000..e6954dee6ef2c0c21530965cf9872209842e96ce GIT binary patch literal 6884 zcmeHM|5F-A6bHqNXiUXgV>C%gn@*FI+<@QBj6b9x(W!A9pr##7=1JT(2z|Hsr$M9J8%lo{2`*!*4BNB~7BLBdHpZMG#0b#vorr?rS zm43*iN9>~VEXMULcO35S=C)JGLn9A>_tqkbd--Z6V&StEk}h4}#R|ROkgFcHO$C4~*+vFh1&UJ!>ixH#=J zl}H8JX0Np6xoyFGpJHW+h#FPFu%cIyRPBQj`JB~UE@+Nc3Akd{l?v?ZTGvwi>h?}8 zb*-)s+081RT&wRLm9$}=QuUdcV}hEB3r6L1-BLspDG}z$0Z}J%y4F`QSr@zt9>Q78 z2wG!OiDq{|944kHx^Mv$^*W;mWv;L3J$KnD70+(2&M{fHNfQD42et!ku{H2OaFa^O z#apnRDVP(4Tzd$$3ZAQ&L)%08HMP7X=RHXav`PhaK~-LG2b6vSO%Ft;)_03GqK#@= zBr*zeBpQus@CF$f`E#t;l!`hKp0K{A!hqA?QI`s4>U-dbAA1wiADp1Movw$FX36gFS^MuB~za!j{uTbuVw z^qeMeY0&)|-UnDV@Ke%f_{kUN8*49(U^2D&o zfFq&6b?BcDvj{L&C@=v(71T$13`l2TBISr8I*KAy-HV!!{Uq#J`q&saPXXyT%vmDH z*8p-7CdfWj`i@eqNK68n6DHaR=32ZV^*k4j^w;YdK$>Af{^Hm^&^KXw5`p%Z`x~Og z@Pr@ok|8e{=nZ_(wBG+!Jci7NBgc*<`<;#-pS4nP(DHXIIM%OcCWdJTOhSG(LlQ>Z z4|?$jdL5=3Lc2_)-yf6-op2xl2J9aNV?iI6-oi3JQj g;a>&-=AIuG7&G{c{xv-1{_C%n;VBoSz{`{W0>wq`jQ{`u literal 0 HcmV?d00001 diff --git a/NxVersion/obj/Debug/NxVersion.csproj.CoreCompileInputs.cache b/NxVersion/obj/Debug/NxVersion.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..5b4a01c --- /dev/null +++ b/NxVersion/obj/Debug/NxVersion.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +16aaa6b329891a69cbad3d5b12489a34279c0ce9 diff --git a/NxVersion/obj/Debug/NxVersion.csproj.FileListAbsolute.txt b/NxVersion/obj/Debug/NxVersion.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..9ec4e57 --- /dev/null +++ b/NxVersion/obj/Debug/NxVersion.csproj.FileListAbsolute.txt @@ -0,0 +1,6 @@ +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\NxVersion\obj\Debug\NxVersion.csprojAssemblyReference.cache +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\NxVersion\obj\Debug\NxVersion.csproj.CoreCompileInputs.cache +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\NxVersion\bin\Debug\NxVersion.dll +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\NxVersion\bin\Debug\NxVersion.pdb +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\NxVersion\obj\Debug\NxVersion.dll +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\NxVersion\obj\Debug\NxVersion.pdb diff --git a/NxVersion/obj/Debug/NxVersion.csprojAssemblyReference.cache b/NxVersion/obj/Debug/NxVersion.csprojAssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..9bc3f46550f67ccc16d119ec693d0789c406d60b GIT binary patch literal 424 zcmaJ-Jx{|h5Oru$TEb8kCWf#_R-!6`B_I(AApruEsw3!}Rpp~${*{`vAC`+SR~c77ZSft zqoeODpF&D(t&d>%6_^(bjYLX49eE0g{*{isVDCmjcL}XkdUrcd?BiBy{R$fOgx;;i z8-~7U#!HY64Pzq~Me*cto8wM*VgUK$d4D)PKcg6-rvutVMAR;%(jPvWGJX=zga6zL P46-1Yk&!SXGa>#2t@U;3 literal 0 HcmV?d00001 diff --git a/NxVersion/obj/Debug/NxVersion.dll b/NxVersion/obj/Debug/NxVersion.dll new file mode 100644 index 0000000000000000000000000000000000000000..4ba09c010c1cfb65072968321350f3d6547b46a5 GIT binary patch literal 18944 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 literal 0 HcmV?d00001 diff --git a/NxVersion/obj/Debug/NxVersion.pdb b/NxVersion/obj/Debug/NxVersion.pdb new file mode 100644 index 0000000000000000000000000000000000000000..8f07cb7fc20eb4921025370329c1d59fe061e25f GIT binary patch literal 48640 zcmeI53!GHNmH%(IID!H)h=};e@KQi#nBgH{P~uijFDlcftF#0%=92;joTpj zNHk*N0~3uH6Qc=9G)tmU+)T2r!42-3#JITYCYnFG8qJD{yML1y{eOSAPIceuxjiVs z{eM&n&iuM=opb8csXBG*-dlZpPP(qSsikRorfllSsi&M$HfQ1VvT+ral|2scU%fCO zCBy&0g?!we(19Shz`?=49{>-uy?ro!m_0B)KZXwug%9CCIO3nG65$x=#Xt~|jt<^_ zy9@aC+lPetgMU7_9*FDzz6bmNgWKT+ExVzjDzWprZ(OLQ-SV?v`R2=q9(&F`_iZ@p zhd;jUG0&ogdh|CLvZ3i18Z%7c~`^T5IWFXovK z$MH9o%|G+e!+ue^d126Y&Yj6S9+`IbEib+B^U}>{y8IEhUGcHf<-aI>cz6)J(RJ3t zM?Nv^ss~DsnsVi5FYdYN=52k;%uSC?I`S*mZXIyv@5jG&`L@=dY<}j)3!nbPH~aRS z|C37^uD{`$fBSHF^ZnP#1J(b_N^eUPfCe*X&}-*IiPBUk)S z`pd7bdH;Fl!(s7(>i?}nZ`yp_ZC5rX9(wAl4Ub-5|A)UXy=lY1H-E5j@{M0=yl~m4 zJ{;bB|F&{%KWDqg_isxMTK;Z4@Ybtuy{ZejySUFE%sj1TUUSom=GxV()2ZfEW6g|o zrhGwaO;bxc)6{%P&AI88*4l=Jnb!JrQ_ZN#s&O?JR?nVYGk4v&spgh+Q)9)7bS9t6 zf2yc!34)cU)vRf!9Om-oyz;f7@|LLb`i6#@#&v5W%5%BMag-lm!<&{}R8yT=*1Dpm zV(zp>)A2{@;-=SYa=OwMGQ)5}^jsTMW#0Jl@N)H_=m zQ<>#CTg)romRhr=ww)~p*e?u@HL2!II@MC++divtdDDB)YDS8$$+s+RH63BY+dqYR zko$H7`%PtHHzhwk=FUIX-v3lWUVJx6cZf?M$sKQk z^88RfOLxzKf4O`mpVcGkF_oo^PoSRjyhC4|^q_dvqvBOrlvlm$c?T@`Rh@WMuXt4! zBHdx_5W$X@KUvQoAvwrNYgo_@OJlq{iI)An@KH7 zuU5SE4Gt-lj(QlqoYWj13@%-~@RF8HYISg8{&U6DriO-8U53R%OT~;-W2!k_hmIU? zMRmG%MPpM-Ce4|&XXN;-bAq6EBtJXd_(`g1C%YiE+;q3+U6fjv5pVy9{Gyf3soMH< zw!E za7xgn%VTH$_R+sP|EXC!hIC6l^v&%{rDsl19gG6IFfYoFibMC*ty|EgBuFTq=#$6< zeG_cOC<#urzN)da+i{fp#Gw-Pf$RyUwl=eZ%bcI8ZB|zObT0+{V3LgI>uYV}aIS6j znZ~fLGv0~K=r)@t8K32k#@YqmW~yqV)Zaj2w$jCg~Enc8NvR<mdBgp^`%|C~R*y_=%&bO=~V`POn(W2vxi1VdNf2a-P?>8~NCF zt6Vyx<#mznR~z@EFT=5zI3`h@T+=rZ9eefGw&=?0P}+9BZ(B<$b76Hu!(7(QYIsz3 ztI39wiV8`5E?MejR}`0hCZ=9&C|T}htzKKEx2v}w23lS21An_ByV}cIy>YUOOg7ry zZpgNHS=Afq$7p*u$JBc`vY+y@s<%Ma$IKfhds5EgAYk=dlJ&9+QyJW>C3sM=uQ7~F z7s$t|Y^?BeiFL-tNImeC+~w=3sN?c4_^aw@Fy{?Mr%yeoV>q!I9-c7lmvQ_a6nxF(d~D#VTx>M@>(RMQVNBhP-0{ebMD9dlOZ92q=3@|*<6O07UTvms zrJXS3BTw&W{zkF)ujcMP=ufO)nk-MQ|6XFlmqJ~Be%NOIU<~F`Py8|0>NpblbG^LARVVTztm0_>%-tmyczIv{f~KZSO#KZe7_FZU zC`oyFUw?tTKY!gFQ-5#d8@#;gpT|OA?vkoev`%gJvU_6cJ_^~4msQg|i{XS}Rzp1Wj?hM(+MJ_Id_%Z;$?k5acy7UT9=8=*4>)bSafXlI{aAaM90<` zJNl#JZm+}JF{k#Tre;42J3n|k_Qcr1TBhVXUWd1%6CFeC_CeGiT(_3o?{(ztNH-R< zqrr4U{c!?1{@&}z+0jwQ6ziAmF?O7Yjz_%?Z^y#cWvkn(3CD)l^Ja`KA3@LKUXQn> zh#ntP<27*=jFU3-{L<@@J&ezlOh@92j?awAM*T4W*=M}0Y$%ZRefmI5y#tZe8c6eW z;QcVYwV@$DEW-M|jyGfKAB2vVy$q2fgHm;Dp>Ibi*3nvhzs0}Bhqnp>r}7H z+0>~nKmOi~v8w`IXLw!Cu6c@IZ;krP%TLsW8!0+=Mj}7W%R5^-$osLEHTkGtDv_V# z>_bOaTLnh#VEs^1<8>6+F|W36 zmD(M(W47st`eHOX>b#BuJEA&r<3GlZG3Z$3b;Q^)w{`Wh6f3=G96b|b%UJX@dp$9> zMD_Smd9)o;siNb>`+!?#r>sOV$fPkh`{k&&AI> zxUa*+sZ$i7dnE4jG0s=s?lHPpAh9OOr3vtlukh)LH( zS!{kClAP!Db~Ao+cBdNG&f}bsk=%i_d%M{^S&A*4hTXHGcC#+5OSQC|)0$b+iUs>| zFCx6Jl*~S#yRYQ^Hl78z(qj(7zaORk&-nVMtxMIlW@?u;q*|t}OSfe3-2Pt6C6_1H z&rfbRCV6=>^r2rnbzvc|wAw-VcOo_{q_4xiD`>y^Z6bC*0!ha6>3D`?ZBRYO7n!`j z|Hx7=*Pm;gOG7*Us{WkVK4yDyVWG6dLHPG{+S2CRGPxnWqH$_deael$uC#q8B!17M zYikKI=5zM0bq{eDrdF)xuB7g_x_eep9$kM+F7yvNAAz`53I5gU)_pvto_2cEffVtpc+eIwN4=da^cIqB=F)Y2LFq8}4N*sle?=!5T`gv9T8yf0YZ?b8=g zo~SQoqVowz=8Uwuy)U9N2gDZ>6D^7CFO%6_&ad7V8_gG2M|^Q6zW8Ccj=tERdr^KJ zaTOPqN>7CjcAqCv&rAkNcxYjY2gBSqwRN-`iEhkXg^eSSm#pXa{%3hq)c+^hSd8+> z|5inA%xa9C`|i(;3D(a+V#9Y6n{G>>tzP7R+eBzq;Z+pT^-pY5>ve;cWP3iYq`_46Ev zNg#J6qj>F(%%zZIJfA-g;rN{I57_y$zni!GxVh9GgdD;3mQPc$c`2P5`mCMJxh@Uo znl|hnkGy0(zqg%bK~dZH!{_e#NdNrvk+bZ&qN_bT=Tx3c)!4rZ148?!HZ?MbX58A{ zb$nB9EfeNh%fIWjNRqG$jnUZl{oj?F8A^*Bgny@D%Vpk{8L3RJYD&ZY$Nn}*GM>-- zkR?K_4^^(VMav^`7v7`QbW>O!8TNnOyx%`DC()A3ZYdo9)_(4zYN-?=YFh#lEhaKUb|)QNv>zo(Olr`ex%G*%2>*!v#I+ZW9rsC(61~AHbUa}JidQe z&c)6Hs&7Ah<*uXbJmAlr^#h!l-wy|n`#c+ayVJ<HS?L^-q*8Mo=**XI+Wxp4WEk9?yXf{M+=^Sj>SYX4PRA!|vIQCgIuGB zg$;F|=TYzHi`4tEcRxOoBT(!7|AplG@yYf7k=(E$dHKo7%YUBS`03=PUdc^&Ca+lF zV$J(w%wT7WP32)`K6X9C+CSPS-XDs$jkM);NHU)9J&m^oZr$ad9d9w4hd9&2zcj1l zX>W5yUHI^Lf369BkG4goH-QK6MVJodFXxFc(eA8#!?c{$Dxe&=O-x_8>8k)W6#whhx3biw=hIp0(%h1jZ92|8ul+$`n?{53#~5%i zSOwM^Up+`HXV-$Kf}a8>fPVv?25ta93f>5w4m$e>VgFK&1Yl1l=ce#;DOMjHj3?h4 zqIOa#vrs9%bA07|9+7MJX3E`Ol|*j8%i$c`C_&OB>XRQQgYx4Pkn2`Z32IHlh9xn|q7IlBf^=Juo{a?f>Shh54B z3(+@}c4#b!cPWMHyAnPt74nwjanI}aoW$$px-EMOz3F+~9+P;z;;p1dJ+IqS60i3H zc!#qK!}Gd5B=LI1J2Ds@@@mXvt!)}-O3@fv>WYJ9p!%f_R6o>%it7~U#>+?W@epWG z&d2I|w@)OI>+fja_d%A+E5=ihW!wf#3)wS4`XKC6;x0=)+B=-hfGa_b*)(`5coBFx z$W3}|SWmqTP$hH*RArx!0~O=_LzI86p}lVJNFv-v!l7_&E%J`alTMes86 zFM(P9zXq-c)jpNK4&s~ae}kLA!)V(T;IZIU;6U(da1e-%+2Z~y&-t%MxJ$;z)G1-y zE9RA4?2iY}hlWLt4GqikJZB@f02&t_SKs(C>-M)Ka?hDCEf`-x&0>bym!Dmh_jB@ z>-Lw#+aTWP9Om|u#Ou8a-T}m~*X#C=#OoFBNzAXF*Xz3tq3=&k?Wp`vrR4zKwXj;*IKc`!nM8J_K)c z?6^G`@p{GU=VzUJ+&+tVy>0NG$hp_I&F!m**DK!W*m3(P;`KfXZ?xaseu;R!;*Iv3 z+ZPe9_owhi$GY1C5wBOgQJ=Z}4)J<_R$#B&*ATB)yit4I{)KqGPZjXGJqq!9#XFjL z&G$uF7q@26x<)BFpZ$A*UbojEUaxqgdfk44czd6Pw~E!Cx54cfh}SFLQ&|CeUbi10 zUN7gJcJbz({m1JSZ!|94bN+a}FBkB-=lSt^#T#v#du|`EcQ3rr@mpto(N!HmiuQ$g zqvOFnhmY6G`Ltcz+_Uz0d&TSRy_-7S^YldSIeT}G-6~^9e}Y#w{Tb{9>KuL)_$GPQ zBf(oB>!9Fm@B}N@?IymIl`R8VV>8!>&)#V_YdG?wz!K1{f5wpW=V`ZA&*uk(=i(m0 z3Ar_r>~+uL6RZ?nirU)^y|VXk@JLYh_6Cn2FS~ny$ALXT*{yP2hxQ^byL*GWo;eDX z-F?6+@MzH4TS@Mn+q($f=d6$ChLY{qvHj31ds+Wv2ZH^$25OBw0Avjtu*Nc-XQOXIPTxk#+%xcmu6x4NjlZn- z!ZgJ64L5!AoyNo|k8f?06$Mk-V-HPX~3KD}L5DVg762860Q* z5S$4paIay;jtdvv2kt9$D`K&Z6)q}vV_k{8WZY2rH@gE z+VlxfZQ-R|VO%Z+k0Dbgz+p}1T|UU69ms;%{)`cr(0OW_Dm{PIDXJogNOi$KN0 zDo|~20A1To#pY9>vD_I@4Sw8dyzy-<+IB*qnsj^=R2`CJb^g&cnR_mt$URfnJP|eu zY@!~u?~|a~*9@vpxh4+VmjR>gYbCGttp!!<#h}_JKDAF6Z6DXmVf#J}YP??G*(-~y!XNOL;QY$L~h@~9NMUB6Q!?HC#D7WfPF#5 zi^kzM$m?A3O>h9X4IBu58`P{UKArErLw*#<_wTaR;Cp9X|%#MV@nS@Xz3h;J<)_!6(4s;LpHO z;LpL)p!AIee?k6q%TETMBtHdw3S^!R{uN{%4t9g*f=`3YeZjwh7lP7L3;sL#wB=WW z&ya5fe+4oJ1iuC^1)l|p;ovz?bJ1@=VlmWn9k_@5X7B}&aUA?7$aoB11n&l40_nrx zw;+8OybRKJp*(#R{Ej?*75o=SUj&TnEItnQfJ~4D-Epx0mG3A?|n&?)++e=Z}A!bB)$IPR8---l_C1gtP`)1Zk9d zT~4pN2RxbkcAhHG)jQHQKZEju%C(Aqle|2^oD`l5-vYHR zcpKE*kW4Z*!9&1v!9zjUhgzk1U!H~Sb)SPp&(tN`x@M}e9jM}t2EPX&Jgjsu?sPXjfNeH0uAo&jooa3;7AoB}Qb zr-Du3bnr582KZUt;yf!RyyLM0Mx;c_O}c`<)Vj z)*wnc1-luL_`rVL7hDV~cGup_i`%R$Wx8$s21 zC8%?{<^f%Uv*rk|X;~ZbOoufcI3BzfoD5zEo(;0D3$HQ10L~|WBbfK~5ZZY%q#4G~ z4SJq76B-A(`{$*RYjfG|_7Nq*=N6JX6jDqp-Hv|wVk@Y2+zIvpzXr-~)|Zj`=TP_H zoR6g2?e|FpWqekO>b?(I>HaP#-QNQ>7ctgCUpxTj+xGDey4}8V z1*Q8jP}eR$1w4U>6 z?WCk@j5d8B{l;|sA5ddV<3N7hLtZ|39xMa@6Fe1ExvrUBB(JmLOW-u{Wl;01%A3Jg z$hUyM19_$syb5jr_kymyr<3zzLosq@L0(#X`6SAZ$+c-S$K76=M7Zxpe1}86eSe`2 z`Qsk3g-JpF|ReY=yXWqTh}7)S<>&} zXPg9X-%TR;z6>BKcD8X`iT#$LT|GdZljSSLU{CV$`H|o#J3bcdMP5GVi`(I|{odd_ z@<)M+xxV17p!D1h9z%XB*bn?V*dM$fRJqo_$C2Lw9uNKl$allTd0*u^$9;tSZmD_6;$~jz(M3+2M2?H22TRDK34gW;K}5BfkQ#9lZS)4R#N#X;3?!sfFr=sU&;luI#Xv(&(oj$ zjF3-drQB(I_j#?pqWTK+8Y$88!n{UGw7f8%k1O@fj|qCs71xGR;qz`7VebR2Om_uH1#k0`t86fZc2-lR7*La>!UREst7lVty6sYnv zxS0G!AkRm$^7;}`bBf9}r<_mza`0o|l_1YXv!4Y&0lI!$PcG_%zqU{EK2!X;J!A>H zLLtsMra4Nf78~TVWneVs>&PqS>%o5Da!|fgo3x@{L0;$ImEcHl6*wB?`K+~RUv0?S zsPl;1V-|lNX+o!LTm$Mn^2uBsqXPL)bK7j@Ft=YU5eySENp?-Lxs7MRp^jEibDG-G z7hFqT=evu+6TwTsax1R{KSjO@f2 z@P3fwe?k89mQFNOKS`K2&lIKLF;^W#!$JGX}~!K&D$ zE`Y|X(p|KXrUv(brQkO3c<@`fwqL@0Iwm(pHJ;o)yaZ4EUDEIzY@ZpA;aayp*o_?| z-H_G!tSh8?ls4OVF5|P#-HV_GNNWql`VL6_y%*B8>R@Ohr1Mk;x&hKTWGD12#C5f< zIfF`QCZzXRWgynsTFVA)5bL+#4T$r-&V8C+75ChXqE1Nn>z;sKgu39MSCVm*;M17qkcJS`q|h&`fA4bQQD}+5tTY?S;A?#AeSwpay6obStzS+6C=_x^nSU22FyNKpE&7=w4_i^d{7Y#bhNk6RL+Ug|CrUT~zLW8?@Zf|qDgJ%Dv+-KIn+4` zInyPkqTGFo-OR^K1;NuGAs=El?pW#kbVSfSTt7&MYjc95E=6_xyUDWGhq;+~3>+6! zchKS5#C@?C9ltW!UxTVcI5Vip=_s7*aZm6D@zuRI^Efmf(t88yp@Zpz>4AO4|3c#C zEf%crW&E?IC^_r^#HOFe;^Lp{sFKnHP{;2X28vzhllb^&eGKyDQ+)hCXtEE1ihtq0;{Q@&eKT}7v;%q)dJ#I9KA0ZZSN!uFy5zJ2 z5H~(HG%cQ z+YwGPJlgPi?hEPob6j@{&o_Om8FR|tV)^q;&wA7Q1H(=5i0=Zk_c=1k|IF-u-0c3A z9Z#Fwjb{I3(|@|zf1lNJquF;oYhUTRhd>tguzcF`158e3qF)+zBcptk+3_&<50$^( zx6^Qd;nf7F%DY+p|6%RF&v29B`G)0&3BzA{I}JZ=INxxH;UBHOR`b^^!%Mt9X214g z%AT~@zu5fvnzdt?*;{IUe9iDNJN`57F-m^2wWr+td7step24#Z!TO`z{5izx{iE5n znlULoS6jVD8{aIe=fAE09=Co-*?8Jya+9sT`If)L?7G(My2bqWEwevu$ligl-j|I3 z4$EI)_T6Fn=9@jWX5RqsACtSq?D6ly=wZj7HoLWVK<#_jkbNd${!r6@hqdzr%Xc&V zwRZd^>z_N!k58NZ>rMY^^UGhXy^mWzR9SyMY~x~r;c7en-&Wrb3~w|0UNiiW**U?= zXPI43n;oTQ-;d0W+suwC^G7%9mzS*Gl;Lx}y(V{`@qgNImf_KcdfqMnX&d3ANGsRlYPx4x!?%!G@42!Cww@r?X3dnPJ6cAhm=L${!I_hW4BO0eX@w z!)QbY{gaT)N)H|EQ-W--KvlIj9^2X_pT|CbTpuJTZ7MEc0+rhz0jMGp8NHI${?-1$3xZ7JV?(0S3-Ign1!x^w72@JkoJ`9fb?weN$6SV z6^OmM;qT#SY>j~?L3-Z)IutP8yF>k;!H}L0vVSFfM#w&iU@63&fM6Z85!wvtnc>}# zo*TA7T%QNKp*_%E=uN0=7uo=oK_ehNPppRYOi|xKTnS~MEOZT|wbECid!ZfBPUuPK zS?Cq$4X6t-*b5p8je#aXv!NwWJ+ub86uJt!0on>}gC2k$fu4Y#fnJ1OhXNw7JJb&v z3{^rCAw9FyyF!;j4bVDhBc$KUxD~n^+77iryP(~Wo@Mrd${;<{91qn%dajv)bOCb> zv<3PqbT706+6g@gJqzhKDBgg&FxY!R$3sJ*G0-GvHnaq)ht@!sLRUdIKwF`0&;!sT z(82Wo#{(w@LpTGvxr%Qp+OJ6Ff4r)1Ff3ADd1|FnmEJe(Y2^6l5ufaA)USoL`@tkH=gLiPOx`xdaU%R7mHdwpc^Ow` zGHluK?NOX3!XF*zDC5dZhHWO^KFtHUdU9{YRC}H8T)D}O%gbr5$ki1i=gLiPeBQ?6 znG0Nf`5zAQb-6N=VR7l(r8&pd)n2AoC&SKP8+O8Su;>He0XH^m%+%(`jLu2KY5qs1 zXsaJ*uFPbX={;92R^JR|+(rS<>y8<3U7lCxtAuST@VxGr@z&>KWew*UH|E>_sF9a* zu32dAYsq>dXI#k+08{JGm+rP<}3`s`I03 zU;fR1zAjg0GR&hsrgi>wb#;_+WhTR1>SeSC$;sq@sL0pj%1kCQj}8v6jr2nU9c5gZ z$wcPSrJ;;|@M%w(8D2ikbkzNx&w+y4NOmvuZQ z%RK63j}Nak)h>;Vcv;6|vdpJmc4;W9_DMGSGbZ^MaXcnVTzT2AwyQT@*72Au@#SS- zY+rBW=SuSRIv$fH-n{IH@S57UH~Nz)d0EF}vc%s>=I1q`tZ#3@Pm)CD1;=Od#G#je zpk3X?v#AGg5DUG2rWTIQ6oRv&9-c=h8z`w4CSSr;AozH;AQ$7k}yte2k` z%7=a0sl4MedE(Z~Z;93)iJrpx9iPb)yI%g;X#JhYJ3f;qeurBe4Gr)6g!AIMf++AN z-hG$a+4#T{rsgbMpgf*ULQ+%60rv7%%6_O^&$DolA~Zeereaw_Fl|$q=XhI#<7q!Zmg72UC0< z?zr(2lb&C{9}>s!jvGI*==sa~#q+!4#!n3Td0W4aq4j*+4`_JX9FLP7L;QKaU2|+y zHva~GFXzflt}5?0{Vqg!Um@~?5njfXnM@?!+B(YQez3vIIv$fH-bUH{su$mIKVsiM zmJo>pCu6#ZJ>TcukC(0)?SAaQ*YCA?zr(2Tb{pPS-gIC-1vzpKc;p@`6Dl6 z_jb8*lOwLY+{yuwdh(Y(*x~NCxN?&tzWnhv$*j*KB! zZgP?9$XE6u=gOVj*hsu>9MpMzuH58^H{S>22TRUgx*f649XEbr&0nu~f#=YIYjAhW zc=5aET^Ymcju|h$_Po1dc-=AM#kZbU^(A9$NZOn_miYF(s;`jO9W%Yeujf^Lg}m;V z@e;S5S2lEsv7w8%fw=Izs;`jO9W%Yegy&U#g}m;V@e&W7S2i3HW5Xfd2IdUUtNIFg z-7(Y4T;X|DUm>qMX1vT12h)es1G>k1aknac1(Wg8{c}eJFVy!TYV>`)+1zUw!Ersa z^NA%*aBP_QuQq?|?YG@0>Cz{kcSm~!w+?onHlD1xsePK(x+2wBF?UHtZs{0|o<4TU z{M5%<_XBj(*43rfWYSHI!RS#_rdCy+I@!s0UQg*e zt%u)d41Z>k1!lgcvE!?%#!sEj?EX&b>h(_Rnw?%2uETgxk*{k^<&^4CqpPR9v$}e| zi@FwG($cP`sbi;2n=*QW%^jWluRC*~ODsVdUG3Av>e|K?4g8>SbyHny`163nM~xai zdd%o$_2sqW$4)38Q&l^p=d!lXmIzaZSB5m&~$35xoK_YoA8OLZcr=lWd> zDb?MD7or$o;7kxg?WLvHJAx@M2?0?+Py_*RK<~ zvQFgm?(bst>0RH&>eIWui^=I--o@nf?(Sl8dRKQbxka7GX&+26xw=l|^sen&_zLsHpul+Eo>;^qmxxWbHTd{>nw&WE$UF>bn5+O+(PJ(B&YX}m31g_a(aK*z#?UO{};{Zkfc+4 ziZ^yBaXPjCc1Dphy`##%pDM~CoqGSzwb6t2S!H_94VRD|lFIacnPPV8y)nbYRFHH? z@Bi@c{)iT8lt**1W%`bb*BKp((y8yR zc%6l1`c8`1Sy-m;&3T>C;U=B>KAhKCSf=l}d7Xu2`YyiLN$BU2bm}|yUT0yMzB})A zM$7c;-aRDD%EDiFtc6$mS(W@TVM#c%>GyjNVU2qz68>K@_#b!+N%Ge~Gf%7GX7Y;W z+SRMmspeE;&5U%Wd_ihWQ%gG2)O<8MRz+|;~kggp>EeeIZvaTTK~{Qj=VnM`wfS!*WM zQc>4(plzXD++oh7Q!O>VzFCdSo8E((^4_2o#K5a>@ycBn?{q^xsiRyvBJ4c(IbZ%E z{&Yh{RbuCL-_YxngXL$x^39hIJ@%Y??%QzG4}W~yW7-2ha(23LmAWq&*~p-32}ZUw z*Nt46s;y5oFKcM3TjdTcPdB7mMy@=qW=*?6%^)pr&JXIf;h=7b4(j@bhMLB8c5xmK z>Rc{zobCT zW4pnX5gN+pGHCl;_IgtuCB3Uk_Y1qSp3*s*@AU_K?>-!M3&4et){2XvbD{H~CD8eh zhAhk4fUPCrx=BM;!&yUB=V+Fv+FB3}Z + + + + + \ No newline at end of file diff --git a/Test_NxVersion/Form1.Designer.cs b/Test_NxVersion/Form1.Designer.cs new file mode 100644 index 0000000..df619d5 --- /dev/null +++ b/Test_NxVersion/Form1.Designer.cs @@ -0,0 +1,122 @@ +namespace Test_NxVersion +{ + partial class Form1 + { + /// + /// Erforderliche Designervariable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Verwendete Ressourcen bereinigen. + /// + /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Vom Windows Form-Designer generierter Code + + /// + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// + private void InitializeComponent() + { + this.buttonStart = new System.Windows.Forms.Button(); + this.labelNxVersion = new System.Windows.Forms.Label(); + this.labelProgramInfo = new System.Windows.Forms.Label(); + this.labelDLLInfo = new System.Windows.Forms.Label(); + this.labelNxVersion1 = new System.Windows.Forms.Label(); + this.labelCompare = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // buttonStart + // + this.buttonStart.Location = new System.Drawing.Point(13, 415); + this.buttonStart.Name = "buttonStart"; + this.buttonStart.Size = new System.Drawing.Size(75, 23); + this.buttonStart.TabIndex = 0; + this.buttonStart.Text = "Start"; + this.buttonStart.UseVisualStyleBackColor = true; + this.buttonStart.Click += new System.EventHandler(this.buttonStart_Click); + // + // labelNxVersion + // + this.labelNxVersion.AutoSize = true; + this.labelNxVersion.Location = new System.Drawing.Point(13, 13); + this.labelNxVersion.Name = "labelNxVersion"; + this.labelNxVersion.Size = new System.Drawing.Size(16, 13); + this.labelNxVersion.TabIndex = 1; + this.labelNxVersion.Text = "..."; + // + // labelProgramInfo + // + this.labelProgramInfo.AutoSize = true; + this.labelProgramInfo.Location = new System.Drawing.Point(453, 362); + this.labelProgramInfo.Name = "labelProgramInfo"; + this.labelProgramInfo.Size = new System.Drawing.Size(16, 13); + this.labelProgramInfo.TabIndex = 2; + this.labelProgramInfo.Text = "..."; + // + // labelDLLInfo + // + this.labelDLLInfo.AutoSize = true; + this.labelDLLInfo.Location = new System.Drawing.Point(453, 195); + this.labelDLLInfo.Name = "labelDLLInfo"; + this.labelDLLInfo.Size = new System.Drawing.Size(16, 13); + this.labelDLLInfo.TabIndex = 3; + this.labelDLLInfo.Text = "..."; + // + // labelNxVersion1 + // + this.labelNxVersion1.AutoSize = true; + this.labelNxVersion1.Location = new System.Drawing.Point(233, 13); + this.labelNxVersion1.Name = "labelNxVersion1"; + this.labelNxVersion1.Size = new System.Drawing.Size(16, 13); + this.labelNxVersion1.TabIndex = 4; + this.labelNxVersion1.Text = "..."; + // + // labelCompare + // + this.labelCompare.AutoSize = true; + this.labelCompare.Location = new System.Drawing.Point(453, 13); + this.labelCompare.Name = "labelCompare"; + this.labelCompare.Size = new System.Drawing.Size(16, 13); + this.labelCompare.TabIndex = 5; + this.labelCompare.Text = "..."; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.labelCompare); + this.Controls.Add(this.labelNxVersion1); + this.Controls.Add(this.labelDLLInfo); + this.Controls.Add(this.labelProgramInfo); + this.Controls.Add(this.labelNxVersion); + this.Controls.Add(this.buttonStart); + this.Name = "Form1"; + this.Text = "Test_NxVersion"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button buttonStart; + private System.Windows.Forms.Label labelNxVersion; + private System.Windows.Forms.Label labelProgramInfo; + private System.Windows.Forms.Label labelDLLInfo; + private System.Windows.Forms.Label labelNxVersion1; + private System.Windows.Forms.Label labelCompare; + } +} + diff --git a/Test_NxVersion/Form1.cs b/Test_NxVersion/Form1.cs new file mode 100644 index 0000000..2b1c312 --- /dev/null +++ b/Test_NxVersion/Form1.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Eugen.NX; + +namespace Test_NxVersion +{ + public partial class Form1 : Form + { + #region Version und Copyright + // Version und Copyright + string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen + string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); + static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); + string copyright = GenerateCopyright(); + string icon = Application.StartupPath + "\\Info.bmp"; + //Assembly Datum und Zeit + static DateTime value = AssemblyDateTime(); + string date = value.ToShortDateString(); + string time = value.ToLongTimeString(); + private static DateTime AssemblyDateTime() + { + var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; + var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision)); + //Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original) + return buildDateTime; + } + + private static string CurrentYear() + { + DateTime dtn = DateTime.Now; + return dtn.Year.ToString(); + } + + private static string StartYear() + { + //string startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright; + //return startYear.Remove(0, startYear.LastIndexOf(" ") + 1); + string startYear = ""; + if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © ")) + { + startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", ""); + while (startYear.StartsWith(" ")) + { + startYear = startYear.Remove(0, 1); + } + startYear = startYear.Remove(startYear.IndexOf(" ")); + return startYear; + } + else + { + DateTime dtn = DateTime.Now; + return dtn.Year.ToString(); + } + } + + private static string GenerateCopyright() + { + string startYear = StartYear(); + string currentYear = CurrentYear(); + + if (startYear == currentYear) + { + return ((AssemblyCopyrightAttribute)attributes[0]).Copyright; + } + else + { + //return String.Concat(((AssemblyCopyrightAttribute)attributes[0]).Copyright, "-", currentYear); + return ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace(startYear, String.Concat(startYear, "-", currentYear)); + } + } + #endregion + + #region Programm-Info + /// + /// Contains the name of the program file + /// + public static string ProgramName { set; get; } + + /// + /// Contains the version of the program file + /// + public static string ProgramVersion { set; get; } + + /// + /// Contains the copyright notice + /// + public static string Copyright { set; get; } + + private void SetProgramInfo() + { + //Name, Version und Copyright setzen + ProgramName = programName; + ProgramVersion = programVersion; + Copyright = copyright; + } + #endregion + + public Form1() + { + SetProgramInfo(); + InitializeComponent(); + + labelProgramInfo.Text = String.Concat("Programm-Info:\n\n",ProgramName, "\n", ProgramVersion, "\n", Copyright); //Programm-Info + + var nxv = new NxVersion(); //Initialisieren damit die DLL-Info abgefragt werden kann + labelDLLInfo.Text = String.Concat("DLL-Info:\n\n", NxVersion.DllName, "\n", NxVersion.DllVersion, "\n", NxVersion.Copyright); //DLL-Info + } + + private void buttonStart_Click(object sender, EventArgs e) + { + Start(); + } + + private void Start() + { + try + { + string version1 = "C:\\CAD\\NX10"; + string version2 = "C:\\CAD\\NX12"; + + NxVersion nxVer1 = new NxVersion(); //NX Version initialisieren + NxVersion nxVer2 = nxVer1.GetNxVersion(version1); //Informationen über diese Version (C:\\CAD\\NX10) abrufen + NxVersion nxVer3 = nxVer1.GetNxVersion(version2); //Informationen über diese Version (C:\\CAD\\NX12) abrufen + + //Werte zuordnen + string text = ""; + text = "Eingabe Methode 1 (UGII_BASE_DIR):\n\nNX Patch: " + nxVer2.NXpatch; + text += "\nNX Version: " + nxVer2.NXversion; + text += "\nMaintenance Release: " + nxVer2.MaintenanceRelease; + text += "\nUGII_PRODUCT_NAME: " + nxVer2.UgiiProductName; + text += "\nUGII_MAJOR_VERSION: " + nxVer2.UgiiMajorVersion; + text += "\nUGII_MINOR_VERSION: " + nxVer2.UgiiMinorVersion; + text += "\nUGII_SUBMINOR_VERSION: " + nxVer2.UgiiSubminorVersion; + text += "\nNX Phase: " + nxVer2.NXphase; + text += "\nMaintenance Pack: " + nxVer2.MaintenancePack; + text += "\nMaintenance Pack Number: " + nxVer2.MaintenancePackNumber; + text += "\nNX_VERSION_STRING: " + nxVer2.NxVersionString; + text += "\nNX_MAJOR_STRING: " + nxVer2.NxMajorVersionString; + text += "\nNX_MINOR_STRING: " + nxVer2.NxMinorVersionString; + text += "\nNX_SUBMINOR_STRING: " + nxVer2.NxSubminorVersionString; + text += "\nNX_PHASE_STRING: " + nxVer2.NxPhaseString; + text += "\nUGII_FULL_VERSION: " + nxVer2.UgiiFullVersion; + text += "\nUGII_VERSION: " + nxVer2.UgiiVersion; + labelNxVersion.Text = text; //Werte der installierten NX10 Version + + nxVer2 = nxVer1.GetNxVersion("NX", 10, 0, 3, 5, 19); //Zweite Art der Zuordnung + text = ""; + text = "Eingabe Methode 2 (Einzelne Werte):\n\nNX Patch: " + nxVer2.NXpatch; + text += "\nNX Version: " + nxVer2.NXversion; + text += "\nMaintenance Release: " + nxVer2.MaintenanceRelease; + text += "\nUGII_PRODUCT_NAME: " + nxVer2.UgiiProductName; + text += "\nUGII_MAJOR_VERSION: " + nxVer2.UgiiMajorVersion; + text += "\nUGII_MINOR_VERSION: " + nxVer2.UgiiMinorVersion; + text += "\nUGII_SUBMINOR_VERSION: " + nxVer2.UgiiSubminorVersion; + text += "\nNX Phase: " + nxVer2.NXphase; + text += "\nMaintenance Pack: " + nxVer2.MaintenancePack; + text += "\nMaintenance Pack Number: " + nxVer2.MaintenancePackNumber; + text += "\nNX_VERSION_STRING: " + nxVer2.NxVersionString; + text += "\nNX_MAJOR_STRING: " + nxVer2.NxMajorVersionString; + text += "\nNX_MINOR_STRING: " + nxVer2.NxMinorVersionString; + text += "\nNX_SUBMINOR_STRING: " + nxVer2.NxSubminorVersionString; + text += "\nNX_PHASE_STRING: " + nxVer2.NxPhaseString; + text += "\nUGII_FULL_VERSION: " + nxVer2.UgiiFullVersion; + text += "\nUGII_VERSION: " + nxVer2.UgiiVersion; + labelNxVersion1.Text = text; //Werte der übergebenen NX Version (NX10.0.3.5MP19) + + //Werte vergleichen + text = "Der Vergleich von " + version1 + " mit NX10 ergibt: "; + text += nxVer2.Compare("NX", 10, 0, 3, 5, 19); //Installierte Version mit der übergebenen Version (NX10) vergleichen + text += "\nDer Vergleich von " + version1 + " mit " + version2 + " ergibt: "; + text += nxVer2.Compare(nxVer3); //Installierte Version mit der übergebenen Version (NX12) vergleichen + text += "\nDer Vergleich von " + version2 + " mit " + version1 + " ergibt: "; + text += nxVer3.Compare(nxVer2); //Übergebenen Version (NX12) mit der installierten Version vergleichen + text += "\n\nLegende:\n0 = beide Versionen gleich\n1 = Erste Version neuer\n2 = Zweite Version ist neuer"; + labelCompare.Text = text; + } + catch (Exception ex) + { + MessageBox.Show("Es ist ein Fehler passiert!\n\nGenaue Beschreibung:\n" + ex.Message); + } + } + } +} diff --git a/Test_NxVersion/Form1.resx b/Test_NxVersion/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Test_NxVersion/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Test_NxVersion/Program.cs b/Test_NxVersion/Program.cs new file mode 100644 index 0000000..bb5e2dc --- /dev/null +++ b/Test_NxVersion/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Test_NxVersion +{ + static class Program + { + /// + /// Der Haupteinstiegspunkt für die Anwendung. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Test_NxVersion/Properties/AssemblyInfo.cs b/Test_NxVersion/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..3fd0268 --- /dev/null +++ b/Test_NxVersion/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("Test_NxVersion")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Test_NxVersion")] +[assembly: AssemblyCopyright("Copyright © 2019 by Eugen Höglinger")] +[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("c089c691-2593-42da-b99b-5405ecf606ad")] + +// 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.*")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Test_NxVersion/Properties/Resources.Designer.cs b/Test_NxVersion/Properties/Resources.Designer.cs new file mode 100644 index 0000000..672a982 --- /dev/null +++ b/Test_NxVersion/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion: 4.0.30319.42000 +// +// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn +// der Code neu generiert wird. +// +//------------------------------------------------------------------------------ + +namespace Test_NxVersion.Properties +{ + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder-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 Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Test_NxVersion.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenlookups, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Test_NxVersion/Properties/Resources.resx b/Test_NxVersion/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Test_NxVersion/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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/Test_NxVersion/Properties/Settings.Designer.cs b/Test_NxVersion/Properties/Settings.Designer.cs new file mode 100644 index 0000000..3cedd38 --- /dev/null +++ b/Test_NxVersion/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Test_NxVersion.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Test_NxVersion/Properties/Settings.settings b/Test_NxVersion/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Test_NxVersion/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Test_NxVersion/Test_NxVersion.csproj b/Test_NxVersion/Test_NxVersion.csproj new file mode 100644 index 0000000..0f22777 --- /dev/null +++ b/Test_NxVersion/Test_NxVersion.csproj @@ -0,0 +1,89 @@ + + + + + Debug + AnyCPU + {C089C691-2593-42DA-B99B-5405ECF606AD} + WinExe + Test_NxVersion + Test_NxVersion + v4.7.2 + 512 + true + false + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + {5409502c-5e57-44d9-aa55-57bbe89071cf} + NxVersion + + + + \ No newline at end of file diff --git a/Test_NxVersion/bin/Debug/NxVersion.dll b/Test_NxVersion/bin/Debug/NxVersion.dll new file mode 100644 index 0000000000000000000000000000000000000000..4ba09c010c1cfb65072968321350f3d6547b46a5 GIT binary patch literal 18944 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 literal 0 HcmV?d00001 diff --git a/Test_NxVersion/bin/Debug/NxVersion.pdb b/Test_NxVersion/bin/Debug/NxVersion.pdb new file mode 100644 index 0000000000000000000000000000000000000000..8f07cb7fc20eb4921025370329c1d59fe061e25f GIT binary patch literal 48640 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 + + + + + \ No newline at end of file diff --git a/Test_NxVersion/bin/Debug/Test_NxVersion.pdb b/Test_NxVersion/bin/Debug/Test_NxVersion.pdb new file mode 100644 index 0000000000000000000000000000000000000000..4d1b6280ba74cd72dbab6e4cce68dc6f30b27610 GIT binary patch literal 30208 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 +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/Test_NxVersion/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/Test_NxVersion/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000000000000000000000000000000000000..d277094be237a75094b9e1fd20a0c50ab5c13b0a GIT binary patch literal 1435 zcmcIk%Wl&^6dfnFn@550DlAx-1rn&y$RUIlqzILi2#HrAQM<9ICiZn0W$dYD?1r%6 zBltF!`~m*}bKNKiE3nH*KAy49_?&xm$HXFp{4xXYIJPSWKEC0hl3K(J|9A zO$Smz+dBrOxlH?=9_>({`fYEJi!4{rPa)3~6K(G(p9mhlg2h( z`K-$v6uY}#W3Xvo4$s;y-`O=EW;lQX73)$qF`{snCFP`k%Wz+DOw#2p7F? zM(ZF9L2EwYf@h0Dt8TQ|M(Rp*D3#!oLZ)G4PB$X6j1O~b8joX+7X;-SL1otj>^tKRpOM8N~L0vdd?)N`rBeUkMc;H?9zx-~;kFb? zG_<+JRmj|`4jnGcW#M_kUn{NTb6X%47yeT5nOUH}d~P{(btqxUhfquA=5w22-R1Uc zXw}3X_)GP|Tw}hm&?pw2`2w3`qXhZ<6G%UY+;s?V&DS7B@K&-Q0BKg3T=RoatDCs^ zCUaeJ0M1LLz^l8hl|v0a?MhAJ>}BCMc(cr1xNbAw;SST#ok_iFrV+YsSuzg}gxu>6 z)mRN^kJ>X4WNGL&rp)1yWrE!0~-L(}z{`{o2 zy7tr?{9+Y%&h?*Mm2=TfrO#}$#3k5TNDgW$a5R%uVA9^*WO`RkHP3WR1X486LuA!e z2~DoFZ1omo&@c_;!ds~5q%%&STt74PM)-UWns7M68f5Z&{=X;Q`<{wI#f`B21xKxRapuTm3}}?S7f(0a*Hu!3>!u& zHH>m7olYD0L75u*bF|u08axb7yuY@lfHPl#50cyFIy&op@!h-6Ou-Ye#oQ1!8JF*8 zldyr zogRc}5>XVNrX-Yq;W5?c12hQGBw}a~p#A#c+)fh@&J3d%&x}xWlmya&ROS*2{2C*X zAu>!v-8D+|tL{U1bbePkNDiY}fCc%oyu4Qhl)M5^q-+yW@n6vpV1?|wymBVA> z3TpZzz52pJj?zS`>T%*N)+?@`R3H$FBd2RwCrP?BTPQAAJEiq?YvZuPgv=(_Rt;I< zPTXaQ`Uk57^{|OjAt|jPajJk4?taXYdo0PcnY{~{ugJJ56t_?BzncuS?J%-9;~LG# z#U|z=3yrI!pfl@hY>#+~yT&zajbm@YoGZ)~7c<}B|EcjTIiEhpbrR+Q_dUnBf$b5~ zab06NYQZ67>Hb7pqog26!dd8j%sw=-XR8WYBTrK%(*CGn+(Ojfl0bbK1g0HjF~$sH zeC!KGF9Pb^??k}r%9GbF!z{|L^ZFhadKdO0AKyk;z8ptiF3Ov74-cO|dt}AYk?X`Q zd8ZfQ@vT1{>sI^j_a>Ul)mpLK`7c zFrcynD%;nhO}{h2h(qmQvCLDWJBt4fV>|op>Mf4^Jre(BoiAn$Dpgds{$x=tiMa3g z&F^#G{%(70Eb|bbdfh8aDG^ojjYlYcN#qfqrHm`Wc#MsaGFIW!lzl}h*~!hMDIGi4 zo2C4Wt}Nwfv|l5SV)|(L!q)=F#uFU9dbG-YO@&~p5U=6kIW|n}zjai*xaQqDHh#kK z{-k{c)HHciVFyIGsVaVK6tOFjETfkOWGRWFyw{jTk<7g`=1}!^B4JWyHghls$wv7j d!d!}Cg93-H;lBoty8n7bH+a;=uTHin{skEuyHo%G literal 0 HcmV?d00001 diff --git a/Test_NxVersion/obj/Debug/Test_NxVersion.Form1.resources b/Test_NxVersion/obj/Debug/Test_NxVersion.Form1.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/Test_NxVersion/obj/Debug/Test_NxVersion.Properties.Resources.resources b/Test_NxVersion/obj/Debug/Test_NxVersion.Properties.Resources.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/Test_NxVersion/obj/Debug/Test_NxVersion.csproj.CopyComplete b/Test_NxVersion/obj/Debug/Test_NxVersion.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/Test_NxVersion/obj/Debug/Test_NxVersion.csproj.CoreCompileInputs.cache b/Test_NxVersion/obj/Debug/Test_NxVersion.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..94d0cd0 --- /dev/null +++ b/Test_NxVersion/obj/Debug/Test_NxVersion.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +0f9338665d29beafda26e20e81f3c41d75a68e58 diff --git a/Test_NxVersion/obj/Debug/Test_NxVersion.csproj.FileListAbsolute.txt b/Test_NxVersion/obj/Debug/Test_NxVersion.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..ec8031c --- /dev/null +++ b/Test_NxVersion/obj/Debug/Test_NxVersion.csproj.FileListAbsolute.txt @@ -0,0 +1,13 @@ +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\Test_NxVersion\bin\Debug\Test_NxVersion.exe.config +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\Test_NxVersion\bin\Debug\Test_NxVersion.exe +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\Test_NxVersion\bin\Debug\Test_NxVersion.pdb +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\Test_NxVersion\obj\Debug\Test_NxVersion.csprojAssemblyReference.cache +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\Test_NxVersion\obj\Debug\Test_NxVersion.Form1.resources +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\Test_NxVersion\obj\Debug\Test_NxVersion.Properties.Resources.resources +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\Test_NxVersion\obj\Debug\Test_NxVersion.csproj.GenerateResource.cache +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\Test_NxVersion\obj\Debug\Test_NxVersion.csproj.CoreCompileInputs.cache +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\Test_NxVersion\obj\Debug\Test_NxVersion.csproj.CopyComplete +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\Test_NxVersion\obj\Debug\Test_NxVersion.exe +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\Test_NxVersion\obj\Debug\Test_NxVersion.pdb +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\Test_NxVersion\bin\Debug\NxVersion.dll +H:\Programmieren\Git-Repository\VisualStudio\2017\_DLL\NxVersion.git\Test_NxVersion\bin\Debug\NxVersion.pdb diff --git a/Test_NxVersion/obj/Debug/Test_NxVersion.csproj.GenerateResource.cache b/Test_NxVersion/obj/Debug/Test_NxVersion.csproj.GenerateResource.cache new file mode 100644 index 0000000000000000000000000000000000000000..a055a5862800e9283ced64482f34abab56e8a5d3 GIT binary patch literal 1012 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