diff --git a/Kernel.sln b/Kernel.sln
index 2bf5c06cf..ad3e2caaf 100644
--- a/Kernel.sln
+++ b/Kernel.sln
@@ -45,6 +45,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cosmos Graphic Subsystem",
EndProject
Project("{471EC4BB-E47E-4229-A789-D1F5F83B52D4}") = "Cosmos Graphic SubsystemBoot", "Demos\Cosmos Graphic Subsystem\Cosmos Graphic SubsystemBoot.Cosmos", "{79D68062-46C5-466D-9289-C033F7348485}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cosmos.Debug.Kernel", "source\Cosmos.Debug.Kernel\Cosmos.Debug.Kernel.csproj", "{94DBCFC7-B5D2-4148-BE18-D76654C379E2}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -156,6 +158,14 @@ Global
{79D68062-46C5-466D-9289-C033F7348485}.Release|Any CPU.Build.0 = Release|Any CPU
{79D68062-46C5-466D-9289-C033F7348485}.Release|x86.ActiveCfg = Release|Any CPU
{79D68062-46C5-466D-9289-C033F7348485}.Release|x86.Build.0 = Release|Any CPU
+ {94DBCFC7-B5D2-4148-BE18-D76654C379E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {94DBCFC7-B5D2-4148-BE18-D76654C379E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {94DBCFC7-B5D2-4148-BE18-D76654C379E2}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {94DBCFC7-B5D2-4148-BE18-D76654C379E2}.Debug|x86.Build.0 = Debug|Any CPU
+ {94DBCFC7-B5D2-4148-BE18-D76654C379E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {94DBCFC7-B5D2-4148-BE18-D76654C379E2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {94DBCFC7-B5D2-4148-BE18-D76654C379E2}.Release|x86.ActiveCfg = Release|Any CPU
+ {94DBCFC7-B5D2-4148-BE18-D76654C379E2}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -179,5 +189,6 @@ Global
{A9D558E8-B0C7-4FF6-99D8-CB2BC6FEB7C7} = {B56A6119-1B8F-44E4-9446-291E52F47D4C}
{49F2C01D-D2C5-4564-810B-1AE92236C5C1} = {A9D558E8-B0C7-4FF6-99D8-CB2BC6FEB7C7}
{79D68062-46C5-466D-9289-C033F7348485} = {A9D558E8-B0C7-4FF6-99D8-CB2BC6FEB7C7}
+ {94DBCFC7-B5D2-4148-BE18-D76654C379E2} = {9A923E6F-FF63-4F02-A4EA-C2D44F9323FD}
EndGlobalSection
EndGlobal
diff --git a/UpdateBinCache.bat b/UpdateBinCache.bat
new file mode 100644
index 000000000..adf115799
--- /dev/null
+++ b/UpdateBinCache.bat
@@ -0,0 +1,19 @@
+@REM Add this to post build event command line in VS for any file that needs update to bin cache.
+@REM call "$(SolutionDir)UpdateBinCache.bat" "$(TargetPath)" $(TargetFileName)
+@REM But see required hack:
+@REM https://github.com/dotnet/project-system/issues/1569
+
+@echo off
+
+cd %~dp0
+echo Path %1
+echo File %2
+
+if not exist build\bin\%2 goto copy
+echo Deleting...
+del build\bin\%2
+
+:copy
+echo Copying...
+copy "%1" build\bin\
+echo ---Done
diff --git a/source/Cosmos.Assembler/Cosmos.Assembler.csproj b/source/Cosmos.Assembler/Cosmos.Assembler.csproj
index 39d439a55..d7bb35f65 100644
--- a/source/Cosmos.Assembler/Cosmos.Assembler.csproj
+++ b/source/Cosmos.Assembler/Cosmos.Assembler.csproj
@@ -5,7 +5,11 @@
True
..\..\Cosmos.snk
-
+
+
+ call "$(SolutionDir)UpdateBinCache.bat"Â "$(TargetPath)" $(TargetFileName)
+
+
diff --git a/source/Cosmos.Debug.Kernel/Cosmos.Debug.Kernel.csproj b/source/Cosmos.Debug.Kernel/Cosmos.Debug.Kernel.csproj
index 474721ccf..863677fc8 100644
--- a/source/Cosmos.Debug.Kernel/Cosmos.Debug.Kernel.csproj
+++ b/source/Cosmos.Debug.Kernel/Cosmos.Debug.Kernel.csproj
@@ -1,12 +1,16 @@

-
- netstandard1.5
- True
- True
- ..\..\Cosmos.snk
- Cosmos
- Cosmos
-
+
+ netstandard1.5
+ True
+ True
+ ..\..\Cosmos.snk
+ Cosmos
+ Cosmos
+
+
+
+ call "$(SolutionDir)UpdateBinCache.bat"Â "$(TargetPath)" $(TargetFileName)
+
diff --git a/source/Cosmos.IL2CPU.Plugs/Cosmos.IL2CPU.Plugs.csproj b/source/Cosmos.IL2CPU.Plugs/Cosmos.IL2CPU.Plugs.csproj
index 9b2de7eba..47e18c290 100644
--- a/source/Cosmos.IL2CPU.Plugs/Cosmos.IL2CPU.Plugs.csproj
+++ b/source/Cosmos.IL2CPU.Plugs/Cosmos.IL2CPU.Plugs.csproj
@@ -1,11 +1,15 @@

-
- netstandard1.5
- True
- ..\..\Cosmos.snk
- Cosmos
- Cosmos
-
+
+ netstandard1.5
+ True
+ ..\..\Cosmos.snk
+ Cosmos
+ Cosmos
+
+
+
+ call "$(SolutionDir)UpdateBinCache.bat"Â "$(TargetPath)" $(TargetFileName)
+
\ No newline at end of file
diff --git a/source/Cosmos.IL2CPU/Cosmos.IL2CPU.csproj b/source/Cosmos.IL2CPU/Cosmos.IL2CPU.csproj
index b8a3d350b..dfb8fb8ed 100644
--- a/source/Cosmos.IL2CPU/Cosmos.IL2CPU.csproj
+++ b/source/Cosmos.IL2CPU/Cosmos.IL2CPU.csproj
@@ -6,6 +6,10 @@
True
..\..\Cosmos.snk
+
+
+ call "$(SolutionDir)UpdateBinCache.bat"Â "$(TargetPath)" $(TargetFileName)
+
diff --git a/source/Cosmos.System/Cosmos.System.csproj b/source/Cosmos.System/Cosmos.System.csproj
index 1b558e01f..542e99938 100644
--- a/source/Cosmos.System/Cosmos.System.csproj
+++ b/source/Cosmos.System/Cosmos.System.csproj
@@ -1,28 +1,32 @@

-
- netstandard1.5
- True
- ..\..\Cosmos.snk
- Cosmos
- Cosmos
-
+
+ netstandard1.5
+ True
+ ..\..\Cosmos.snk
+ Cosmos
+ Cosmos
+
+
+
+ call "$(SolutionDir)UpdateBinCache.bat"Â "$(TargetPath)" $(TargetFileName)
+
-
-
-
-
+
+
+
+
-
-
- ..\..\Build\bin\Cosmos.Debug.Kernel.dll
-
-
- ..\..\Build\bin\Cosmos.IL2CPU.dll
-
-
- ..\..\Build\bin\Cosmos.IL2CPU.Plugs.dll
-
-
+
+
+ ..\..\Build\bin\Cosmos.Debug.Kernel.dll
+
+
+ ..\..\Build\bin\Cosmos.IL2CPU.dll
+
+
+ ..\..\Build\bin\Cosmos.IL2CPU.Plugs.dll
+
+
diff --git a/source/XSharp.Common/XSharp.Common.csproj b/source/XSharp.Common/XSharp.Common.csproj
index a65852720..a1d484306 100644
--- a/source/XSharp.Common/XSharp.Common.csproj
+++ b/source/XSharp.Common/XSharp.Common.csproj
@@ -1,13 +1,17 @@

-
- netstandard1.5
- True
- ..\..\Cosmos.snk
-
+
+ netstandard1.5
+ True
+ ..\..\Cosmos.snk
+
+
+
+ call "$(SolutionDir)UpdateBinCache.bat"Â "$(TargetPath)" $(TargetFileName)
+
-
-
-
+
+
+