diff --git a/Tests/Cosmos.TestRunner.Full/DefaultEngineConfiguration.cs b/Tests/Cosmos.TestRunner.Full/DefaultEngineConfiguration.cs index f19b220a2..2929271fe 100644 --- a/Tests/Cosmos.TestRunner.Full/DefaultEngineConfiguration.cs +++ b/Tests/Cosmos.TestRunner.Full/DefaultEngineConfiguration.cs @@ -14,8 +14,8 @@ namespace Cosmos.TestRunner.Full { get { - //yield return RunTargetEnum.Bochs; - yield return RunTargetEnum.VMware; + yield return RunTargetEnum.Bochs; + //yield return RunTargetEnum.VMware; //yield return RunTargetEnum.HyperV; //yield return RunTargetEnum.Qemu; } @@ -24,7 +24,7 @@ namespace Cosmos.TestRunner.Full public virtual bool RunWithGDB => false; public virtual bool StartBochsDebugGUI => false; - public virtual bool DebugIL2CPU => false; + public virtual bool DebugIL2CPU => true; public virtual string KernelPkg => String.Empty; public virtual TraceAssemblies TraceAssembliesLevel => TraceAssemblies.User; public virtual bool EnableStackCorruptionChecks => true; diff --git a/Tests/Kernels/Cosmos.Compiler.Tests.Bcl/Cosmos.Compiler.Tests.Bcl.csproj b/Tests/Kernels/Cosmos.Compiler.Tests.Bcl/Cosmos.Compiler.Tests.Bcl.csproj index 5a787e46e..830c75886 100644 --- a/Tests/Kernels/Cosmos.Compiler.Tests.Bcl/Cosmos.Compiler.Tests.Bcl.csproj +++ b/Tests/Kernels/Cosmos.Compiler.Tests.Bcl/Cosmos.Compiler.Tests.Bcl.csproj @@ -2,6 +2,8 @@ net5.0 + cosmos + false True CA2242;$(NoWarn) diff --git a/source/Cosmos.Core_Plugs/Cosmos.Core_Plugs.csproj b/source/Cosmos.Core_Plugs/Cosmos.Core_Plugs.csproj index 8c9f12266..02a29545a 100644 --- a/source/Cosmos.Core_Plugs/Cosmos.Core_Plugs.csproj +++ b/source/Cosmos.Core_Plugs/Cosmos.Core_Plugs.csproj @@ -14,4 +14,8 @@ + + + + diff --git a/source/Cosmos.Core_Plugs/Interop/GlobalizationImpl.cs b/source/Cosmos.Core_Plugs/Interop/GlobalizationImpl.cs new file mode 100644 index 000000000..106841acb --- /dev/null +++ b/source/Cosmos.Core_Plugs/Interop/GlobalizationImpl.cs @@ -0,0 +1,46 @@ +using System; +using IL2CPU.API.Attribs; +using System.Globalization; + +namespace Cosmos.Core_Plugs.Interop +{ + [Plug("Interop+Globalization, System.Private.CoreLib")] + + class GlobalizationImpl + { + [PlugMethod(Signature = "System_Int32__Interop_Globalization_LoadICU__")] + public static int LoadICU() + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_Void__Interop_Globalization_ChangeCase_System_Char___System_Int32__System_Char___System_Int32__System_Boolean_")] + public static unsafe void ChangeCase(char* aChar, int aInt, char* aChar2, int aInt2, bool Bool) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_Void__Interop_Globalization_ChangeCaseTurkish_System_Char___System_Int32__System_Char___System_Int32__System_Boolean_")] + public static unsafe void ChangeCaseTurkish(char* aChar, int aInt, char* aChar2, int aInt2, bool Bool) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_Void__Interop_Globalization_ChangeCaseInvariant_System_Char___System_Int32__System_Char___System_Int32__System_Boolean_")] + public static unsafe void ChangeCaseInvariant(char* aChar, int aInt, char* aChar2, int aInt2, bool Bool) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_Void__Interop_Globalization_InitOrdinalCasingPage_System_Int32__System_Char__")] + public static void InitOrdinalCasingPage() + { + throw new NotImplementedException(); + } + + public static void InitICUFunctions(IntPtr aPtr1, IntPtr aPtr2, string aString1, string aString2) + { + throw new NotImplementedException(); + } + public static unsafe int CompareString(IntPtr aIntPtr, char* aChar, int aInt, char* aChar1, int aInt2, CompareOptions aCompareOptions) + { + throw new NotImplementedException(); + } + } +} diff --git a/source/Cosmos.Core_Plugs/Interop/InteropImpl.cs b/source/Cosmos.Core_Plugs/Interop/InteropImpl.cs new file mode 100644 index 000000000..775ba2eaf --- /dev/null +++ b/source/Cosmos.Core_Plugs/Interop/InteropImpl.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using IL2CPU.API.Attribs; + +namespace Cosmos.Core_Plugs.Interop +{ + [Plug("Interop, System.Private.CoreLib")] + class InteropImpl + { + public static unsafe void GetRandomBytes(byte* aBuffer, int aLength) + { + throw new NotImplementedException(); + } + } +} diff --git a/source/Cosmos.Core_Plugs/Interop/Kernel32Impl.cs b/source/Cosmos.Core_Plugs/Interop/Kernel32Impl.cs new file mode 100644 index 000000000..997b49f73 --- /dev/null +++ b/source/Cosmos.Core_Plugs/Interop/Kernel32Impl.cs @@ -0,0 +1,51 @@ +using IL2CPU.API.Attribs; +using System; +namespace Cosmos.Core_Plugs.Interop +{ + [Plug("Interop+Kernel32, System.Private.CoreLib")] + class Kernel32Impl + { + [PlugMethod(Signature = "System_Int32__Interop_Kernel32_LCMapStringEx_System_String__System_UInt32__System_Char___System_Int32__System_Void___System_Int32__System_Void___System_Void___System_IntPtr_")] + public static unsafe int LCMapStringEx(string aString, uint aUint, char* aChar, int aInt, object aObject, int aInt2, object aObject2, + object aObject3, IntPtr aIntPtr) + { + throw new NotImplementedException(); + } + + [PlugMethod(Signature = "System_Int32__Interop_Kernel32_CompareStringOrdinal_System_Char___System_Int32__System_Char___System_Int32__System_Boolean_")] + public static unsafe int CompareStringOrdinal(char* aStrA, int aLengthA, char* aStrB, int aLengthB, bool aIgnoreCase) + { + if (aIgnoreCase) + { + throw new NotImplementedException(); + } + if (aLengthA < aLengthB) + { + return -1; + } + else if (aLengthA > aLengthB) + { + return 1; + } + for (int i = 0; i < aLengthA; i++) + { + if (aStrA[i] < aStrB[i]) + { + return -1; + } + else if (aStrA[i] < aStrB[i]) + { + return 1; + } + } + return 0; + } + + [PlugMethod(Signature = "System_Int32__Interop_Kernel32_CompareStringEx_System_Char___System_UInt32__System_Char___System_Int32__System_Char___System_Int32__System_Void___System_Void___System_IntPtr_")] + public static unsafe int CompareStringEx(char* aChar, uint aUint, char* aChar1, int aInt, char* aChar2, int aInt2, object aObject, + object aObject1, IntPtr aIntPtr) + { + throw new NotImplementedException(); + } + } +} diff --git a/source/Cosmos.Core_Plugs/Runtime/Intrinsics/X86/Sse2Impl.cs b/source/Cosmos.Core_Plugs/Runtime/Intrinsics/X86/Sse2Impl.cs new file mode 100644 index 000000000..bd8077d54 --- /dev/null +++ b/source/Cosmos.Core_Plugs/Runtime/Intrinsics/X86/Sse2Impl.cs @@ -0,0 +1,13 @@ +using IL2CPU.API.Attribs; + +namespace Cosmos.Core_Plugs.Runtime.Intrinsics.X86 +{ + [Plug("System.Runtime.Intrinsics.X86.Sse2+X64", "System.Private.CoreLib")] + class X86Impl + { + public static bool get_IsSupported() + { + return false; + } + } +} diff --git a/source/Cosmos.Core_Plugs/System/BufferImpl.cs b/source/Cosmos.Core_Plugs/System/BufferImpl.cs index af4c0778e..483ca57f0 100644 --- a/source/Cosmos.Core_Plugs/System/BufferImpl.cs +++ b/source/Cosmos.Core_Plugs/System/BufferImpl.cs @@ -15,7 +15,7 @@ namespace Cosmos.Core_Plugs.System /// Destination address to copy data into. /// Source address from where copy data. /// Count of bytes to copy. - [PlugMethod(IsOptional = true)] + [PlugMethod(IsOptional = true, Signature = "System_Void__System_Buffer___Memmove_System_Byte___System_Byte___System_UIntPtr_")] public static unsafe void __Memmove(byte* dest, byte* src, uint count) { uint t; @@ -153,5 +153,20 @@ namespace Cosmos.Core_Plugs.System { Buffer.BlockCopy(src, srcOffset, dst, dstOffset, count); } + + [PlugMethod(Signature = "System_Void__System_Buffer___BulkMoveWithWriteBarrier__System_Byte___System_Byte__System_UIntPtr_")] + public static unsafe void __BulkMoveWithWriteBarrier(ref byte destination, ref byte source, uint byteCount) + { + fixed (byte* srcPtr = &source) + fixed (byte* dstPtr = &destination) + { + for (int i = 0; i < byteCount; i++) + { + dstPtr[i] = srcPtr[i]; + } + } + + // Unsafe.CopyBlock(ref destination, ref source, byteCount); + } } } diff --git a/source/Cosmos.Core_Plugs/System/EnvironmentImpl.cs b/source/Cosmos.Core_Plugs/System/EnvironmentImpl.cs index ee75e7e56..5460404bc 100644 --- a/source/Cosmos.Core_Plugs/System/EnvironmentImpl.cs +++ b/source/Cosmos.Core_Plugs/System/EnvironmentImpl.cs @@ -18,6 +18,11 @@ namespace Cosmos.Core_Plugs.System public static int get_ProcessorCount() => 1; public static string GetEnvironmentVariable(string variable) => null; + + public static void FailFast(string aString) + { + throw new NotImplementedException(); + } } // System.Runtime.Extensions, public diff --git a/source/Cosmos.Core_Plugs/System/GCImpl.cs b/source/Cosmos.Core_Plugs/System/GCImpl.cs index 1fc4b38b4..b9b46e5ac 100644 --- a/source/Cosmos.Core_Plugs/System/GCImpl.cs +++ b/source/Cosmos.Core_Plugs/System/GCImpl.cs @@ -9,5 +9,11 @@ namespace Cosmos.Core_Plugs.System public static void _SuppressFinalize(object o) { // not implemented yet } + + [PlugMethod(Signature = "System_Array__System_GC_AllocateNewArray_System_IntPtr__System_Int32__System_GC_GC_ALLOC_FLAGS_")] + public static unsafe Array AllocateNewArray(int* aTypeHandle, int aLength, uint aGCFlags) + { + throw new NotImplementedException(); + } } } diff --git a/source/Cosmos.Core_Plugs/System/Globalization/OrdinalImpl.cs b/source/Cosmos.Core_Plugs/System/Globalization/OrdinalImpl.cs new file mode 100644 index 000000000..88e663c99 --- /dev/null +++ b/source/Cosmos.Core_Plugs/System/Globalization/OrdinalImpl.cs @@ -0,0 +1,31 @@ +using IL2CPU.API.Attribs; + +namespace Cosmos.Core_Plugs.System.Globalization +{ + class OrdinalImpl + { + [PlugMethod(IsOptional =false, PlugRequired =true)] + public static unsafe int CompareStringIgnoreCaseNonAscii(char* aStrA, int aLengthA, char* aStrB, int aLengthB) + { + if(aLengthA < aLengthB) + { + return -1; + } else if(aLengthA > aLengthB) + { + return 1; + } + for (int i = 0; i < aLengthA; i++) + { + if(aStrA[i] < aStrB[i]) + { + return -1; + } + else if(aStrA[i] < aStrB[i]) + { + return 1; + } + } + return 0; + } + } +} diff --git a/source/Cosmos.Core_Plugs/System/Reflection/MetadataImportImpl.cs b/source/Cosmos.Core_Plugs/System/Reflection/MetadataImportImpl.cs new file mode 100644 index 000000000..a9adf157f --- /dev/null +++ b/source/Cosmos.Core_Plugs/System/Reflection/MetadataImportImpl.cs @@ -0,0 +1,16 @@ +using System; +using IL2CPU.API.Attribs; + +namespace Cosmos.Core_Plugs.System.Reflection +{ + [Plug("System.Reflection.MetadataImport, System.Private.CoreLib")] + + class MetadataImportImpl + { + [PlugMethod(Signature= "System_Void__System_Reflection_MetadataImport__GetGenericParamProps_System_IntPtr__System_Int32___System_Int32_")] + public static unsafe void __GetGenericParamProps(IntPtr aPtr1, int aInt, int* aPtr2) + { + + } + } +} diff --git a/source/Cosmos.Core_Plugs/System/Reflection/RuntimeAssemblyImpl.cs b/source/Cosmos.Core_Plugs/System/Reflection/RuntimeAssemblyImpl.cs new file mode 100644 index 000000000..a1c96592c --- /dev/null +++ b/source/Cosmos.Core_Plugs/System/Reflection/RuntimeAssemblyImpl.cs @@ -0,0 +1,15 @@ +using System; +using IL2CPU.API.Attribs; + +namespace Cosmos.Core_Plugs.System.Reflection +{ + [Plug("System.Reflection.RuntimeAssembly, System.Private.CoreLib")] + class RuntimeAssemblyImpl + { + [PlugMethod(Signature = "System_Void__System_Reflection_RuntimeAssembly_GetFullName_System_Runtime_CompilerServices_QCallAssembly__System_Runtime_CompilerServices_StringHandleOnStack_")] + public static void GetFullName(object aQCallAssembly, object aStringHandleOnStack) + { + throw new NotImplementedException(); + } + } +} diff --git a/source/Cosmos.Core_Plugs/System/Runtime/InteropServices/NativeLibraryImpl.cs b/source/Cosmos.Core_Plugs/System/Runtime/InteropServices/NativeLibraryImpl.cs new file mode 100644 index 000000000..95552cb2f --- /dev/null +++ b/source/Cosmos.Core_Plugs/System/Runtime/InteropServices/NativeLibraryImpl.cs @@ -0,0 +1,15 @@ +using IL2CPU.API.Attribs; +using System; + +namespace Cosmos.Core_Plugs.System.Runtime.InteropServices +{ + [Plug("System.Runtime.InteropServices.NativeLibrary, System.Private.CoreLib")] + class NativeLibraryImpl + { + [PlugMethod(Signature = "System_IntPtr__System_Runtime_InteropServices_NativeLibrary_LoadByName_System_String__System_Runtime_CompilerServices_QCallAssembly__System_Boolean__System_UInt32__System_Boolean_")] + public static IntPtr LoadByName(string aString, object aQCallAssembly, bool aBool, uint aUint, bool aBool2) + { + throw new NotImplementedException(); + } + } +} diff --git a/source/Cosmos.Core_Plugs/System/Runtime/RuntimeImportsImpl.cs b/source/Cosmos.Core_Plugs/System/Runtime/RuntimeImportsImpl.cs deleted file mode 100644 index 87bc19854..000000000 --- a/source/Cosmos.Core_Plugs/System/Runtime/RuntimeImportsImpl.cs +++ /dev/null @@ -1,24 +0,0 @@ -using IL2CPU.API.Attribs; - -namespace Cosmos.Core_Plugs.System.Runtime -{ - // Not needed in .net5.0 - //[Plug("System.Runtime.RuntimeImports, System.Private.CoreLib")] - //public static class RuntimeImportsImpl - //{ - // public static unsafe void RhBulkMoveWithWriteBarrier( - // ref byte destination, ref byte source, uint byteCount) - // { - // fixed (byte* srcPtr = &source) - // fixed (byte* dstPtr = &destination) - // { - // for (int i = 0; i < byteCount; i++) - // { - // dstPtr[i] = srcPtr[i]; - // } - // } - - // // Unsafe.CopyBlock(ref destination, ref source, byteCount); - // } - //} -} diff --git a/source/Cosmos.Core_Plugs/System/RuntimeTypeHandle.cs b/source/Cosmos.Core_Plugs/System/RuntimeTypeHandle.cs index baef034be..0e056d1e6 100644 --- a/source/Cosmos.Core_Plugs/System/RuntimeTypeHandle.cs +++ b/source/Cosmos.Core_Plugs/System/RuntimeTypeHandle.cs @@ -9,7 +9,82 @@ namespace Cosmos.Core_Plugs.System public static unsafe void Ctor(RuntimeTypeHandle aThis, void* aValue) { } + [PlugMethod(Signature = "System_Boolean__System_RuntimeTypeHandle_HasInstantiation_System_RuntimeType_")] + public static bool HasInstantiation(object aRuntimeType) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_Boolean__System_RuntimeTypeHandle_ContainsGenericVariables_System_RuntimeType_")] + public static bool ContainsGenericVariables(object aRuntimeType) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_Boolean__System_RuntimeTypeHandle_IsGenericVariable_System_RuntimeType_")] + public static bool IsGenericVariable(object aRuntimeType) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_Boolean__System_RuntimeTypeHandle_IsGenericTypeDefinition_System_RuntimeType_")] + public static bool IsGenericTypeDefinition(object aRuntimeType) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_RuntimeType__System_RuntimeTypeHandle_GetElementType_System_RuntimeType_")] + public static object GetElementType(object aRuntimeType) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_Int32__System_RuntimeTypeHandle_GetToken_System_RuntimeType_")] + public static int GetToken(object aRuntimeType) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_RuntimeType__System_RuntimeTypeHandle_GetBaseType_System_RuntimeType_")] + public static object GetBaseType(object aRuntimeType) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_Boolean__System_RuntimeTypeHandle_IsInterface_System_RuntimeType_")] + public static bool IsInterface(object aRuntimeType) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_Reflection_TypeAttributes__System_RuntimeTypeHandle_GetAttributes_System_RuntimeType_")] + public static object GetAttributes(object aRuntimeType) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_IntPtr__System_RuntimeTypeHandle__GetMetadataImport_System_RuntimeType_")] + public static IntPtr _GetMetadataImport(object aRuntimeType) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_Reflection_CorElementType__System_RuntimeTypeHandle_GetCorElementType_System_RuntimeType_")] + public static object GetCorElementType(object aRuntimeType) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_Reflection_RuntimeAssembly__System_RuntimeTypeHandle_GetAssembly_System_RuntimeType_")] + public static object GetAssembly(object aRuntimeType) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_Void__System_RuntimeTypeHandle_GetConstraints_System_Runtime_CompilerServices_QCallTypeHandle__System_Runtime_CompilerServices_ObjectHandleOnStack_")] + public static void GetConstraints(object aQCallTypeHandle, object aObjectHandleOnStack) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_Void__System_RuntimeTypeHandle_ConstructName_System_Runtime_CompilerServices_QCallTypeHandle__System_TypeNameFormatFlags__System_Runtime_CompilerServices_StringHandleOnStack_")] + public static void GetConstraints(object aQCallTypeHandle, object aTypeNameFormatFlags, object aObjectHandleOnStack) + { + throw new NotImplementedException(); + } + [PlugMethod(Signature = "System_Void__System_RuntimeTypeHandle_GetInstantiation_System_Runtime_CompilerServices_QCallTypeHandle__System_Runtime_CompilerServices_ObjectHandleOnStack__Interop_BOOL_")] + public static void GetInstantiation(object aQCallTypeHandle, object aObjectHandleOnStack, object aInteropBool) + { + throw new NotImplementedException(); + } public static void Cctor() { // diff --git a/source/Cosmos.Core_Plugs/System/RuntimeType.cs b/source/Cosmos.Core_Plugs/System/RuntimeTypeImpl.cs similarity index 87% rename from source/Cosmos.Core_Plugs/System/RuntimeType.cs rename to source/Cosmos.Core_Plugs/System/RuntimeTypeImpl.cs index f9ea69cbd..bdac2e21d 100644 --- a/source/Cosmos.Core_Plugs/System/RuntimeType.cs +++ b/source/Cosmos.Core_Plugs/System/RuntimeTypeImpl.cs @@ -5,10 +5,10 @@ using IL2CPU.API.Attribs; namespace Cosmos.Core_Plugs.System { [Plug("System.RuntimeType, System.Private.CoreLib")] - public static class RuntimeType + public static class RuntimeTypeImpl { [PlugMethod(Signature = "System_RuntimeType_RuntimeTypeCache__System_RuntimeType_get_Cache__")] - public static IntPtr Cache_Get(IntPtr aThis) + public static IntPtr get_Cache(object aThis) { throw new NotSupportedException("Reflection not supported"); } diff --git a/source/Cosmos.Core_Plugs/System/TypeImpl.cs b/source/Cosmos.Core_Plugs/System/TypeImpl.cs index e0f7da336..7e539c798 100644 --- a/source/Cosmos.Core_Plugs/System/TypeImpl.cs +++ b/source/Cosmos.Core_Plugs/System/TypeImpl.cs @@ -35,5 +35,11 @@ namespace Cosmos.Core_Plugs.System return aLeft.mTypeId != aRight.mTypeId; } + + [PlugMethod(Signature ="System_Type__System_Type_get_BaseType", IsOptional = false)] + public static Type get_BaseType(Type aThis) + { + return typeof(object); + } } } diff --git a/source/Cosmos.System2_Plugs/System/DateTimeImpl.cs b/source/Cosmos.System2_Plugs/System/DateTimeImpl.cs index f376c96aa..87a373e3b 100644 --- a/source/Cosmos.System2_Plugs/System/DateTimeImpl.cs +++ b/source/Cosmos.System2_Plugs/System/DateTimeImpl.cs @@ -60,5 +60,10 @@ namespace Cosmos.System_Plugs.System { return aThis.ToShortDateString() + " " + aThis.ToLongTimeString(); } + + public static bool SystemSupportsLeapSeconds() + { + return false; + } } } diff --git a/source/Cosmos.System2_Plugs/System/HashCodeImpl.cs b/source/Cosmos.System2_Plugs/System/HashCodeImpl.cs new file mode 100644 index 000000000..bd7dab5f4 --- /dev/null +++ b/source/Cosmos.System2_Plugs/System/HashCodeImpl.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using IL2CPU.API.Attribs; + +namespace Cosmos.System_Plugs.System +{ + [Plug(typeof(HashCode))] + class HashCodeImpl + { + public static uint GenerateGlobalSeed() + { + return 0; + } + } +} diff --git a/source/Cosmos.VS.ProjectSystem/ProjectTemplates/CSharp/Cosmos/Cosmos Kernel/CSharpProject.csproj b/source/Cosmos.VS.ProjectSystem/ProjectTemplates/CSharp/Cosmos/Cosmos Kernel/CSharpProject.csproj index d0e9249e5..edd93acfb 100644 --- a/source/Cosmos.VS.ProjectSystem/ProjectTemplates/CSharp/Cosmos/Cosmos Kernel/CSharpProject.csproj +++ b/source/Cosmos.VS.ProjectSystem/ProjectTemplates/CSharp/Cosmos/Cosmos Kernel/CSharpProject.csproj @@ -3,6 +3,8 @@ net5.0 cosmos + cosmos + false True diff --git a/source/Cosmos.VS.ProjectSystem/ProjectTemplates/FSharp/Cosmos/Cosmos Kernel/FSharpProject.fsproj b/source/Cosmos.VS.ProjectSystem/ProjectTemplates/FSharp/Cosmos/Cosmos Kernel/FSharpProject.fsproj index 37d162c71..a02de16d7 100644 --- a/source/Cosmos.VS.ProjectSystem/ProjectTemplates/FSharp/Cosmos/Cosmos Kernel/FSharpProject.fsproj +++ b/source/Cosmos.VS.ProjectSystem/ProjectTemplates/FSharp/Cosmos/Cosmos Kernel/FSharpProject.fsproj @@ -3,6 +3,8 @@ net5.0 cosmos + cosmos + false True diff --git a/source/Cosmos.VS.ProjectSystem/ProjectTemplates/VisualBasic/Cosmos/Cosmos Kernel/VisualBasicProject.vbproj b/source/Cosmos.VS.ProjectSystem/ProjectTemplates/VisualBasic/Cosmos/Cosmos Kernel/VisualBasicProject.vbproj index d0e9249e5..edd93acfb 100644 --- a/source/Cosmos.VS.ProjectSystem/ProjectTemplates/VisualBasic/Cosmos/Cosmos Kernel/VisualBasicProject.vbproj +++ b/source/Cosmos.VS.ProjectSystem/ProjectTemplates/VisualBasic/Cosmos/Cosmos Kernel/VisualBasicProject.vbproj @@ -3,6 +3,8 @@ net5.0 cosmos + cosmos + false True