diff --git a/Build/TextPreProcessing.targets b/Build/TextPreProcessing.targets
index a8651aeb4b27de2f93e655b6f72d6e5c4b0aadea..e0557c985127ef9462e22fec6a92d7cbc7b63c15 100644
--- a/Build/TextPreProcessing.targets
+++ b/Build/TextPreProcessing.targets
@@ -6,6 +6,6 @@
 		</ItemGroup>
 		<!-- <Exec Condition="'@(VersionTemplates)'!=''" Command="&quot;%CommonProgramFiles(x86)%\Microsoft Shared\TextTemplating\12.0\TextTransform.exe&quot; -I $(SolutionDir) &quot;%(VersionTemplates.Identity)&quot;"/> -->
 		<!-- <Exec Condition="'@(VersionTemplates)'!=''" Command="&quot;%CommonProgramFiles(x86)%\Microsoft Shared\TextTemplating\14.0\TextTransform.exe&quot; -I $(SolutionDir) &quot;%(VersionTemplates.Identity)&quot;"/> -->
-		<Exec Condition="'@(VersionTemplates)'!=''" Command="&quot;%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\Common7\IDE\TextTransform.exe&quot; -I $(SolutionDir) &quot;%(VersionTemplates.Identity)&quot;"/>
+		<Exec Condition="'@(VersionTemplates)'!=''" Command="&quot;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\TextTransform.exe&quot; -I $(SolutionDir) &quot;%(VersionTemplates.Identity)&quot;"/>
 	</Target>
 </Project>
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs
index bea9f880b999efb067eb060ba7da4baf13e27cdd..a7654670f96a7f9a11c302b0f37ba6c67f5d615b 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs
@@ -975,7 +975,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			string simToolVersionStr = XMLManufacturerReportReader.ReadElementValue(xmlDoc, "SimulationToolVersion");
 			string vectoVersionStr = VectoSimulationCore.VersionNumber;
 
-			bool xmlVersionNewer = VectoSimulationCore.CompareVersions(simToolVersionStr, vectoVersionStr) > 0;
+			bool xmlVersionNewer = VersioningUtil.CompareVersions(simToolVersionStr, vectoVersionStr) > 0;
 			
 			if (xmlVersionNewer) {
 				throw new VectoException($"Not allowed to run simulation because VECTO version is older than <SimulationToolVersion> in Manufacturer Report ({simToolVersionStr}).");
diff --git a/VectoCore/VectoCore/Utils/VectoVersionCore.cs b/VectoCore/VectoCore/Utils/VectoVersionCore.cs
index 02a0ea995a472c58c8ed4a889ccc04b0b527b8e9..df9d29992e1b4c1c2a54fc240f231c36188bbecf 100644
--- a/VectoCore/VectoCore/Utils/VectoVersionCore.cs
+++ b/VectoCore/VectoCore/Utils/VectoVersionCore.cs
@@ -29,9 +29,6 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
-using System;
-using TUGraz.VectoCommon.Utils;
-
 namespace TUGraz.VectoCore.Utils
 {
 	public static class VectoSimulationCore
@@ -50,7 +47,7 @@ namespace TUGraz.VectoCore.Utils
 		public static string VersionNumber
 		{
 			get {
-				return "3.3.12.2800" + SUFFIX;
+				return "3.3.12.2868" + SUFFIX;
 			}
 		}
 
@@ -60,34 +57,5 @@ namespace TUGraz.VectoCore.Utils
 				return string.Format("VectoCore {0}", VersionNumber);
 			}
 		}
-
-		public enum VersionPart {
-			Major = 0,
-			Minor = 1,
-			Patch = 2,
-			Build = 3
-		};
-
-		public static int CompareVersions(string a, string b, VersionPart bound = VersionPart.Build)
-		{ 
-			var va = a.Split('-')[0].Split('.');
-			var vb = b.Split('-')[0].Split('.');
-			
-			for (int i = 0; (i < va.Length) && (i <= (int)bound); i++) {
-				string vbPartStr = (i < vb.Length) ? vb[i] : "0";
-				int vbPart = 0;
-				int.TryParse(vbPartStr, out vbPart);
-
-				int vaPart = 0;
-				int.TryParse(va[i], out vaPart);
-
-				if (vaPart != vbPart) {
-					return (vaPart > vbPart) ? 1 : -1;
-				}
-			}
-
-			return 0;
-		}
-
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Utils/VersioningUtil.cs b/VectoCore/VectoCore/Utils/VersioningUtil.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e4c859d95eed15e07bb9174b4d6a29ace01b6c19
--- /dev/null
+++ b/VectoCore/VectoCore/Utils/VersioningUtil.cs
@@ -0,0 +1,35 @@
+
+
+namespace TUGraz.VectoCore.Utils
+{
+    public static class VersioningUtil
+    {
+		public enum VersionPart {
+			Major = 0,
+			Minor = 1,
+			Patch = 2,
+			Build = 3
+		};
+
+		public static int CompareVersions(string a, string b, VersionPart bound = VersionPart.Build)
+		{ 
+			var va = a.Split('-')[0].Split('.');
+			var vb = b.Split('-')[0].Split('.');
+			
+			for (int i = 0; (i < va.Length) && (i <= (int)bound); i++) {
+				string vbPartStr = (i < vb.Length) ? vb[i] : "0";
+				int vbPart = 0;
+				int.TryParse(vbPartStr, out vbPart);
+
+				int vaPart = 0;
+				int.TryParse(va[i], out vaPart);
+
+				if (vaPart != vbPart) {
+					return (vaPart > vbPart) ? 1 : -1;
+				}
+			}
+
+			return 0;
+		}
+    }
+}
diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj
index bf9dc276519bded26e71615992a292ff595363c1..1217ded880b8710e4a5fe11000ec6379adac1b7e 100644
--- a/VectoCore/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore/VectoCore.csproj
@@ -622,6 +622,7 @@
       <DesignTime>True</DesignTime>
       <DependentUpon>VectoVersionCore.tt</DependentUpon>
     </Compile>
+    <Compile Include="Utils\VersioningUtil.cs" />
     <Compile Include="Utils\XMLDefinitions.cs" />
     <Compile Include="Utils\XMLHelper.cs" />
     <Compile Include="Utils\XmlResourceResolver.cs" />