diff --git a/.vs/Calculator/CopilotIndices/17.14.1290.42047/CodeChunks.db b/.vs/Calculator/CopilotIndices/17.14.1290.42047/CodeChunks.db
new file mode 100644
index 00000000..9e176203
Binary files /dev/null and b/.vs/Calculator/CopilotIndices/17.14.1290.42047/CodeChunks.db differ
diff --git a/.vs/Calculator/CopilotIndices/17.14.1290.42047/SemanticSymbols.db b/.vs/Calculator/CopilotIndices/17.14.1290.42047/SemanticSymbols.db
new file mode 100644
index 00000000..4d1639cb
Binary files /dev/null and b/.vs/Calculator/CopilotIndices/17.14.1290.42047/SemanticSymbols.db differ
diff --git a/.vs/Calculator/DesignTimeBuild/.dtbcache.v2 b/.vs/Calculator/DesignTimeBuild/.dtbcache.v2
new file mode 100644
index 00000000..48e2a048
Binary files /dev/null and b/.vs/Calculator/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/.vs/Calculator/FileContentIndex/316c2ac8-c6f3-48ad-9629-95f5a72b8c3d.vsidx b/.vs/Calculator/FileContentIndex/316c2ac8-c6f3-48ad-9629-95f5a72b8c3d.vsidx
new file mode 100644
index 00000000..5840f54f
Binary files /dev/null and b/.vs/Calculator/FileContentIndex/316c2ac8-c6f3-48ad-9629-95f5a72b8c3d.vsidx differ
diff --git a/.vs/Calculator/FileContentIndex/616eb3bb-57bd-4164-bc93-3b60235c01f7.vsidx b/.vs/Calculator/FileContentIndex/616eb3bb-57bd-4164-bc93-3b60235c01f7.vsidx
new file mode 100644
index 00000000..6fa7a85b
Binary files /dev/null and b/.vs/Calculator/FileContentIndex/616eb3bb-57bd-4164-bc93-3b60235c01f7.vsidx differ
diff --git a/.vs/Calculator/FileContentIndex/6b10fff7-5441-4373-b742-ff8c4649327c.vsidx b/.vs/Calculator/FileContentIndex/6b10fff7-5441-4373-b742-ff8c4649327c.vsidx
new file mode 100644
index 00000000..caee53ad
Binary files /dev/null and b/.vs/Calculator/FileContentIndex/6b10fff7-5441-4373-b742-ff8c4649327c.vsidx differ
diff --git a/.vs/Calculator/FileContentIndex/a6d29302-0c42-477f-9c34-f9401a9cfd07.vsidx b/.vs/Calculator/FileContentIndex/a6d29302-0c42-477f-9c34-f9401a9cfd07.vsidx
new file mode 100644
index 00000000..3ec8234c
Binary files /dev/null and b/.vs/Calculator/FileContentIndex/a6d29302-0c42-477f-9c34-f9401a9cfd07.vsidx differ
diff --git a/.vs/Calculator/v17/.futdcache.v2 b/.vs/Calculator/v17/.futdcache.v2
new file mode 100644
index 00000000..250bff1d
Binary files /dev/null and b/.vs/Calculator/v17/.futdcache.v2 differ
diff --git a/.vs/Calculator/v17/.suo b/.vs/Calculator/v17/.suo
new file mode 100644
index 00000000..88f2a4cd
Binary files /dev/null and b/.vs/Calculator/v17/.suo differ
diff --git a/.vs/Calculator/v17/DocumentLayout.backup.json b/.vs/Calculator/v17/DocumentLayout.backup.json
new file mode 100644
index 00000000..3ba1c640
--- /dev/null
+++ b/.vs/Calculator/v17/DocumentLayout.backup.json
@@ -0,0 +1,12 @@
+{
+ "Version": 1,
+ "WorkspaceRootPath": "C:\\Users\\timso\\source\\repos\\Calculator\\",
+ "Documents": [],
+ "DocumentGroupContainers": [
+ {
+ "Orientation": 0,
+ "VerticalTabListWidth": 256,
+ "DocumentGroups": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.vs/Calculator/v17/DocumentLayout.json b/.vs/Calculator/v17/DocumentLayout.json
new file mode 100644
index 00000000..3ba1c640
--- /dev/null
+++ b/.vs/Calculator/v17/DocumentLayout.json
@@ -0,0 +1,12 @@
+{
+ "Version": 1,
+ "WorkspaceRootPath": "C:\\Users\\timso\\source\\repos\\Calculator\\",
+ "Documents": [],
+ "DocumentGroupContainers": [
+ {
+ "Orientation": 0,
+ "VerticalTabListWidth": 256,
+ "DocumentGroups": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.vs/ProjectEvaluation/calculator.metadata.v9.bin b/.vs/ProjectEvaluation/calculator.metadata.v9.bin
new file mode 100644
index 00000000..4fdcdd51
Binary files /dev/null and b/.vs/ProjectEvaluation/calculator.metadata.v9.bin differ
diff --git a/.vs/ProjectEvaluation/calculator.projects.v9.bin b/.vs/ProjectEvaluation/calculator.projects.v9.bin
new file mode 100644
index 00000000..de6cf73f
Binary files /dev/null and b/.vs/ProjectEvaluation/calculator.projects.v9.bin differ
diff --git a/.vs/ProjectEvaluation/calculator.strings.v9.bin b/.vs/ProjectEvaluation/calculator.strings.v9.bin
new file mode 100644
index 00000000..1a1eb735
Binary files /dev/null and b/.vs/ProjectEvaluation/calculator.strings.v9.bin differ
diff --git a/Calculator.csproj b/Calculator.csproj
new file mode 100644
index 00000000..477b00a5
--- /dev/null
+++ b/Calculator.csproj
@@ -0,0 +1,14 @@
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/Calculator.sln b/Calculator.sln
new file mode 100644
index 00000000..45ca0551
--- /dev/null
+++ b/Calculator.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.14.36603.0 d17.14
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calculator", "Calculator.csproj", "{68E3F897-DD0C-4B67-A289-933BA1552A19}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CalculatorLibrary", "..\CalculatorLibrary\CalculatorLibrary.csproj", "{87AC7B51-A530-429F-8322-53BF20DC73FA}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {68E3F897-DD0C-4B67-A289-933BA1552A19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {68E3F897-DD0C-4B67-A289-933BA1552A19}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {68E3F897-DD0C-4B67-A289-933BA1552A19}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {68E3F897-DD0C-4B67-A289-933BA1552A19}.Release|Any CPU.Build.0 = Release|Any CPU
+ {87AC7B51-A530-429F-8322-53BF20DC73FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {87AC7B51-A530-429F-8322-53BF20DC73FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {87AC7B51-A530-429F-8322-53BF20DC73FA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {87AC7B51-A530-429F-8322-53BF20DC73FA}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {876BAC24-451C-4923-9DB7-98E3392A4562}
+ EndGlobalSection
+EndGlobal
diff --git a/CalculatorProgram.cs b/CalculatorProgram.cs
new file mode 100644
index 00000000..9dd9160d
--- /dev/null
+++ b/CalculatorProgram.cs
@@ -0,0 +1,87 @@
+using CalculatorLibrary;
+using System.Text.RegularExpressions;
+
+class CalculatorProgram
+{
+ static void Main(string[] args)
+ {
+ bool endApp = false;
+ int count = 0;
+ Console.WriteLine("Console Calculator in C#\r");
+ Console.WriteLine("------------------------\n");
+
+ Calculator calculator = new Calculator();
+ while (!endApp)
+ {
+ string? numInput1 = "";
+ string? numInput2 = "";
+ double result = 0;
+
+ Console.WriteLine("Enter first number:");
+ numInput1 = Console.ReadLine();
+
+ double cleanNum1 = 0;
+ while (!double.TryParse(numInput1, out cleanNum1))
+ {
+ Console.WriteLine("This is not valid input. Please enter a valid number:");
+ numInput1 = Console.ReadLine();
+ }
+
+ Console.WriteLine("Enter second number:");
+ numInput2 = Console.ReadLine();
+
+ double cleanNum2 = 0;
+ while (!double.TryParse(numInput2, out cleanNum2))
+ {
+ Console.WriteLine("This is not valid input. Please enter a valid number:");
+ numInput2 = Console.ReadLine();
+ }
+
+ Console.WriteLine("Choose an operator from the following list:");
+ Console.WriteLine("\ta - Add");
+ Console.WriteLine("\ts - Subtract");
+ Console.WriteLine("\tm - Multiply");
+ Console.WriteLine("\td - Divide");
+ Console.Write("Your option? ");
+
+ string? op = Console.ReadLine();
+
+ if (op == null || !Regex.IsMatch(op, "[a|s|m|d]"))
+ {
+ Console.WriteLine("Error: Unrecognised input.");
+ }
+ else
+ {
+ try
+ {
+ result = calculator.DoOperation(cleanNum1, cleanNum2, op);
+ if (double.IsNaN(result))
+ {
+ Console.WriteLine("This operation will result in mathematical error.\n");
+ }
+ else
+ {
+ Console.WriteLine("Your result: {0:0.##}\n", result);
+ }
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " + e.Message);
+ }
+ }
+ count++;
+ Console.WriteLine("------------------------\n");
+ Console.WriteLine($"You've used the Calculator {count} times in a row.");
+ Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: ");
+ if (Console.ReadLine() == "n")
+ {
+ endApp = true;
+ }
+
+
+ Console.WriteLine("\n");
+ }
+ calculator.Finish();
+ return;
+ }
+}
\ No newline at end of file
diff --git a/bin/Debug/net8.0/Calculator.deps.json b/bin/Debug/net8.0/Calculator.deps.json
new file mode 100644
index 00000000..1f3fbcef
--- /dev/null
+++ b/bin/Debug/net8.0/Calculator.deps.json
@@ -0,0 +1,57 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v8.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v8.0": {
+ "Calculator/1.0.0": {
+ "dependencies": {
+ "CalculatorLibrary": "1.0.0"
+ },
+ "runtime": {
+ "Calculator.dll": {}
+ }
+ },
+ "Newtonsoft.Json/13.0.4": {
+ "runtime": {
+ "lib/net6.0/Newtonsoft.Json.dll": {
+ "assemblyVersion": "13.0.0.0",
+ "fileVersion": "13.0.4.30916"
+ }
+ }
+ },
+ "CalculatorLibrary/1.0.0": {
+ "dependencies": {
+ "Newtonsoft.Json": "13.0.4"
+ },
+ "runtime": {
+ "CalculatorLibrary.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Calculator/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Newtonsoft.Json/13.0.4": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==",
+ "path": "newtonsoft.json/13.0.4",
+ "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512"
+ },
+ "CalculatorLibrary/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/bin/Debug/net8.0/Calculator.dll b/bin/Debug/net8.0/Calculator.dll
new file mode 100644
index 00000000..cf49a444
Binary files /dev/null and b/bin/Debug/net8.0/Calculator.dll differ
diff --git a/bin/Debug/net8.0/Calculator.exe b/bin/Debug/net8.0/Calculator.exe
new file mode 100644
index 00000000..5ed9abf9
Binary files /dev/null and b/bin/Debug/net8.0/Calculator.exe differ
diff --git a/bin/Debug/net8.0/Calculator.pdb b/bin/Debug/net8.0/Calculator.pdb
new file mode 100644
index 00000000..261df09f
Binary files /dev/null and b/bin/Debug/net8.0/Calculator.pdb differ
diff --git a/bin/Debug/net8.0/Calculator.runtimeconfig.json b/bin/Debug/net8.0/Calculator.runtimeconfig.json
new file mode 100644
index 00000000..becfaeac
--- /dev/null
+++ b/bin/Debug/net8.0/Calculator.runtimeconfig.json
@@ -0,0 +1,12 @@
+{
+ "runtimeOptions": {
+ "tfm": "net8.0",
+ "framework": {
+ "name": "Microsoft.NETCore.App",
+ "version": "8.0.0"
+ },
+ "configProperties": {
+ "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/bin/Debug/net8.0/CalculatorLibrary.dll b/bin/Debug/net8.0/CalculatorLibrary.dll
new file mode 100644
index 00000000..12bfca25
Binary files /dev/null and b/bin/Debug/net8.0/CalculatorLibrary.dll differ
diff --git a/bin/Debug/net8.0/CalculatorLibrary.pdb b/bin/Debug/net8.0/CalculatorLibrary.pdb
new file mode 100644
index 00000000..51584c6a
Binary files /dev/null and b/bin/Debug/net8.0/CalculatorLibrary.pdb differ
diff --git a/bin/Debug/net8.0/Newtonsoft.Json.dll b/bin/Debug/net8.0/Newtonsoft.Json.dll
new file mode 100644
index 00000000..5813d8cf
Binary files /dev/null and b/bin/Debug/net8.0/Newtonsoft.Json.dll differ
diff --git a/bin/Debug/net8.0/calculator.log b/bin/Debug/net8.0/calculator.log
new file mode 100644
index 00000000..4081d91e
--- /dev/null
+++ b/bin/Debug/net8.0/calculator.log
@@ -0,0 +1,4 @@
+Starting Calculator Log
+Started 2026-01-13 9:45:00 AM
+1 + 2 = 3
+3 * 3 = 9
diff --git a/bin/Debug/net8.0/calculatorlog.json b/bin/Debug/net8.0/calculatorlog.json
new file mode 100644
index 00000000..f3689e92
--- /dev/null
+++ b/bin/Debug/net8.0/calculatorlog.json
@@ -0,0 +1,2 @@
+{
+ "Operations": [
\ No newline at end of file
diff --git a/obj/Calculator.csproj.nuget.dgspec.json b/obj/Calculator.csproj.nuget.dgspec.json
new file mode 100644
index 00000000..5dfb67e2
--- /dev/null
+++ b/obj/Calculator.csproj.nuget.dgspec.json
@@ -0,0 +1,148 @@
+{
+ "format": 1,
+ "restore": {
+ "C:\\Users\\timso\\source\\repos\\Calculator\\Calculator.csproj": {}
+ },
+ "projects": {
+ "C:\\Users\\timso\\source\\repos\\CalculatorLibrary\\CalculatorLibrary.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\timso\\source\\repos\\CalculatorLibrary\\CalculatorLibrary.csproj",
+ "projectName": "CalculatorLibrary",
+ "projectPath": "C:\\Users\\timso\\source\\repos\\CalculatorLibrary\\CalculatorLibrary.csproj",
+ "packagesPath": "C:\\Users\\timso\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\timso\\source\\repos\\CalculatorLibrary\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\timso\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "dependencies": {
+ "Newtonsoft.Json": {
+ "target": "Package",
+ "version": "[13.0.4, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.306/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ },
+ "C:\\Users\\timso\\source\\repos\\Calculator\\Calculator.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\timso\\source\\repos\\Calculator\\Calculator.csproj",
+ "projectName": "Calculator",
+ "projectPath": "C:\\Users\\timso\\source\\repos\\Calculator\\Calculator.csproj",
+ "packagesPath": "C:\\Users\\timso\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\timso\\source\\repos\\Calculator\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\timso\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {
+ "C:\\Users\\timso\\source\\repos\\CalculatorLibrary\\CalculatorLibrary.csproj": {
+ "projectPath": "C:\\Users\\timso\\source\\repos\\CalculatorLibrary\\CalculatorLibrary.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.306/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/obj/Calculator.csproj.nuget.g.props b/obj/Calculator.csproj.nuget.g.props
new file mode 100644
index 00000000..5936cc11
--- /dev/null
+++ b/obj/Calculator.csproj.nuget.g.props
@@ -0,0 +1,16 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ $(UserProfile)\.nuget\packages\
+ C:\Users\timso\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages
+ PackageReference
+ 6.14.1
+
+
+
+
+
+
\ No newline at end of file
diff --git a/obj/Calculator.csproj.nuget.g.targets b/obj/Calculator.csproj.nuget.g.targets
new file mode 100644
index 00000000..3dc06ef3
--- /dev/null
+++ b/obj/Calculator.csproj.nuget.g.targets
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
new file mode 100644
index 00000000..2217181c
--- /dev/null
+++ b/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
diff --git a/obj/Debug/net8.0/Calculator.AssemblyInfo.cs b/obj/Debug/net8.0/Calculator.AssemblyInfo.cs
new file mode 100644
index 00000000..34f37a18
--- /dev/null
+++ b/obj/Debug/net8.0/Calculator.AssemblyInfo.cs
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+//
+// 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.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("Calculator")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
+[assembly: System.Reflection.AssemblyProductAttribute("Calculator")]
+[assembly: System.Reflection.AssemblyTitleAttribute("Calculator")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Generated by the MSBuild WriteCodeFragment class.
+
diff --git a/obj/Debug/net8.0/Calculator.AssemblyInfoInputs.cache b/obj/Debug/net8.0/Calculator.AssemblyInfoInputs.cache
new file mode 100644
index 00000000..934fc921
--- /dev/null
+++ b/obj/Debug/net8.0/Calculator.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+434eef6e48ea8b5a443c4238c47426d63d4cd7cad9cadb69a63c58403a114e1e
diff --git a/obj/Debug/net8.0/Calculator.GeneratedMSBuildEditorConfig.editorconfig b/obj/Debug/net8.0/Calculator.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 00000000..edeb808a
--- /dev/null
+++ b/obj/Debug/net8.0/Calculator.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,15 @@
+is_global = true
+build_property.TargetFramework = net8.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = Calculator
+build_property.ProjectDir = C:\Users\timso\source\repos\Calculator\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
+build_property.EffectiveAnalysisLevelStyle = 8.0
+build_property.EnableCodeStyleSeverity =
diff --git a/obj/Debug/net8.0/Calculator.GlobalUsings.g.cs b/obj/Debug/net8.0/Calculator.GlobalUsings.g.cs
new file mode 100644
index 00000000..8578f3d0
--- /dev/null
+++ b/obj/Debug/net8.0/Calculator.GlobalUsings.g.cs
@@ -0,0 +1,8 @@
+//
+global using global::System;
+global using global::System.Collections.Generic;
+global using global::System.IO;
+global using global::System.Linq;
+global using global::System.Net.Http;
+global using global::System.Threading;
+global using global::System.Threading.Tasks;
diff --git a/obj/Debug/net8.0/Calculator.assets.cache b/obj/Debug/net8.0/Calculator.assets.cache
new file mode 100644
index 00000000..9813391e
Binary files /dev/null and b/obj/Debug/net8.0/Calculator.assets.cache differ
diff --git a/obj/Debug/net8.0/Calculator.csproj.AssemblyReference.cache b/obj/Debug/net8.0/Calculator.csproj.AssemblyReference.cache
new file mode 100644
index 00000000..8756c135
Binary files /dev/null and b/obj/Debug/net8.0/Calculator.csproj.AssemblyReference.cache differ
diff --git a/obj/Debug/net8.0/Calculator.csproj.BuildWithSkipAnalyzers b/obj/Debug/net8.0/Calculator.csproj.BuildWithSkipAnalyzers
new file mode 100644
index 00000000..e69de29b
diff --git a/obj/Debug/net8.0/Calculator.csproj.CoreCompileInputs.cache b/obj/Debug/net8.0/Calculator.csproj.CoreCompileInputs.cache
new file mode 100644
index 00000000..ed39a049
--- /dev/null
+++ b/obj/Debug/net8.0/Calculator.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+66bcc993eb89e34eb192e18376603e9d85e0e9400bfad4d3b4bb8d73666f72b7
diff --git a/obj/Debug/net8.0/Calculator.csproj.FileListAbsolute.txt b/obj/Debug/net8.0/Calculator.csproj.FileListAbsolute.txt
new file mode 100644
index 00000000..870ee38b
--- /dev/null
+++ b/obj/Debug/net8.0/Calculator.csproj.FileListAbsolute.txt
@@ -0,0 +1,19 @@
+C:\Users\timso\source\repos\Calculator\bin\Debug\net8.0\Calculator.exe
+C:\Users\timso\source\repos\Calculator\bin\Debug\net8.0\Calculator.deps.json
+C:\Users\timso\source\repos\Calculator\bin\Debug\net8.0\Calculator.runtimeconfig.json
+C:\Users\timso\source\repos\Calculator\bin\Debug\net8.0\Calculator.dll
+C:\Users\timso\source\repos\Calculator\bin\Debug\net8.0\Calculator.pdb
+C:\Users\timso\source\repos\Calculator\obj\Debug\net8.0\Calculator.GeneratedMSBuildEditorConfig.editorconfig
+C:\Users\timso\source\repos\Calculator\obj\Debug\net8.0\Calculator.AssemblyInfoInputs.cache
+C:\Users\timso\source\repos\Calculator\obj\Debug\net8.0\Calculator.AssemblyInfo.cs
+C:\Users\timso\source\repos\Calculator\obj\Debug\net8.0\Calculator.csproj.CoreCompileInputs.cache
+C:\Users\timso\source\repos\Calculator\obj\Debug\net8.0\Calculator.dll
+C:\Users\timso\source\repos\Calculator\obj\Debug\net8.0\refint\Calculator.dll
+C:\Users\timso\source\repos\Calculator\obj\Debug\net8.0\Calculator.pdb
+C:\Users\timso\source\repos\Calculator\obj\Debug\net8.0\Calculator.genruntimeconfig.cache
+C:\Users\timso\source\repos\Calculator\obj\Debug\net8.0\ref\Calculator.dll
+C:\Users\timso\source\repos\Calculator\bin\Debug\net8.0\CalculatorLibrary.dll
+C:\Users\timso\source\repos\Calculator\bin\Debug\net8.0\CalculatorLibrary.pdb
+C:\Users\timso\source\repos\Calculator\obj\Debug\net8.0\Calculator.csproj.AssemblyReference.cache
+C:\Users\timso\source\repos\Calculator\obj\Debug\net8.0\Calculator.csproj.Up2Date
+C:\Users\timso\source\repos\Calculator\bin\Debug\net8.0\Newtonsoft.Json.dll
diff --git a/obj/Debug/net8.0/Calculator.csproj.Up2Date b/obj/Debug/net8.0/Calculator.csproj.Up2Date
new file mode 100644
index 00000000..e69de29b
diff --git a/obj/Debug/net8.0/Calculator.dll b/obj/Debug/net8.0/Calculator.dll
new file mode 100644
index 00000000..cf49a444
Binary files /dev/null and b/obj/Debug/net8.0/Calculator.dll differ
diff --git a/obj/Debug/net8.0/Calculator.genruntimeconfig.cache b/obj/Debug/net8.0/Calculator.genruntimeconfig.cache
new file mode 100644
index 00000000..0124a3a4
--- /dev/null
+++ b/obj/Debug/net8.0/Calculator.genruntimeconfig.cache
@@ -0,0 +1 @@
+21addc941c336d64465a468e7b64ac9da5cdcae54998d69eafb060154a0827c0
diff --git a/obj/Debug/net8.0/Calculator.pdb b/obj/Debug/net8.0/Calculator.pdb
new file mode 100644
index 00000000..261df09f
Binary files /dev/null and b/obj/Debug/net8.0/Calculator.pdb differ
diff --git a/obj/Debug/net8.0/apphost.exe b/obj/Debug/net8.0/apphost.exe
new file mode 100644
index 00000000..5ed9abf9
Binary files /dev/null and b/obj/Debug/net8.0/apphost.exe differ
diff --git a/obj/Debug/net8.0/ref/Calculator.dll b/obj/Debug/net8.0/ref/Calculator.dll
new file mode 100644
index 00000000..d8adb114
Binary files /dev/null and b/obj/Debug/net8.0/ref/Calculator.dll differ
diff --git a/obj/Debug/net8.0/refint/Calculator.dll b/obj/Debug/net8.0/refint/Calculator.dll
new file mode 100644
index 00000000..d8adb114
Binary files /dev/null and b/obj/Debug/net8.0/refint/Calculator.dll differ
diff --git a/obj/project.assets.json b/obj/project.assets.json
new file mode 100644
index 00000000..dbcb5abd
--- /dev/null
+++ b/obj/project.assets.json
@@ -0,0 +1,148 @@
+{
+ "version": 3,
+ "targets": {
+ "net8.0": {
+ "Newtonsoft.Json/13.0.4": {
+ "type": "package",
+ "compile": {
+ "lib/net6.0/Newtonsoft.Json.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net6.0/Newtonsoft.Json.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "CalculatorLibrary/1.0.0": {
+ "type": "project",
+ "framework": ".NETCoreApp,Version=v8.0",
+ "dependencies": {
+ "Newtonsoft.Json": "13.0.4"
+ },
+ "compile": {
+ "bin/placeholder/CalculatorLibrary.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/CalculatorLibrary.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Newtonsoft.Json/13.0.4": {
+ "sha512": "pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==",
+ "type": "package",
+ "path": "newtonsoft.json/13.0.4",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.md",
+ "README.md",
+ "lib/net20/Newtonsoft.Json.dll",
+ "lib/net20/Newtonsoft.Json.xml",
+ "lib/net35/Newtonsoft.Json.dll",
+ "lib/net35/Newtonsoft.Json.xml",
+ "lib/net40/Newtonsoft.Json.dll",
+ "lib/net40/Newtonsoft.Json.xml",
+ "lib/net45/Newtonsoft.Json.dll",
+ "lib/net45/Newtonsoft.Json.xml",
+ "lib/net6.0/Newtonsoft.Json.dll",
+ "lib/net6.0/Newtonsoft.Json.xml",
+ "lib/netstandard1.0/Newtonsoft.Json.dll",
+ "lib/netstandard1.0/Newtonsoft.Json.xml",
+ "lib/netstandard1.3/Newtonsoft.Json.dll",
+ "lib/netstandard1.3/Newtonsoft.Json.xml",
+ "lib/netstandard2.0/Newtonsoft.Json.dll",
+ "lib/netstandard2.0/Newtonsoft.Json.xml",
+ "newtonsoft.json.13.0.4.nupkg.sha512",
+ "newtonsoft.json.nuspec",
+ "packageIcon.png"
+ ]
+ },
+ "CalculatorLibrary/1.0.0": {
+ "type": "project",
+ "path": "../CalculatorLibrary/CalculatorLibrary.csproj",
+ "msbuildProject": "../CalculatorLibrary/CalculatorLibrary.csproj"
+ }
+ },
+ "projectFileDependencyGroups": {
+ "net8.0": [
+ "CalculatorLibrary >= 1.0.0"
+ ]
+ },
+ "packageFolders": {
+ "C:\\Users\\timso\\.nuget\\packages\\": {},
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
+ },
+ "project": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\timso\\source\\repos\\Calculator\\Calculator.csproj",
+ "projectName": "Calculator",
+ "projectPath": "C:\\Users\\timso\\source\\repos\\Calculator\\Calculator.csproj",
+ "packagesPath": "C:\\Users\\timso\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\timso\\source\\repos\\Calculator\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\timso\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {
+ "C:\\Users\\timso\\source\\repos\\CalculatorLibrary\\CalculatorLibrary.csproj": {
+ "projectPath": "C:\\Users\\timso\\source\\repos\\CalculatorLibrary\\CalculatorLibrary.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.306/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/obj/project.nuget.cache b/obj/project.nuget.cache
new file mode 100644
index 00000000..b83ec035
--- /dev/null
+++ b/obj/project.nuget.cache
@@ -0,0 +1,10 @@
+{
+ "version": 2,
+ "dgSpecHash": "UmGE+x1Yy+o=",
+ "success": true,
+ "projectFilePath": "C:\\Users\\timso\\source\\repos\\Calculator\\Calculator.csproj",
+ "expectedPackageFiles": [
+ "C:\\Users\\timso\\.nuget\\packages\\newtonsoft.json\\13.0.4\\newtonsoft.json.13.0.4.nupkg.sha512"
+ ],
+ "logs": []
+}
\ No newline at end of file