diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin.sln b/Source/Addins/MonoDevelop.GtkSharp.Addin.sln
deleted file mode 100755
index 88b9e8a3b..000000000
--- a/Source/Addins/MonoDevelop.GtkSharp.Addin.sln
+++ /dev/null
@@ -1,17 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2012
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.GtkSharp.Addin", "MonoDevelop.GtkSharp.Addin\MonoDevelop.GtkSharp.Addin.csproj", "{52AC8491-F6B7-4631-92BA-D5E95A091B74}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {52AC8491-F6B7-4631-92BA-D5E95A091B74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {52AC8491-F6B7-4631-92BA-D5E95A091B74}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {52AC8491-F6B7-4631-92BA-D5E95A091B74}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {52AC8491-F6B7-4631-92BA-D5E95A091B74}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
-EndGlobal
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/CheckMissing.cs b/Source/Templates/MonoDevelop.GtkSharp.Addin/CheckMissing.cs
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/CheckMissing.cs
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/CheckMissing.cs
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/GladeDesktopApplication.cs b/Source/Templates/MonoDevelop.GtkSharp.Addin/GladeDesktopApplication.cs
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/GladeDesktopApplication.cs
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/GladeDesktopApplication.cs
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/GladeDisplayBindings.cs b/Source/Templates/MonoDevelop.GtkSharp.Addin/GladeDisplayBindings.cs
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/GladeDisplayBindings.cs
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/GladeDisplayBindings.cs
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/MonoDevelop.GtkSharp.Addin.csproj b/Source/Templates/MonoDevelop.GtkSharp.Addin/MonoDevelop.GtkSharp.Addin.csproj
similarity index 97%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/MonoDevelop.GtkSharp.Addin.csproj
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/MonoDevelop.GtkSharp.Addin.csproj
index 2f403d16b..0174f669a 100755
--- a/Source/Addins/MonoDevelop.GtkSharp.Addin/MonoDevelop.GtkSharp.Addin.csproj
+++ b/Source/Templates/MonoDevelop.GtkSharp.Addin/MonoDevelop.GtkSharp.Addin.csproj
@@ -1,96 +1,96 @@
-
-
-
- Debug
- AnyCPU
- {52AC8491-F6B7-4631-92BA-D5E95A091B74}
- {86F6BF2A-E449-4B3E-813B-9ACC37E5545F};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Library
- MonoDevelop.GtkSharp.Addin
- MonoDevelop.GtkSharp.Addin
- v4.5
-
-
- true
- full
- false
- bin\Debug
- DEBUG;
- prompt
- 4
-
-
- true
- bin\Release
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- glade.sh
- PreserveNewest
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ Debug
+ AnyCPU
+ {52AC8491-F6B7-4631-92BA-D5E95A091B74}
+ {86F6BF2A-E449-4B3E-813B-9ACC37E5545F};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Library
+ MonoDevelop.GtkSharp.Addin
+ MonoDevelop.GtkSharp.Addin
+ v4.5
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+
+
+ true
+ bin\Release
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ glade.sh
+ PreserveNewest
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Properties/AddinInfo.cs b/Source/Templates/MonoDevelop.GtkSharp.Addin/Properties/AddinInfo.cs
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Properties/AddinInfo.cs
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Properties/AddinInfo.cs
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Properties/AssemblyInfo.cs b/Source/Templates/MonoDevelop.GtkSharp.Addin/Properties/AssemblyInfo.cs
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Properties/AssemblyInfo.cs
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Properties/AssemblyInfo.cs
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Properties/Manifest.addin.xml b/Source/Templates/MonoDevelop.GtkSharp.Addin/Properties/Manifest.addin.xml
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Properties/Manifest.addin.xml
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Properties/Manifest.addin.xml
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Dialog.cs b/Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Dialog.cs
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Dialog.cs
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Dialog.cs
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Dialog.glade b/Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Dialog.glade
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Dialog.glade
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Dialog.glade
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Widget.cs b/Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Widget.cs
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Widget.cs
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Widget.cs
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Widget.glade b/Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Widget.glade
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Widget.glade
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Widget.glade
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Window.cs b/Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Window.cs
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Window.cs
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Window.cs
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Window.glade b/Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Window.glade
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Window.glade
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Data/Window.glade
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Dialog.CS.xft.xml b/Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Dialog.CS.xft.xml
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Dialog.CS.xft.xml
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Dialog.CS.xft.xml
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Widget.CS.xft.xml b/Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Widget.CS.xft.xml
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Widget.CS.xft.xml
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Widget.CS.xft.xml
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Window.CS.xft.xml b/Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Window.CS.xft.xml
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/File/Window.CS.xft.xml
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/File/Window.CS.xft.xml
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/Projects/Data/MainWindow.cs b/Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/Projects/Data/MainWindow.cs
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/Projects/Data/MainWindow.cs
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/Projects/Data/MainWindow.cs
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/Projects/Data/MainWindow.glade b/Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/Projects/Data/MainWindow.glade
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/Projects/Data/MainWindow.glade
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/Projects/Data/MainWindow.glade
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/Projects/Data/Program.cs b/Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/Projects/Data/Program.cs
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/Projects/Data/Program.cs
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/Projects/Data/Program.cs
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/Projects/GtkSharpProject.CS.xpt.xml b/Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/Projects/GtkSharpProject.CS.xpt.xml
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/Projects/GtkSharpProject.CS.xpt.xml
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/Projects/GtkSharpProject.CS.xpt.xml
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/Projects/GtkSharpProject.FS.xpt.xml b/Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/Projects/GtkSharpProject.FS.xpt.xml
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/Templates/Projects/GtkSharpProject.FS.xpt.xml
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/Templates/Projects/GtkSharpProject.FS.xpt.xml
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/glade.sh b/Source/Templates/MonoDevelop.GtkSharp.Addin/glade.sh
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/glade.sh
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/glade.sh
diff --git a/Source/Addins/MonoDevelop.GtkSharp.Addin/packages.config b/Source/Templates/MonoDevelop.GtkSharp.Addin/packages.config
similarity index 100%
rename from Source/Addins/MonoDevelop.GtkSharp.Addin/packages.config
rename to Source/Templates/MonoDevelop.GtkSharp.Addin/packages.config
diff --git a/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/Gtk.Template.CSharp.nuspec b/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/Gtk.Template.CSharp.nuspec
new file mode 100755
index 000000000..756efe36a
--- /dev/null
+++ b/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/Gtk.Template.CSharp.nuspec
@@ -0,0 +1,19 @@
+
+
+
+ Gtk.Template.CSharp
+ 3.0.0
+ Gtk template for CSharp
+ A simple C# template for your .Net Core Gtk Application.
+ A simple C# template for your .Net Core Gtk Application.
+ GLibSharp Team
+ GLibSharp Team
+ https://github.com/GLibSharp/GtkSharp
+ false
+
+ gtk app dotnet new template
+
+
+
+
+
diff --git a/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/content/.template.config/template.json b/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/content/.template.config/template.json
new file mode 100755
index 000000000..fd1594716
--- /dev/null
+++ b/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/content/.template.config/template.json
@@ -0,0 +1,15 @@
+{
+ "$schema": "http://json.schemastore.org/template",
+ "author": "GLibSharp Team",
+ "classifications": [ "Console" ],
+ "name": "Gtk Application",
+ "identity": "Gtk.Template.CSharp",
+ "groupIdentity": "Gtk.Template",
+ "shortName": "gtkapp",
+ "tags": {
+ "language": "C#",
+ "type": "project"
+ },
+ "sourceName": "GtkNamespace",
+ "preferNameDirectory": true
+}
diff --git a/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/content/GtkNamespace.csproj b/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/content/GtkNamespace.csproj
new file mode 100755
index 000000000..7a37f7744
--- /dev/null
+++ b/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/content/GtkNamespace.csproj
@@ -0,0 +1,14 @@
+
+
+ Exe
+ netcoreapp2.0
+
+
+
+ MainWindow.glade
+
+
+
+
+
+
diff --git a/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/content/MainWindow.cs b/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/content/MainWindow.cs
new file mode 100755
index 000000000..48fdfde76
--- /dev/null
+++ b/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/content/MainWindow.cs
@@ -0,0 +1,37 @@
+using System;
+using Gtk;
+using UI = Gtk.Builder.ObjectAttribute;
+
+namespace GtkNamespace
+{
+ class MainWindow : Window
+ {
+#pragma warning disable 0649
+ [UI] private Label _label1;
+ [UI] private Button _button1;
+#pragma warning restore 0649
+
+ private int _counter;
+
+ public MainWindow() : this(new Builder("MainWindow.glade")) { }
+
+ private MainWindow(Builder builder) : base(builder.GetObject("MainWindow").Handle)
+ {
+ builder.Autoconnect(this);
+
+ DeleteEvent += OnDeleteEvent;
+ _button1.Clicked += Button1_Clicked;
+ }
+
+ private void OnDeleteEvent(object sender, DeleteEventArgs a)
+ {
+ Application.Quit();
+ }
+
+ private void Button1_Clicked(object sender, EventArgs a)
+ {
+ _counter++;
+ _label1.Text = "Hello World! This button has been clicked " + _counter + " time(s).";
+ }
+ }
+}
diff --git a/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/content/MainWindow.glade b/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/content/MainWindow.glade
new file mode 100755
index 000000000..a13c41b20
--- /dev/null
+++ b/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/content/MainWindow.glade
@@ -0,0 +1,46 @@
+
+
+
+
+
diff --git a/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/content/Program.cs b/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/content/Program.cs
new file mode 100755
index 000000000..56195ab62
--- /dev/null
+++ b/Source/Templates/NetCoreTemplates/Gtk.Template.CSharp/content/Program.cs
@@ -0,0 +1,23 @@
+using System;
+using Gtk;
+
+namespace GtkNamespace
+{
+ class Program
+ {
+ [STAThread]
+ public static void Main(string[] args)
+ {
+ Application.Init();
+
+ var app = new Application("org.GtkNamespace.GtkNamespace", GLib.ApplicationFlags.None);
+ app.Register(GLib.Cancellable.Current);
+
+ var win = new MainWindow();
+ app.AddWindow(win);
+
+ win.Show();
+ Application.Run();
+ }
+ }
+}