Major upgrade to .NET Standard 2.1 and .NET Core 3.1 for LTS reasons
BaSyx.Components.Common project added for shared server functions across all components
Every server application updated due to .NET Core 3.1
BaSyx.Utils splitted into subprojects BaSyx.Utils.DependencyInjection & BaSyx.Utils.Client.Mqtt to have less dependencies when using basic BaSyx functions
Cleaned up a lot of code
NuGet Package handling refactored due to .NET Core 3.1
Asynchronous operation invocation added
NuGet packaged updated
diff --git a/sdks/dotnet/basyx-components/BaSyx.Components.Common/BaSyx.Components.Common.csproj b/sdks/dotnet/basyx-components/BaSyx.Components.Common/BaSyx.Components.Common.csproj
new file mode 100644
index 0000000..9c9ffcb
--- /dev/null
+++ b/sdks/dotnet/basyx-components/BaSyx.Components.Common/BaSyx.Components.Common.csproj
@@ -0,0 +1,40 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <OutputType>Library</OutputType>
+    <Configurations>Debug;Release</Configurations>
+    <Authors>Constantin Ziesche</Authors>
+    <Copyright>Copyright 2020 - Robert Bosch GmbH</Copyright>
+    <PackageProjectUrl>https://wiki.eclipse.org/BaSyx</PackageProjectUrl>
+    <RepositoryUrl>https://git.eclipse.org/r/plugins/gitiles/basyx/basyx/+/master/sdks/csnet/</RepositoryUrl>
+    <Description>The official BaSyx Components Common Library</Description>
+    <Company>Robert Bosch GmbH</Company>
+    <PackageTags>BaSys BaSyx Components Common</PackageTags>
+    <PackageLicenseExpression>EPL-2.0</PackageLicenseExpression>
+    <PackageIcon>basyxlogo.png</PackageIcon>
+    <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <None Include="basyxlogo.png" Pack="true" PackagePath="\" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <PackageReference Include="BaSyx.Utils" Version="1.0.0" />
+    <PackageReference Include="BaSyx.Utils.DependencyInjection" Version="1.0.0" />
+    <PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.5" />
+    <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="3.1.3" />
+    <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.3" />
+    <PackageReference Include="NLog" Version="4.7.0" />
+    <PackageReference Include="NLog.Web.AspNetCore" Version="4.9.0" />
+  </ItemGroup>
+
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugType>Full</DebugType>
+  </PropertyGroup>
+
+  <Target Name="PostBuild" AfterTargets="PostBuildEvent">
+    <Exec Command="IF EXIST %25BASYX_REPO%25 ( dotnet pack &quot;$(ProjectPath)&quot; --no-build --include-source --include-symbols --output &quot;%25BASYX_REPO%25&quot; ) ELSE ( ECHO BASYX_REPO Environment Variable not found)" />
+  </Target>
+
+</Project>