summaryrefslogtreecommitdiff
path: root/modules/mono
diff options
context:
space:
mode:
Diffstat (limited to 'modules/mono')
-rw-r--r--modules/mono/SCsub2
-rw-r--r--modules/mono/csharp_script.cpp4
-rw-r--r--modules/mono/csharp_script.h4
-rw-r--r--modules/mono/glue/Managed/Files/AABB.cs (renamed from modules/mono/glue/cs_files/AABB.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Array.cs (renamed from modules/mono/glue/cs_files/Array.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Attributes/ExportAttribute.cs (renamed from modules/mono/glue/cs_files/Attributes/ExportAttribute.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Attributes/GodotMethodAttribute.cs (renamed from modules/mono/glue/cs_files/Attributes/GodotMethodAttribute.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Attributes/RPCAttributes.cs (renamed from modules/mono/glue/cs_files/Attributes/RPCAttributes.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Attributes/SignalAttribute.cs (renamed from modules/mono/glue/cs_files/Attributes/SignalAttribute.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Attributes/ToolAttribute.cs (renamed from modules/mono/glue/cs_files/Attributes/ToolAttribute.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Basis.cs (renamed from modules/mono/glue/cs_files/Basis.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Color.cs (renamed from modules/mono/glue/cs_files/Color.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/DebuggingUtils.cs (renamed from modules/mono/glue/cs_files/DebuggingUtils.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Dictionary.cs (renamed from modules/mono/glue/cs_files/Dictionary.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Extensions/NodeExtensions.cs (renamed from modules/mono/glue/cs_files/Extensions/NodeExtensions.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Extensions/ObjectExtensions.cs (renamed from modules/mono/glue/cs_files/Extensions/ObjectExtensions.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Extensions/ResourceLoaderExtensions.cs (renamed from modules/mono/glue/cs_files/Extensions/ResourceLoaderExtensions.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/GD.cs (renamed from modules/mono/glue/cs_files/GD.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/GodotSynchronizationContext.cs (renamed from modules/mono/glue/cs_files/GodotSynchronizationContext.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/GodotTaskScheduler.cs (renamed from modules/mono/glue/cs_files/GodotTaskScheduler.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Interfaces/IAwaitable.cs (renamed from modules/mono/glue/cs_files/Interfaces/IAwaitable.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Interfaces/IAwaiter.cs (renamed from modules/mono/glue/cs_files/Interfaces/IAwaiter.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/MarshalUtils.cs (renamed from modules/mono/glue/cs_files/MarshalUtils.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Mathf.cs (renamed from modules/mono/glue/cs_files/Mathf.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/MathfEx.cs (renamed from modules/mono/glue/cs_files/MathfEx.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/NodePath.cs (renamed from modules/mono/glue/cs_files/NodePath.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Object.base.cs (renamed from modules/mono/glue/cs_files/Object.base.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Plane.cs (renamed from modules/mono/glue/cs_files/Plane.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Quat.cs (renamed from modules/mono/glue/cs_files/Quat.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/RID.cs (renamed from modules/mono/glue/cs_files/RID.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Rect2.cs (renamed from modules/mono/glue/cs_files/Rect2.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/SignalAwaiter.cs (renamed from modules/mono/glue/cs_files/SignalAwaiter.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/StringExtensions.cs (renamed from modules/mono/glue/cs_files/StringExtensions.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Transform.cs (renamed from modules/mono/glue/cs_files/Transform.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Transform2D.cs (renamed from modules/mono/glue/cs_files/Transform2D.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Vector2.cs (renamed from modules/mono/glue/cs_files/Vector2.cs)0
-rw-r--r--modules/mono/glue/Managed/Files/Vector3.cs (renamed from modules/mono/glue/cs_files/Vector3.cs)0
-rw-r--r--modules/mono/glue/Managed/IgnoredFiles/Enums.cs21
-rw-r--r--modules/mono/glue/Managed/IgnoredFiles/FuncRef.cs17
-rw-r--r--modules/mono/glue/Managed/IgnoredFiles/Node.cs28
-rw-r--r--modules/mono/glue/Managed/IgnoredFiles/Resource.cs7
-rw-r--r--modules/mono/glue/Managed/IgnoredFiles/ResourceLoader.cs12
-rw-r--r--modules/mono/glue/Managed/IgnoredFiles/WeakRef.cs7
-rw-r--r--modules/mono/glue/Managed/Managed.csproj40
-rw-r--r--modules/mono/glue/Managed/Managed.sln17
-rw-r--r--modules/mono/glue/Managed/Properties/AssemblyInfo.cs26
-rw-r--r--modules/mono/glue/Managed/README.md5
47 files changed, 185 insertions, 5 deletions
diff --git a/modules/mono/SCsub b/modules/mono/SCsub
index a8e19db022..b3a2d26e4a 100644
--- a/modules/mono/SCsub
+++ b/modules/mono/SCsub
@@ -77,7 +77,7 @@ env_mono.add_source_files(env.modules_sources, 'utils/*.cpp')
if env['tools']:
env_mono.add_source_files(env.modules_sources, 'editor/*.cpp')
# NOTE: It is safe to generate this file here, since this is still executed serially
- make_cs_files_header('glue/cs_files', 'glue/cs_compressed.gen.h', 'glue/cs_glue_version.gen.h')
+ make_cs_files_header('glue/Managed/Files', 'glue/cs_compressed.gen.h', 'glue/cs_glue_version.gen.h')
vars = Variables()
vars.Add(BoolVariable('mono_glue', 'Build with the mono glue sources', True))
diff --git a/modules/mono/csharp_script.cpp b/modules/mono/csharp_script.cpp
index ec7d700bca..b9209fce92 100644
--- a/modules/mono/csharp_script.cpp
+++ b/modules/mono/csharp_script.cpp
@@ -1456,7 +1456,7 @@ MonoObject *CSharpInstance::_internal_new_managed() {
return mono_object;
}
-bool CSharpInstance::mono_object_disposed(MonoObject *p_obj) {
+void CSharpInstance::mono_object_disposed(MonoObject *p_obj) {
#ifdef DEBUG_ENABLED
CRASH_COND(base_ref == true);
@@ -1465,7 +1465,7 @@ bool CSharpInstance::mono_object_disposed(MonoObject *p_obj) {
CSharpLanguage::get_singleton()->release_script_gchandle(p_obj, gchandle);
}
-bool CSharpInstance::mono_object_disposed_baseref(MonoObject *p_obj, bool p_is_finalizer, bool &r_owner_deleted) {
+void CSharpInstance::mono_object_disposed_baseref(MonoObject *p_obj, bool p_is_finalizer, bool &r_owner_deleted) {
#ifdef DEBUG_ENABLED
CRASH_COND(base_ref == false);
diff --git a/modules/mono/csharp_script.h b/modules/mono/csharp_script.h
index fa399bb187..8b0a095890 100644
--- a/modules/mono/csharp_script.h
+++ b/modules/mono/csharp_script.h
@@ -215,8 +215,8 @@ public:
virtual void call_multilevel(const StringName &p_method, const Variant **p_args, int p_argcount);
virtual void call_multilevel_reversed(const StringName &p_method, const Variant **p_args, int p_argcount);
- bool mono_object_disposed(MonoObject *p_obj);
- bool mono_object_disposed_baseref(MonoObject *p_obj, bool p_is_finalizer, bool &r_owner_deleted);
+ void mono_object_disposed(MonoObject *p_obj);
+ void mono_object_disposed_baseref(MonoObject *p_obj, bool p_is_finalizer, bool &r_owner_deleted);
virtual void refcount_incremented();
virtual bool refcount_decremented();
diff --git a/modules/mono/glue/cs_files/AABB.cs b/modules/mono/glue/Managed/Files/AABB.cs
index 66490b5e25..66490b5e25 100644
--- a/modules/mono/glue/cs_files/AABB.cs
+++ b/modules/mono/glue/Managed/Files/AABB.cs
diff --git a/modules/mono/glue/cs_files/Array.cs b/modules/mono/glue/Managed/Files/Array.cs
index c80cb7cc83..c80cb7cc83 100644
--- a/modules/mono/glue/cs_files/Array.cs
+++ b/modules/mono/glue/Managed/Files/Array.cs
diff --git a/modules/mono/glue/cs_files/Attributes/ExportAttribute.cs b/modules/mono/glue/Managed/Files/Attributes/ExportAttribute.cs
index 6adf044886..6adf044886 100644
--- a/modules/mono/glue/cs_files/Attributes/ExportAttribute.cs
+++ b/modules/mono/glue/Managed/Files/Attributes/ExportAttribute.cs
diff --git a/modules/mono/glue/cs_files/Attributes/GodotMethodAttribute.cs b/modules/mono/glue/Managed/Files/Attributes/GodotMethodAttribute.cs
index 55848769d5..55848769d5 100644
--- a/modules/mono/glue/cs_files/Attributes/GodotMethodAttribute.cs
+++ b/modules/mono/glue/Managed/Files/Attributes/GodotMethodAttribute.cs
diff --git a/modules/mono/glue/cs_files/Attributes/RPCAttributes.cs b/modules/mono/glue/Managed/Files/Attributes/RPCAttributes.cs
index 6bf9560bfa..6bf9560bfa 100644
--- a/modules/mono/glue/cs_files/Attributes/RPCAttributes.cs
+++ b/modules/mono/glue/Managed/Files/Attributes/RPCAttributes.cs
diff --git a/modules/mono/glue/cs_files/Attributes/SignalAttribute.cs b/modules/mono/glue/Managed/Files/Attributes/SignalAttribute.cs
index 3957387be9..3957387be9 100644
--- a/modules/mono/glue/cs_files/Attributes/SignalAttribute.cs
+++ b/modules/mono/glue/Managed/Files/Attributes/SignalAttribute.cs
diff --git a/modules/mono/glue/cs_files/Attributes/ToolAttribute.cs b/modules/mono/glue/Managed/Files/Attributes/ToolAttribute.cs
index d0437409af..d0437409af 100644
--- a/modules/mono/glue/cs_files/Attributes/ToolAttribute.cs
+++ b/modules/mono/glue/Managed/Files/Attributes/ToolAttribute.cs
diff --git a/modules/mono/glue/cs_files/Basis.cs b/modules/mono/glue/Managed/Files/Basis.cs
index ec96a9e2fa..ec96a9e2fa 100644
--- a/modules/mono/glue/cs_files/Basis.cs
+++ b/modules/mono/glue/Managed/Files/Basis.cs
diff --git a/modules/mono/glue/cs_files/Color.cs b/modules/mono/glue/Managed/Files/Color.cs
index 88cb8524b8..88cb8524b8 100644
--- a/modules/mono/glue/cs_files/Color.cs
+++ b/modules/mono/glue/Managed/Files/Color.cs
diff --git a/modules/mono/glue/cs_files/DebuggingUtils.cs b/modules/mono/glue/Managed/Files/DebuggingUtils.cs
index b27816084e..b27816084e 100644
--- a/modules/mono/glue/cs_files/DebuggingUtils.cs
+++ b/modules/mono/glue/Managed/Files/DebuggingUtils.cs
diff --git a/modules/mono/glue/cs_files/Dictionary.cs b/modules/mono/glue/Managed/Files/Dictionary.cs
index 523e48c31a..523e48c31a 100644
--- a/modules/mono/glue/cs_files/Dictionary.cs
+++ b/modules/mono/glue/Managed/Files/Dictionary.cs
diff --git a/modules/mono/glue/cs_files/Extensions/NodeExtensions.cs b/modules/mono/glue/Managed/Files/Extensions/NodeExtensions.cs
index 71534d7782..71534d7782 100644
--- a/modules/mono/glue/cs_files/Extensions/NodeExtensions.cs
+++ b/modules/mono/glue/Managed/Files/Extensions/NodeExtensions.cs
diff --git a/modules/mono/glue/cs_files/Extensions/ObjectExtensions.cs b/modules/mono/glue/Managed/Files/Extensions/ObjectExtensions.cs
index 9ef0959750..9ef0959750 100644
--- a/modules/mono/glue/cs_files/Extensions/ObjectExtensions.cs
+++ b/modules/mono/glue/Managed/Files/Extensions/ObjectExtensions.cs
diff --git a/modules/mono/glue/cs_files/Extensions/ResourceLoaderExtensions.cs b/modules/mono/glue/Managed/Files/Extensions/ResourceLoaderExtensions.cs
index ceecc589e6..ceecc589e6 100644
--- a/modules/mono/glue/cs_files/Extensions/ResourceLoaderExtensions.cs
+++ b/modules/mono/glue/Managed/Files/Extensions/ResourceLoaderExtensions.cs
diff --git a/modules/mono/glue/cs_files/GD.cs b/modules/mono/glue/Managed/Files/GD.cs
index 264be23588..264be23588 100644
--- a/modules/mono/glue/cs_files/GD.cs
+++ b/modules/mono/glue/Managed/Files/GD.cs
diff --git a/modules/mono/glue/cs_files/GodotSynchronizationContext.cs b/modules/mono/glue/Managed/Files/GodotSynchronizationContext.cs
index e727781d63..e727781d63 100644
--- a/modules/mono/glue/cs_files/GodotSynchronizationContext.cs
+++ b/modules/mono/glue/Managed/Files/GodotSynchronizationContext.cs
diff --git a/modules/mono/glue/cs_files/GodotTaskScheduler.cs b/modules/mono/glue/Managed/Files/GodotTaskScheduler.cs
index 9a40fef5a9..9a40fef5a9 100644
--- a/modules/mono/glue/cs_files/GodotTaskScheduler.cs
+++ b/modules/mono/glue/Managed/Files/GodotTaskScheduler.cs
diff --git a/modules/mono/glue/cs_files/Interfaces/IAwaitable.cs b/modules/mono/glue/Managed/Files/Interfaces/IAwaitable.cs
index 0397957d00..0397957d00 100644
--- a/modules/mono/glue/cs_files/Interfaces/IAwaitable.cs
+++ b/modules/mono/glue/Managed/Files/Interfaces/IAwaitable.cs
diff --git a/modules/mono/glue/cs_files/Interfaces/IAwaiter.cs b/modules/mono/glue/Managed/Files/Interfaces/IAwaiter.cs
index d3be9d781c..d3be9d781c 100644
--- a/modules/mono/glue/cs_files/Interfaces/IAwaiter.cs
+++ b/modules/mono/glue/Managed/Files/Interfaces/IAwaiter.cs
diff --git a/modules/mono/glue/cs_files/MarshalUtils.cs b/modules/mono/glue/Managed/Files/MarshalUtils.cs
index f7699a15bf..f7699a15bf 100644
--- a/modules/mono/glue/cs_files/MarshalUtils.cs
+++ b/modules/mono/glue/Managed/Files/MarshalUtils.cs
diff --git a/modules/mono/glue/cs_files/Mathf.cs b/modules/mono/glue/Managed/Files/Mathf.cs
index a89dfe5f27..a89dfe5f27 100644
--- a/modules/mono/glue/cs_files/Mathf.cs
+++ b/modules/mono/glue/Managed/Files/Mathf.cs
diff --git a/modules/mono/glue/cs_files/MathfEx.cs b/modules/mono/glue/Managed/Files/MathfEx.cs
index 739b7fb568..739b7fb568 100644
--- a/modules/mono/glue/cs_files/MathfEx.cs
+++ b/modules/mono/glue/Managed/Files/MathfEx.cs
diff --git a/modules/mono/glue/cs_files/NodePath.cs b/modules/mono/glue/Managed/Files/NodePath.cs
index 2c89bec87f..2c89bec87f 100644
--- a/modules/mono/glue/cs_files/NodePath.cs
+++ b/modules/mono/glue/Managed/Files/NodePath.cs
diff --git a/modules/mono/glue/cs_files/Object.base.cs b/modules/mono/glue/Managed/Files/Object.base.cs
index 30490a715f..30490a715f 100644
--- a/modules/mono/glue/cs_files/Object.base.cs
+++ b/modules/mono/glue/Managed/Files/Object.base.cs
diff --git a/modules/mono/glue/cs_files/Plane.cs b/modules/mono/glue/Managed/Files/Plane.cs
index 9611dce11e..9611dce11e 100644
--- a/modules/mono/glue/cs_files/Plane.cs
+++ b/modules/mono/glue/Managed/Files/Plane.cs
diff --git a/modules/mono/glue/cs_files/Quat.cs b/modules/mono/glue/Managed/Files/Quat.cs
index eaa027eb69..eaa027eb69 100644
--- a/modules/mono/glue/cs_files/Quat.cs
+++ b/modules/mono/glue/Managed/Files/Quat.cs
diff --git a/modules/mono/glue/cs_files/RID.cs b/modules/mono/glue/Managed/Files/RID.cs
index b862b8cac0..b862b8cac0 100644
--- a/modules/mono/glue/cs_files/RID.cs
+++ b/modules/mono/glue/Managed/Files/RID.cs
diff --git a/modules/mono/glue/cs_files/Rect2.cs b/modules/mono/glue/Managed/Files/Rect2.cs
index cb25c267bc..cb25c267bc 100644
--- a/modules/mono/glue/cs_files/Rect2.cs
+++ b/modules/mono/glue/Managed/Files/Rect2.cs
diff --git a/modules/mono/glue/cs_files/SignalAwaiter.cs b/modules/mono/glue/Managed/Files/SignalAwaiter.cs
index 9483b6ffb4..9483b6ffb4 100644
--- a/modules/mono/glue/cs_files/SignalAwaiter.cs
+++ b/modules/mono/glue/Managed/Files/SignalAwaiter.cs
diff --git a/modules/mono/glue/cs_files/StringExtensions.cs b/modules/mono/glue/Managed/Files/StringExtensions.cs
index 21c9be98c1..21c9be98c1 100644
--- a/modules/mono/glue/cs_files/StringExtensions.cs
+++ b/modules/mono/glue/Managed/Files/StringExtensions.cs
diff --git a/modules/mono/glue/cs_files/Transform.cs b/modules/mono/glue/Managed/Files/Transform.cs
index e432d5b52c..e432d5b52c 100644
--- a/modules/mono/glue/cs_files/Transform.cs
+++ b/modules/mono/glue/Managed/Files/Transform.cs
diff --git a/modules/mono/glue/cs_files/Transform2D.cs b/modules/mono/glue/Managed/Files/Transform2D.cs
index 8d30833066..8d30833066 100644
--- a/modules/mono/glue/cs_files/Transform2D.cs
+++ b/modules/mono/glue/Managed/Files/Transform2D.cs
diff --git a/modules/mono/glue/cs_files/Vector2.cs b/modules/mono/glue/Managed/Files/Vector2.cs
index 080b8802ba..080b8802ba 100644
--- a/modules/mono/glue/cs_files/Vector2.cs
+++ b/modules/mono/glue/Managed/Files/Vector2.cs
diff --git a/modules/mono/glue/cs_files/Vector3.cs b/modules/mono/glue/Managed/Files/Vector3.cs
index 6fffe5e4d6..6fffe5e4d6 100644
--- a/modules/mono/glue/cs_files/Vector3.cs
+++ b/modules/mono/glue/Managed/Files/Vector3.cs
diff --git a/modules/mono/glue/Managed/IgnoredFiles/Enums.cs b/modules/mono/glue/Managed/IgnoredFiles/Enums.cs
new file mode 100644
index 0000000000..05f1abcf93
--- /dev/null
+++ b/modules/mono/glue/Managed/IgnoredFiles/Enums.cs
@@ -0,0 +1,21 @@
+
+namespace Godot
+{
+ public enum Margin
+ {
+ Left = 0,
+ Top = 1,
+ Right = 2,
+ Bottom = 3
+ }
+
+ public enum Error
+ {
+ Ok = 0
+ }
+
+ public enum PropertyHint
+ {
+ None = 0
+ }
+}
diff --git a/modules/mono/glue/Managed/IgnoredFiles/FuncRef.cs b/modules/mono/glue/Managed/IgnoredFiles/FuncRef.cs
new file mode 100644
index 0000000000..83504fe49f
--- /dev/null
+++ b/modules/mono/glue/Managed/IgnoredFiles/FuncRef.cs
@@ -0,0 +1,17 @@
+using System;
+
+namespace Godot
+{
+ public partial class FuncRef
+ {
+ public void SetInstance(Object instance)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void SetFunction(string name)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/modules/mono/glue/Managed/IgnoredFiles/Node.cs b/modules/mono/glue/Managed/IgnoredFiles/Node.cs
new file mode 100644
index 0000000000..99ba0f827a
--- /dev/null
+++ b/modules/mono/glue/Managed/IgnoredFiles/Node.cs
@@ -0,0 +1,28 @@
+
+using System;
+
+namespace Godot
+{
+ public partial class Node
+ {
+ public Node GetChild(int idx)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Node GetNode(NodePath path)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Node GetOwner()
+ {
+ throw new NotImplementedException();
+ }
+
+ public Node GetParent()
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/modules/mono/glue/Managed/IgnoredFiles/Resource.cs b/modules/mono/glue/Managed/IgnoredFiles/Resource.cs
new file mode 100644
index 0000000000..cc0a5555b1
--- /dev/null
+++ b/modules/mono/glue/Managed/IgnoredFiles/Resource.cs
@@ -0,0 +1,7 @@
+namespace Godot
+{
+ public partial class Resource
+ {
+
+ }
+}
diff --git a/modules/mono/glue/Managed/IgnoredFiles/ResourceLoader.cs b/modules/mono/glue/Managed/IgnoredFiles/ResourceLoader.cs
new file mode 100644
index 0000000000..6461d35146
--- /dev/null
+++ b/modules/mono/glue/Managed/IgnoredFiles/ResourceLoader.cs
@@ -0,0 +1,12 @@
+using System;
+
+namespace Godot
+{
+ public partial class ResourceLoader
+ {
+ public static Resource Load(string path, string typeHint = "", bool pNoCache = false)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/modules/mono/glue/Managed/IgnoredFiles/WeakRef.cs b/modules/mono/glue/Managed/IgnoredFiles/WeakRef.cs
new file mode 100644
index 0000000000..1498b7836b
--- /dev/null
+++ b/modules/mono/glue/Managed/IgnoredFiles/WeakRef.cs
@@ -0,0 +1,7 @@
+namespace Godot
+{
+ public partial class WeakRef
+ {
+
+ }
+}
diff --git a/modules/mono/glue/Managed/Managed.csproj b/modules/mono/glue/Managed/Managed.csproj
new file mode 100644
index 0000000000..1f82dde5e7
--- /dev/null
+++ b/modules/mono/glue/Managed/Managed.csproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+ <ProjectGuid>{DAA3DEF8-5112-407C-A5E5-6C608CF5F955}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <RootNamespace>Managed</RootNamespace>
+ <AssemblyName>Managed</AssemblyName>
+ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug</OutputPath>
+ <DefineConstants>DEBUG;</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <ExternalConsole>true</ExternalConsole>
+ <PlatformTarget>x86</PlatformTarget>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release</OutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <ExternalConsole>true</ExternalConsole>
+ <PlatformTarget>x86</PlatformTarget>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Files\**\*.cs" />
+ <Compile Include="IgnoredFiles\**\*.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+</Project>
diff --git a/modules/mono/glue/Managed/Managed.sln b/modules/mono/glue/Managed/Managed.sln
new file mode 100644
index 0000000000..61ddde0fb7
--- /dev/null
+++ b/modules/mono/glue/Managed/Managed.sln
@@ -0,0 +1,17 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Managed", "Managed.csproj", "{DAA3DEF8-5112-407C-A5E5-6C608CF5F955}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {DAA3DEF8-5112-407C-A5E5-6C608CF5F955}.Debug|x86.ActiveCfg = Debug|x86
+ {DAA3DEF8-5112-407C-A5E5-6C608CF5F955}.Debug|x86.Build.0 = Debug|x86
+ {DAA3DEF8-5112-407C-A5E5-6C608CF5F955}.Release|x86.ActiveCfg = Release|x86
+ {DAA3DEF8-5112-407C-A5E5-6C608CF5F955}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+EndGlobal
diff --git a/modules/mono/glue/Managed/Properties/AssemblyInfo.cs b/modules/mono/glue/Managed/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..7ed68acad7
--- /dev/null
+++ b/modules/mono/glue/Managed/Properties/AssemblyInfo.cs
@@ -0,0 +1,26 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+// Information about this assembly is defined by the following attributes.
+// Change them to the values specific to your project.
+
+[assembly: AssemblyTitle("Managed")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
+// The form "{Major}.{Minor}.*" will automatically update the build and revision,
+// and "{Major}.{Minor}.{Build}.*" will update just the revision.
+
+[assembly: AssemblyVersion("1.0.*")]
+
+// The following attributes are used to specify the signing key for the assembly,
+// if desired. See the Mono documentation for more information about signing.
+
+//[assembly: AssemblyDelaySign(false)]
+//[assembly: AssemblyKeyFile("")]
diff --git a/modules/mono/glue/Managed/README.md b/modules/mono/glue/Managed/README.md
new file mode 100644
index 0000000000..65e63cae37
--- /dev/null
+++ b/modules/mono/glue/Managed/README.md
@@ -0,0 +1,5 @@
+The directory `Files` contains C# files from the core assembly project that are not part of the generated API. Any file with the `.cs` extension in this directory will be added to the core assembly project.
+
+A dummy solution and project is provided to get tooling help while editing these files, like code completion and name refactoring.
+
+The directory `IgnoredFiles` contains C# files that are needed to build the dummy project but must not be added to the core assembly project. They contain placeholders for the declarations that are part of the generated API.