diff --git a/.gitignore b/.gitignore
index 94d1d68..dce36b2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,3 +40,4 @@ bld/
/NewLife.Net.dll
/NewLife.Core.pdb
/NewLife.Core.dll
+/lib
diff --git a/NuGet.Config b/NuGet.Config
new file mode 100644
index 0000000..1af087f
--- /dev/null
+++ b/NuGet.Config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/X5Coder/App.xaml b/X5Coder/App.xaml
new file mode 100644
index 0000000..adb8c87
--- /dev/null
+++ b/X5Coder/App.xaml
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/X5Coder/App.xaml.cs b/X5Coder/App.xaml.cs
new file mode 100644
index 0000000..b46cd65
--- /dev/null
+++ b/X5Coder/App.xaml.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+using NewLife.Log;
+
+namespace X5Coder
+{
+ ///
+ /// App.xaml 的交互逻辑
+ ///
+ public partial class App : Application
+ {
+ public App()
+ {
+ this.InitializeComponent();
+ }
+
+ protected override void OnStartup(StartupEventArgs e)
+ {
+#if NET45
+ XTrace.UseWinForm();
+#endif
+
+ base.OnStartup(e);
+ }
+ }
+}
\ No newline at end of file
diff --git a/X5Coder/Images/leaf.ico b/X5Coder/Images/leaf.ico
new file mode 100644
index 0000000..31fa6dd
Binary files /dev/null and b/X5Coder/Images/leaf.ico differ
diff --git a/X5Coder/MainWindow.xaml b/X5Coder/MainWindow.xaml
new file mode 100644
index 0000000..e1d0c42
--- /dev/null
+++ b/X5Coder/MainWindow.xaml
@@ -0,0 +1,37 @@
+
+
+
+
+
diff --git a/X5Coder/MainWindow.xaml.cs b/X5Coder/MainWindow.xaml.cs
new file mode 100644
index 0000000..b8072ba
--- /dev/null
+++ b/X5Coder/MainWindow.xaml.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace X5Coder
+{
+ ///
+ /// MainWindow.xaml 的交互逻辑
+ ///
+ public partial class MainWindow : Window
+ {
+ public MainWindow()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/X5Coder/X5Coder.csproj b/X5Coder/X5Coder.csproj
new file mode 100644
index 0000000..44e0734
--- /dev/null
+++ b/X5Coder/X5Coder.csproj
@@ -0,0 +1,48 @@
+
+
+
+ WinExe
+ net45;netcoreapp3.1
+ true
+ 新生命码神工具
+ 众多开发者工具
+ 新生命开发团队
+ ©2002-2020 新生命开发团队
+ 8.0.2020.0425
+ 8.0.2020.0425
+ 8.0.*
+ false
+ Images\leaf.ico
+ ..\Bin\
+ pdbonly
+ true
+ TRACE
+
+
+
+ $(DefineConstants);DEBUG
+ full
+ false
+
+
+ $(DefineConstants);__WIN__;NET45
+
+
+ $(DefineConstants);__WIN__;NC30;__CORE__
+
+
+
+
+
+
+
+
+
+
+
+
+ Never
+
+
+
+
\ No newline at end of file
diff --git a/码神工具.sln b/码神工具.sln
index 0910a41..5f73cc9 100644
--- a/码神工具.sln
+++ b/码神工具.sln
@@ -18,6 +18,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XCoder30", "XCoder30\XCoder
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XCoderLinux", "XCoderLinux\XCoderLinux.csproj", "{8D88837E-7C35-424E-8937-6CD7CF79517E}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X5Coder", "X5Coder\X5Coder.csproj", "{B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -130,6 +132,30 @@ Global
{8D88837E-7C35-424E-8937-6CD7CF79517E}.Release|x64.Build.0 = Release|Any CPU
{8D88837E-7C35-424E-8937-6CD7CF79517E}.Release|x86.ActiveCfg = Release|Any CPU
{8D88837E-7C35-424E-8937-6CD7CF79517E}.Release|x86.Build.0 = Release|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Debug|ARM.Build.0 = Debug|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Debug|x64.Build.0 = Debug|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Debug|x86.Build.0 = Debug|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Release|ARM.ActiveCfg = Release|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Release|ARM.Build.0 = Release|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Release|iPhone.Build.0 = Release|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Release|x64.ActiveCfg = Release|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Release|x64.Build.0 = Release|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Release|x86.ActiveCfg = Release|Any CPU
+ {B0EAFF38-1A6E-4ED1-9491-5C22E9734FE4}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE