diff --git a/src/AvaloniaEdit.Demo.Net46/App.config b/src/AvaloniaEdit.Demo.Net46/App.config
new file mode 100644
index 0000000..7059800
--- /dev/null
+++ b/src/AvaloniaEdit.Demo.Net46/App.config
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/AvaloniaEdit.Demo.Net46/AvaloniaEdit.Demo.Net46.csproj b/src/AvaloniaEdit.Demo.Net46/AvaloniaEdit.Demo.Net46.csproj
new file mode 100644
index 0000000..8b8724f
--- /dev/null
+++ b/src/AvaloniaEdit.Demo.Net46/AvaloniaEdit.Demo.Net46.csproj
@@ -0,0 +1,243 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {7D155565-0022-4FC7-9B34-408DE35C6D23}
+ WinExe
+ AvaloniaEdit.Demo.Net46
+ AvaloniaEdit.Demo.Net46
+ v4.6.2
+ 512
+ {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 4
+ true
+
+
+
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+ Code
+
+
+
+
+
+
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.Animation.dll
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.Base.dll
+
+
+ ..\packages\Avalonia.Cairo.0.4.1-build2959-alpha\lib\net45\Avalonia.Cairo.dll
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.Controls.dll
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.DesignerSupport.dll
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.Diagnostics.dll
+
+
+ ..\packages\Avalonia.Direct2D1.0.4.1-build2959-alpha\lib\net45\Avalonia.Direct2D1.dll
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.DotNetFrameworkRuntime.dll
+
+
+ ..\packages\Avalonia.Gtk.0.4.1-build2959-alpha\lib\net45\Avalonia.Gtk.dll
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.Input.dll
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.Interactivity.dll
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.Layout.dll
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.Logging.Serilog.dll
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.Markup.dll
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.Markup.Xaml.dll
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.ReactiveUI.dll
+
+
+ ..\packages\Avalonia.Skia.Desktop.0.4.1-build2959-alpha\lib\net45\Avalonia.Skia.Desktop.dll
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.Styling.dll
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.Themes.Default.dll
+
+
+ ..\packages\Avalonia.0.4.1-build2959-alpha\lib\net45\Avalonia.Visuals.dll
+
+
+ ..\packages\Avalonia.Win32.0.4.1-build2959-alpha\lib\net45\Avalonia.Win32.dll
+
+
+ ..\packages\Microsoft.Win32.Primitives.4.0.1\lib\net46\Microsoft.Win32.Primitives.dll
+
+
+ ..\packages\Serilog.2.4.0\lib\net46\Serilog.dll
+
+
+ ..\packages\SharpDX.3.1.1\lib\net45\SharpDX.dll
+
+
+ ..\packages\SharpDX.Direct2D1.3.1.1\lib\net45\SharpDX.Direct2D1.dll
+
+
+ ..\packages\SharpDX.Direct3D11.3.1.1\lib\net45\SharpDX.Direct3D11.dll
+
+
+ ..\packages\SharpDX.DXGI.3.1.1\lib\net45\SharpDX.DXGI.dll
+
+
+ ..\packages\SkiaSharp.1.57.0\lib\net45\SkiaSharp.dll
+
+
+ ..\packages\Splat.2.0.0\lib\Net45\Splat.dll
+
+
+ ..\packages\Sprache.2.1.0\lib\net40\Sprache.dll
+
+
+
+ ..\packages\System.AppContext.4.1.0\lib\net46\System.AppContext.dll
+
+
+
+ ..\packages\System.Console.4.0.0\lib\net46\System.Console.dll
+
+
+ ..\packages\System.Diagnostics.DiagnosticSource.4.0.0\lib\net46\System.Diagnostics.DiagnosticSource.dll
+
+
+ ..\packages\System.Diagnostics.Tracing.4.1.0\lib\net462\System.Diagnostics.Tracing.dll
+
+
+ ..\packages\System.Globalization.Calendars.4.0.1\lib\net46\System.Globalization.Calendars.dll
+
+
+ ..\packages\System.IO.4.1.0\lib\net462\System.IO.dll
+
+
+ ..\packages\System.IO.Compression.4.1.0\lib\net46\System.IO.Compression.dll
+
+
+
+ ..\packages\System.IO.Compression.ZipFile.4.0.1\lib\net46\System.IO.Compression.ZipFile.dll
+
+
+ ..\packages\System.IO.FileSystem.4.0.1\lib\net46\System.IO.FileSystem.dll
+
+
+ ..\packages\System.IO.FileSystem.Primitives.4.0.1\lib\net46\System.IO.FileSystem.Primitives.dll
+
+
+ ..\packages\System.Net.Http.4.1.0\lib\net46\System.Net.Http.dll
+
+
+ ..\packages\System.Net.Sockets.4.1.0\lib\net46\System.Net.Sockets.dll
+
+
+
+ ..\packages\System.Reactive.Core.3.0.0\lib\net46\System.Reactive.Core.dll
+
+
+ ..\packages\System.Reactive.Interfaces.3.0.0\lib\net45\System.Reactive.Interfaces.dll
+
+
+ ..\packages\System.Reactive.Linq.3.0.0\lib\net46\System.Reactive.Linq.dll
+
+
+ ..\packages\System.Reactive.PlatformServices.3.0.0\lib\net46\System.Reactive.PlatformServices.dll
+
+
+ ..\packages\System.Reactive.Windows.Threading.3.0.0\lib\net45\System.Reactive.Windows.Threading.dll
+
+
+ ..\packages\System.Reflection.4.1.0\lib\net462\System.Reflection.dll
+
+
+ ..\packages\System.Runtime.4.1.0\lib\net462\System.Runtime.dll
+
+
+ ..\packages\System.Runtime.Extensions.4.1.0\lib\net462\System.Runtime.Extensions.dll
+
+
+ ..\packages\System.Runtime.InteropServices.4.1.0\lib\net462\System.Runtime.InteropServices.dll
+
+
+ ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.0.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
+
+
+ ..\packages\System.Security.Cryptography.Algorithms.4.2.0\lib\net461\System.Security.Cryptography.Algorithms.dll
+
+
+ ..\packages\System.Security.Cryptography.Encoding.4.0.0\lib\net46\System.Security.Cryptography.Encoding.dll
+
+
+ ..\packages\System.Security.Cryptography.Primitives.4.0.0\lib\net46\System.Security.Cryptography.Primitives.dll
+
+
+ ..\packages\System.Security.Cryptography.X509Certificates.4.1.0\lib\net461\System.Security.Cryptography.X509Certificates.dll
+
+
+ ..\packages\System.ValueTuple.4.3.0\lib\netstandard1.0\System.ValueTuple.dll
+
+
+
+
+
+
+
+ {03763f37-9bd9-4d1d-adc9-1050f6f8c062}
+ AvaloniaEdit.Demo
+
+
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
\ No newline at end of file
diff --git a/src/AvaloniaEdit.Demo.Net46/Program.cs b/src/AvaloniaEdit.Demo.Net46/Program.cs
new file mode 100644
index 0000000..f8752d9
--- /dev/null
+++ b/src/AvaloniaEdit.Demo.Net46/Program.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Avalonia;
+
+namespace AvaloniaEdit.Demo.Net46
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ AppBuilder.Configure()
+ .UsePlatformDetect()
+ .Start();
+ }
+ }
+}
diff --git a/src/AvaloniaEdit.Demo/Properties/AssemblyInfo.cs b/src/AvaloniaEdit.Demo.Net46/Properties/AssemblyInfo.cs
similarity index 64%
rename from src/AvaloniaEdit.Demo/Properties/AssemblyInfo.cs
rename to src/AvaloniaEdit.Demo.Net46/Properties/AssemblyInfo.cs
index f06ecc7..8b82c7a 100644
--- a/src/AvaloniaEdit.Demo/Properties/AssemblyInfo.cs
+++ b/src/AvaloniaEdit.Demo.Net46/Properties/AssemblyInfo.cs
@@ -1,15 +1,17 @@
using System.Reflection;
+using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
+using System.Windows;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
-[assembly: AssemblyTitle("AvaloniaEdit.Demo")]
+[assembly: AssemblyTitle("AvaloniaEdit.Demo.Net46")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("AvaloniaEdit.Demo")]
+[assembly: AssemblyProduct("AvaloniaEdit.Demo.Net46")]
[assembly: AssemblyCopyright("Copyright © 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -19,8 +21,15 @@ using System.Runtime.InteropServices;
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("7fe6c9f6-0dc5-4817-bd0e-98ecfb4bf02b")]
+//In order to begin building localizable applications, set
+//CultureYouAreCodingWith in your .csproj file
+//inside a . For example, if you are using US english
+//in your source files, set the to en-US. Then uncomment
+//the NeutralResourceLanguage attribute below. Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
// Version information for an assembly consists of the following four values:
//
diff --git a/src/AvaloniaEdit.Demo.Net46/packages.config b/src/AvaloniaEdit.Demo.Net46/packages.config
new file mode 100644
index 0000000..22106c5
--- /dev/null
+++ b/src/AvaloniaEdit.Demo.Net46/packages.config
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/AvaloniaEdit.Demo.NetCore/AvaloniaEdit.Demo.NetCore.csproj b/src/AvaloniaEdit.Demo.NetCore/AvaloniaEdit.Demo.NetCore.csproj
new file mode 100644
index 0000000..854f516
--- /dev/null
+++ b/src/AvaloniaEdit.Demo.NetCore/AvaloniaEdit.Demo.NetCore.csproj
@@ -0,0 +1,18 @@
+
+
+ exe
+ netcoreapp1.1
+ exe
+ DEBUG;TRACE
+ true
+ $(PackageTargetFallback);netstandard1.3;net45
+ win7-x64;ubuntu.14.04-x64;osx.10.12-x64
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/AvaloniaEdit.Demo/Program.cs b/src/AvaloniaEdit.Demo.NetCore/Program.cs
similarity index 100%
rename from src/AvaloniaEdit.Demo/Program.cs
rename to src/AvaloniaEdit.Demo.NetCore/Program.cs
diff --git a/src/AvaloniaEdit.Demo/App.config b/src/AvaloniaEdit.Demo/App.config
deleted file mode 100644
index 8324aa6..0000000
--- a/src/AvaloniaEdit.Demo/App.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/AvaloniaEdit.Demo/AvaloniaEdit.Demo.csproj b/src/AvaloniaEdit.Demo/AvaloniaEdit.Demo.csproj
index 2a699dc..8b34604 100644
--- a/src/AvaloniaEdit.Demo/AvaloniaEdit.Demo.csproj
+++ b/src/AvaloniaEdit.Demo/AvaloniaEdit.Demo.csproj
@@ -1,102 +1,28 @@
-
-
-
+
+
- Debug
- AnyCPU
- {7FE6C9F6-0DC5-4817-BD0E-98ECFB4BF02B}
- WinExe
- AvaloniaEdit.Demo
- AvaloniaEdit.Demo
- v4.6
- 512
- true
-
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
- true
- bin\x64\Debug\
- DEBUG;TRACE
- full
- x64
- prompt
- MinimumRecommendedRules.ruleset
- true
-
-
- bin\x64\Release\
- TRACE
- true
- pdbonly
- x64
- prompt
- MinimumRecommendedRules.ruleset
- true
+ netstandard1.1
+ False
+
-
-
-
-
-
-
-
-
+
+
-
- App.xaml
+
+ %(Filename)
+ Code
-
- MainWindow.xaml
-
-
-
+
+
-
+
+
-
- {4b04026f-ba96-4721-ae28-0970cb5806a9}
- AvaloniaEdit
-
+
-
-
- 0.4.1-build2959-alpha
-
-
-
-
- MSBuild:Compile
- Designer
-
-
- MSBuild:Compile
- Designer
-
-
-
+
\ No newline at end of file
diff --git a/src/AvaloniaEdit.sln b/src/AvaloniaEdit.sln
index 4293fab..ba31bde 100644
--- a/src/AvaloniaEdit.sln
+++ b/src/AvaloniaEdit.sln
@@ -5,22 +5,52 @@ VisualStudioVersion = 15.0.26403.7
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AvaloniaEdit", "AvaloniaEdit\AvaloniaEdit.csproj", "{4B04026F-BA96-4721-AE28-0970CB5806A9}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvaloniaEdit.Demo", "AvaloniaEdit.Demo\AvaloniaEdit.Demo.csproj", "{7FE6C9F6-0DC5-4817-BD0E-98ECFB4BF02B}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AvaloniaEdit.Demo.NetCore", "AvaloniaEdit.Demo.NetCore\AvaloniaEdit.Demo.NetCore.csproj", "{226568F6-7B23-47BE-9D20-581F3598B32A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvaloniaEdit.Demo", "AvaloniaEdit.Demo\AvaloniaEdit.Demo.csproj", "{03763F37-9BD9-4D1D-ADC9-1050F6F8C062}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvaloniaEdit.Demo.Net46", "AvaloniaEdit.Demo.Net46\AvaloniaEdit.Demo.Net46.csproj", "{7D155565-0022-4FC7-9B34-408DE35C6D23}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4B04026F-BA96-4721-AE28-0970CB5806A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4B04026F-BA96-4721-AE28-0970CB5806A9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4B04026F-BA96-4721-AE28-0970CB5806A9}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {4B04026F-BA96-4721-AE28-0970CB5806A9}.Debug|x64.Build.0 = Debug|Any CPU
{4B04026F-BA96-4721-AE28-0970CB5806A9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4B04026F-BA96-4721-AE28-0970CB5806A9}.Release|Any CPU.Build.0 = Release|Any CPU
- {7FE6C9F6-0DC5-4817-BD0E-98ECFB4BF02B}.Debug|Any CPU.ActiveCfg = Debug|x64
- {7FE6C9F6-0DC5-4817-BD0E-98ECFB4BF02B}.Debug|Any CPU.Build.0 = Debug|x64
- {7FE6C9F6-0DC5-4817-BD0E-98ECFB4BF02B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7FE6C9F6-0DC5-4817-BD0E-98ECFB4BF02B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4B04026F-BA96-4721-AE28-0970CB5806A9}.Release|x64.ActiveCfg = Release|Any CPU
+ {4B04026F-BA96-4721-AE28-0970CB5806A9}.Release|x64.Build.0 = Release|Any CPU
+ {226568F6-7B23-47BE-9D20-581F3598B32A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {226568F6-7B23-47BE-9D20-581F3598B32A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {226568F6-7B23-47BE-9D20-581F3598B32A}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {226568F6-7B23-47BE-9D20-581F3598B32A}.Debug|x64.Build.0 = Debug|Any CPU
+ {226568F6-7B23-47BE-9D20-581F3598B32A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {226568F6-7B23-47BE-9D20-581F3598B32A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {226568F6-7B23-47BE-9D20-581F3598B32A}.Release|x64.ActiveCfg = Release|Any CPU
+ {226568F6-7B23-47BE-9D20-581F3598B32A}.Release|x64.Build.0 = Release|Any CPU
+ {03763F37-9BD9-4D1D-ADC9-1050F6F8C062}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {03763F37-9BD9-4D1D-ADC9-1050F6F8C062}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {03763F37-9BD9-4D1D-ADC9-1050F6F8C062}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {03763F37-9BD9-4D1D-ADC9-1050F6F8C062}.Debug|x64.Build.0 = Debug|Any CPU
+ {03763F37-9BD9-4D1D-ADC9-1050F6F8C062}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {03763F37-9BD9-4D1D-ADC9-1050F6F8C062}.Release|Any CPU.Build.0 = Release|Any CPU
+ {03763F37-9BD9-4D1D-ADC9-1050F6F8C062}.Release|x64.ActiveCfg = Release|Any CPU
+ {03763F37-9BD9-4D1D-ADC9-1050F6F8C062}.Release|x64.Build.0 = Release|Any CPU
+ {7D155565-0022-4FC7-9B34-408DE35C6D23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7D155565-0022-4FC7-9B34-408DE35C6D23}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7D155565-0022-4FC7-9B34-408DE35C6D23}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {7D155565-0022-4FC7-9B34-408DE35C6D23}.Debug|x64.Build.0 = Debug|Any CPU
+ {7D155565-0022-4FC7-9B34-408DE35C6D23}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7D155565-0022-4FC7-9B34-408DE35C6D23}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7D155565-0022-4FC7-9B34-408DE35C6D23}.Release|x64.ActiveCfg = Release|Any CPU
+ {7D155565-0022-4FC7-9B34-408DE35C6D23}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/AvaloniaEdit/AvaloniaEdit.csproj b/src/AvaloniaEdit/AvaloniaEdit.csproj
index aff2659..6d52133 100644
--- a/src/AvaloniaEdit/AvaloniaEdit.csproj
+++ b/src/AvaloniaEdit/AvaloniaEdit.csproj
@@ -35,7 +35,7 @@
-
+