From ec8e3af7edeb28a13aa9ea2fd8832b78c93e030f Mon Sep 17 00:00:00 2001
From: Harald Martini <harald.martini@student.tugraz.at>
Date: Mon, 20 Jun 2022 11:38:47 +0200
Subject: [PATCH] updated ninject to v3.3.6, added binding redirection in vecto
 console (couldn't load ninject assembly in .net 4.5 & .net 4.8)

---
 VECTO.sln                                     |  4 ++--
 VECTO/VECTO.vbproj                            |  2 +-
 VECTO3GUI2020/VECTO3GUI2020.csproj            |  2 +-
 .../VectoAuxiliariesTests.vbproj              |  2 +-
 Vecto3GUI2020Test/Vecto3GUI2020Test.csproj    |  2 +-
 .../VectoHashingTest/VectoHashingTest.csproj  |  2 +-
 VectoConsole/App.config                       |  9 +++++++
 VectoConsole/VectoConsole.csproj              | 24 ++++++++++++++++++-
 VectoCore/VectoCore/VectoCore.csproj          |  2 +-
 VectoCore/VectoCoreTest/VectoCoreTest.csproj  |  2 +-
 10 files changed, 41 insertions(+), 10 deletions(-)

diff --git a/VECTO.sln b/VECTO.sln
index 774eb7bb43..a994d5678b 100644
--- a/VECTO.sln
+++ b/VECTO.sln
@@ -150,8 +150,8 @@ Global
 		{60AD4DF0-6648-4374-83CB-C7A162EFB391}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{60AD4DF0-6648-4374-83CB-C7A162EFB391}.Deploy|Any CPU.ActiveCfg = Release|Any CPU
 		{60AD4DF0-6648-4374-83CB-C7A162EFB391}.Deploy|Any CPU.Build.0 = Release|Any CPU
-		{60AD4DF0-6648-4374-83CB-C7A162EFB391}.Mockup|Any CPU.ActiveCfg = Debug|Any CPU
-		{60AD4DF0-6648-4374-83CB-C7A162EFB391}.Mockup|Any CPU.Build.0 = Debug|Any CPU
+		{60AD4DF0-6648-4374-83CB-C7A162EFB391}.Mockup|Any CPU.ActiveCfg = MockupDebug|Any CPU
+		{60AD4DF0-6648-4374-83CB-C7A162EFB391}.Mockup|Any CPU.Build.0 = MockupDebug|Any CPU
 		{60AD4DF0-6648-4374-83CB-C7A162EFB391}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{60AD4DF0-6648-4374-83CB-C7A162EFB391}.Release|Any CPU.Build.0 = Release|Any CPU
 		{6589CAEC-ECC9-4BCC-9699-DE3F22BBCBD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
diff --git a/VECTO/VECTO.vbproj b/VECTO/VECTO.vbproj
index 0bab292cf6..5fa017fd3e 100644
--- a/VECTO/VECTO.vbproj
+++ b/VECTO/VECTO.vbproj
@@ -18,7 +18,7 @@
   <ItemGroup>
     <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
     <PackageReference Include="NLog" Version="4.7.13" />
-    <PackageReference Include="Ninject" Version="3.3.5">
+    <PackageReference Include="Ninject" Version="3.3.6">
       <PrivateAssets>all</PrivateAssets>
     </PackageReference>
   </ItemGroup>
diff --git a/VECTO3GUI2020/VECTO3GUI2020.csproj b/VECTO3GUI2020/VECTO3GUI2020.csproj
index 1e76147a7c..d7eecd2323 100644
--- a/VECTO3GUI2020/VECTO3GUI2020.csproj
+++ b/VECTO3GUI2020/VECTO3GUI2020.csproj
@@ -25,7 +25,7 @@
     <PackageReference Include="InteractiveDataDisplay.WPF" Version="1.0.0" NoWarn="NU1701" />
     <PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.2" />
     <PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.39" NoWarn="NU1701" />
-    <PackageReference Include="Ninject" Version="3.3.5" />
+    <PackageReference Include="Ninject" Version="3.3.6" />
     <PackageReference Include="Ninject.Extensions.Factory" Version="3.3.3" />
     <PackageReference Include="PresentationFramework.Aero2" Version="1.0.1" NoWarn="NU1701" />
   </ItemGroup>
diff --git a/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj b/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj
index 41526ead9a..cee4dd27f4 100644
--- a/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj
+++ b/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj
@@ -15,7 +15,7 @@
     <PackageReference Include="NUnit" Version="3.13.2" />
     <PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
     <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
-    <PackageReference Include="Ninject" Version="3.3.5" />
+    <PackageReference Include="Ninject" Version="3.3.6" />
     <PackageReference Include="NLog" Version="4.7.13" />
     <PackageReference Include="Moq" Version="4.16.1" />
   </ItemGroup>
diff --git a/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj b/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj
index 043215e73f..2ace8812e8 100644
--- a/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj
+++ b/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj
@@ -10,7 +10,7 @@
     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.1.0" />
     <PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.2" />
     <PackageReference Include="Moq" Version="4.16.1" />
-    <PackageReference Include="Ninject" Version="3.3.5" />
+    <PackageReference Include="Ninject" Version="3.3.6" />
     <PackageReference Include="NUnit" Version="3.13.2" />
     <PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
   </ItemGroup>
diff --git a/VectoCommon/VectoHashingTest/VectoHashingTest.csproj b/VectoCommon/VectoHashingTest/VectoHashingTest.csproj
index 7ae9a4bc51..03da0bf0f2 100644
--- a/VectoCommon/VectoHashingTest/VectoHashingTest.csproj
+++ b/VectoCommon/VectoHashingTest/VectoHashingTest.csproj
@@ -7,7 +7,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Ninject" Version="3.3.5" />
+    <PackageReference Include="Ninject" Version="3.3.6" />
     <PackageReference Include="Ninject.Extensions.Factory" Version="3.3.3" />
     <PackageReference Include="NUnit" Version="3.13.2" />
     <PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
diff --git a/VectoConsole/App.config b/VectoConsole/App.config
index f3e7e3a3ca..159bad0008 100644
--- a/VectoConsole/App.config
+++ b/VectoConsole/App.config
@@ -3,6 +3,15 @@
 	<configSections>
 		<section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
 	</configSections>
+	<runtime>
+		<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+			<!--<loadFromRemoteSources enabled="true"/>-->
+			<dependentAssembly>
+				<assemblyIdentity name="Ninject" publicKeyToken="c7192dc5380945e7" culture="neutral" />
+				<bindingRedirect oldVersion="0.0.0.0-3.3.5.0" newVersion="3.3.6.0" />
+			</dependentAssembly>
+		</assemblyBinding>
+	</runtime>
 	<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd" autoReload="false" throwExceptions="false" internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
 		<targets async="true">
 			<target xsi:type="Console" name="ConsoleLogger" error="true" />
diff --git a/VectoConsole/VectoConsole.csproj b/VectoConsole/VectoConsole.csproj
index 7c77a74347..8f9ecdb698 100644
--- a/VectoConsole/VectoConsole.csproj
+++ b/VectoConsole/VectoConsole.csproj
@@ -6,10 +6,20 @@
     <ApplicationIcon>VECTO.ico</ApplicationIcon>
     <TargetFrameworks>net45;net48;net6.0</TargetFrameworks>
     <DefineConstants />
+    <Configurations>Debug;Release;MockupDebug</Configurations>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='MockupDebug|net45|AnyCPU'">
+    <DebugType>full</DebugType>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='MockupDebug|net48|AnyCPU'">
+    <DebugType>full</DebugType>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='MockupDebug|net6.0|AnyCPU'">
+    <DebugType>full</DebugType>
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Ninject" Version="3.3.5" />
+    <PackageReference Include="Ninject" Version="3.3.6" />
     <PackageReference Include="NLog" Version="4.7.13" />
   </ItemGroup>
 
@@ -28,4 +38,16 @@
   <ItemGroup>
     <ProjectReference Include="..\VectoCore\VectoCore\VectoCore.csproj" />
   </ItemGroup>
+
+	<Choose>
+		<When Condition="'$(Configuration)|$(Platform)'=='MockupDebug|AnyCPU'">
+			<ItemGroup>
+				<ProjectReference Include="..\VectoMockup\VectoMockup\VectoMockup.csproj" />
+
+			</ItemGroup>
+			<PropertyGroup>
+				<DefineConstants>MOCKUP</DefineConstants>
+			</PropertyGroup>
+		</When>
+	</Choose>
 </Project>
\ No newline at end of file
diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj
index ce247787a7..8a7b2bc279 100644
--- a/VectoCore/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore/VectoCore.csproj
@@ -29,7 +29,7 @@
 
   <ItemGroup>
     <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
-    <PackageReference Include="Ninject" Version="3.3.5" />
+    <PackageReference Include="Ninject" Version="3.3.6" />
     <PackageReference Include="Ninject.Extensions.ContextPreservation" Version="3.3.1" />
     <PackageReference Include="Ninject.Extensions.Factory" Version="3.3.3" />
     <PackageReference Include="NLog" Version="4.7.13" />
diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
index aecf95815c..0035abd026 100644
--- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj
+++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
@@ -15,7 +15,7 @@
     <PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.1.0" />
     <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
-    <PackageReference Include="Ninject" Version="3.3.5" />
+    <PackageReference Include="Ninject" Version="3.3.6" />
     <PackageReference Include="NLog" Version="4.7.13" />
   </ItemGroup>
 
-- 
GitLab