Parcourir la source

删除ET Book的Example,维护麻烦,需要的可以看5.0

tanghai il y a 6 ans
Parent
commit
95d534f206

+ 0 - 15
Book/Example/Example2_1/Example2_1.csproj

@@ -1,15 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-    <PropertyGroup>
-        <OutputType>Exe</OutputType>
-        <TargetFramework>netcoreapp3.1</TargetFramework>
-        <RootNamespace>Example1._1</RootNamespace>
-    </PropertyGroup>
-
-    <ItemGroup>
-      <Compile Include="..\..\..\Unity\Assets\Model\Base\OneThreadSynchronizationContext.cs">
-        <Link>OneThreadSynchronizationContext.cs</Link>
-      </Compile>
-    </ItemGroup>
-
-</Project>

+ 0 - 65
Book/Example/Example2_1/Program.cs

@@ -1,65 +0,0 @@
-using System;
-using System.Threading;
-using ETModel;
-
-namespace Example2_1
-{
-    internal class Program
-    {
-        private static int loopCount = 0;
-
-        private static void Main()
-        {
-            OneThreadSynchronizationContext _ = OneThreadSynchronizationContext.Instance;
-            
-            WaitTimeAsync(5000, WaitTimeFinishCallback);
-            
-            while (true)
-            {
-                OneThreadSynchronizationContext.Instance.Update();
-                
-                Thread.Sleep(1);
-                
-                ++loopCount;
-                if (loopCount % 10000 == 0)
-                {
-                    Console.WriteLine($"loop count: {loopCount}");
-                }
-            }
-        }
-
-        private static void WaitTimeAsync(int waitTime, Action action)
-        {
-            Thread thread = new Thread(()=>WaitTime(waitTime, action));
-            thread.Start();
-        }
-        
-        private static void WaitTimeFinishCallback()
-        {
-            Console.WriteLine($"WaitTimeAsync finsih loopCount的值是: {loopCount}");
-            WaitTimeAsync(4000, WaitTimeFinishCallback3);
-        }
-        
-        private static void WaitTimeFinishCallback3()
-        {
-            Console.WriteLine($"WaitTimeAsync finsih loopCount的值是: {loopCount}");
-            WaitTimeAsync(3000, WaitTimeFinishCallback2);
-        }
-        
-        private static void WaitTimeFinishCallback2()
-        {
-            Console.WriteLine($"WaitTimeAsync finsih loopCount的值是: {loopCount}");
-        }
-
-        /// <summary>
-        /// 在另外的线程等待
-        /// </summary>
-        private static void WaitTime(int waitTime, Action action)
-        {
-            Thread.Sleep(waitTime);
-            
-            // 将action扔回主线程执行
-            OneThreadSynchronizationContext.Instance.Post(o=>action(), null);
-        }
-    }
-}

+ 0 - 14
Book/Example/Example2_2/Example2_2.csproj

@@ -1,14 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-    <PropertyGroup>
-        <OutputType>Exe</OutputType>
-        <TargetFramework>netcoreapp3.1</TargetFramework>
-    </PropertyGroup>
-
-    <ItemGroup>
-        <Compile Include="..\..\..\Unity\Assets\Model\Base\OneThreadSynchronizationContext.cs">
-            <Link>OneThreadSynchronizationContext.cs</Link>
-        </Compile>
-    </ItemGroup>
-
-</Project>

+ 0 - 63
Book/Example/Example2_2/Program.cs

@@ -1,63 +0,0 @@
-using System;
-using System.Threading;
-using System.Threading.Tasks;
-using ETModel;
-
-namespace Example2_2
-{
-    class Program
-    {
-        private static int loopCount = 0;
-        
-        static void Main(string[] args)
-        {
-            OneThreadSynchronizationContext _ = OneThreadSynchronizationContext.Instance;
-
-            Console.WriteLine($"主线程: {Thread.CurrentThread.ManagedThreadId}");
-            
-            Crontine();
-            
-            while (true)
-            {
-                OneThreadSynchronizationContext.Instance.Update();
-                
-                Thread.Sleep(1);
-                
-                ++loopCount;
-                if (loopCount % 10000 == 0)
-                {
-                    Console.WriteLine($"loop count: {loopCount}");
-                }
-            }
-        }
-
-        private static async void Crontine()
-        {
-            await WaitTimeAsync(5000);
-            Console.WriteLine($"当前线程: {Thread.CurrentThread.ManagedThreadId}, WaitTimeAsync finsih loopCount的值是: {loopCount}");
-            await WaitTimeAsync(4000);
-            Console.WriteLine($"当前线程: {Thread.CurrentThread.ManagedThreadId}, WaitTimeAsync finsih loopCount的值是: {loopCount}");
-            await WaitTimeAsync(3000);
-            Console.WriteLine($"当前线程: {Thread.CurrentThread.ManagedThreadId}, WaitTimeAsync finsih loopCount的值是: {loopCount}");
-        }
-        
-        private static Task WaitTimeAsync(int waitTime)
-        {
-            TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>();
-            Thread thread = new Thread(()=>WaitTime(waitTime, tcs));
-            thread.Start();
-            return tcs.Task;
-        }
-        
-        /// <summary>
-        /// 在另外的线程等待
-        /// </summary>
-        private static void WaitTime(int waitTime, TaskCompletionSource<bool> tcs)
-        {
-            Thread.Sleep(waitTime);
-            
-            // 将tcs扔回主线程执行
-            OneThreadSynchronizationContext.Instance.Post(o=>tcs.SetResult(true), null);
-        }
-    }
-}

+ 0 - 14
Book/Example/Example2_2_2/Example2_2_2.csproj

@@ -1,14 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-    <PropertyGroup>
-        <OutputType>Exe</OutputType>
-        <TargetFramework>netcoreapp3.1</TargetFramework>
-    </PropertyGroup>
-
-    <ItemGroup>
-        <Compile Include="..\..\..\Unity\Assets\Model\Base\OneThreadSynchronizationContext.cs">
-            <Link>OneThreadSynchronizationContext.cs</Link>
-        </Compile>
-    </ItemGroup>
-
-</Project>

+ 0 - 62
Book/Example/Example2_2_2/Program.cs

@@ -1,62 +0,0 @@
-using System;
-using System.Threading;
-using System.Threading.Tasks;
-using ETModel;
-
-namespace Example2_2_2
-{
-    class Program
-    {
-        private static int loopCount = 0;
-        
-        static void Main(string[] args)
-        {
-            SynchronizationContext.SetSynchronizationContext(OneThreadSynchronizationContext.Instance);
-
-            Console.WriteLine($"主线程: {Thread.CurrentThread.ManagedThreadId}");
-            
-            Crontine();
-            
-            while (true)
-            {
-                OneThreadSynchronizationContext.Instance.Update();
-                
-                Thread.Sleep(1);
-                
-                ++loopCount;
-                if (loopCount % 10000 == 0)
-                {
-                    Console.WriteLine($"loop count: {loopCount}");
-                }
-            }
-        }
-
-        private static async void Crontine()
-        {
-            await WaitTimeAsync(5000);
-            Console.WriteLine($"当前线程: {Thread.CurrentThread.ManagedThreadId}, WaitTimeAsync finsih loopCount的值是: {loopCount}");
-            await WaitTimeAsync(4000);
-            Console.WriteLine($"当前线程: {Thread.CurrentThread.ManagedThreadId}, WaitTimeAsync finsih loopCount的值是: {loopCount}");
-            await WaitTimeAsync(3000);
-            Console.WriteLine($"当前线程: {Thread.CurrentThread.ManagedThreadId}, WaitTimeAsync finsih loopCount的值是: {loopCount}");
-        }
-        
-        private static Task WaitTimeAsync(int waitTime)
-        {
-            TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>();
-            Thread thread = new Thread(()=>WaitTime(waitTime, tcs));
-            thread.Start();
-            return tcs.Task;
-        }
-        
-        /// <summary>
-        /// 在另外的线程等待
-        /// </summary>
-        private static void WaitTime(int waitTime, TaskCompletionSource<bool> tcs)
-        {
-            Thread.Sleep(waitTime);
-            Console.WriteLine($"SetResult线程: {Thread.CurrentThread.ManagedThreadId}");
-            tcs.SetResult(true);
-        }
-    }
-}

+ 0 - 8
Book/Example/Example2_3/Example2_3.csproj

@@ -1,8 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-    <PropertyGroup>
-        <OutputType>Exe</OutputType>
-        <TargetFramework>netcoreapp3.1</TargetFramework>
-    </PropertyGroup>
-
-</Project>

+ 0 - 79
Book/Example/Example2_3/Program.cs

@@ -1,79 +0,0 @@
-using System;
-using System.Threading;
-using System.Threading.Tasks;
-
-namespace Example2_3
-{
-    
-    class Program
-    {
-        private static int loopCount = 0;
-
-        private static long time;
-        private static Action action;
-        
-        static void Main(string[] args)
-        {
-            Console.WriteLine($"主线程: {Thread.CurrentThread.ManagedThreadId}");
-
-            Crontine();
-            
-            while (true)
-            {
-                Thread.Sleep(1);
-
-                CheckTimerOut();
-                
-                ++loopCount;
-                if (loopCount % 10000 == 0)
-                {
-                    Console.WriteLine($"loop count: {loopCount}");
-                }
-            }
-        }
-        
-        private static void Crontine()
-        {
-            WaitTimeAsync(5000, WaitTimeAsyncCallback1);
-        }
-
-        private static void WaitTimeAsyncCallback1()
-        {
-            Console.WriteLine($"当前线程: {Thread.CurrentThread.ManagedThreadId}, WaitTimeAsync finsih loopCount的值是: {loopCount}");
-            WaitTimeAsync(4000, WaitTimeAsyncCallback2);
-        }
-        
-        private static void WaitTimeAsyncCallback2()
-        {
-            Console.WriteLine($"当前线程: {Thread.CurrentThread.ManagedThreadId}, WaitTimeAsync finsih loopCount的值是: {loopCount}");
-            WaitTimeAsync(3000, WaitTimeAsyncCallback3);
-        }
-        
-        private static void WaitTimeAsyncCallback3()
-        {
-            Console.WriteLine($"当前线程: {Thread.CurrentThread.ManagedThreadId}, WaitTimeAsync finsih loopCount的值是: {loopCount}");
-        }
-
-        private static void CheckTimerOut()
-        {
-            if (time == 0)
-            {
-                return;
-            }
-            long nowTicks = DateTime.Now.Ticks / 10000;
-            if (time > nowTicks)
-            {
-                return;
-            }
-
-            time = 0;
-            action.Invoke();
-        }
-        
-        private static void WaitTimeAsync(int waitTime, Action a)
-        {
-            time = DateTime.Now.Ticks / 10000 + waitTime;
-            action = a;
-        }
-    }
-}

+ 0 - 8
Book/Example/Example2_3_2/Example2_3_2.csproj

@@ -1,8 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-    <PropertyGroup>
-        <OutputType>Exe</OutputType>
-        <TargetFramework>netcoreapp3.1</TargetFramework>
-    </PropertyGroup>
-
-</Project>

+ 0 - 68
Book/Example/Example2_3_2/Program.cs

@@ -1,68 +0,0 @@
-using System;
-using System.Threading;
-using System.Threading.Tasks;
-
-namespace Example2_3_2
-{
-    class Program
-    {
-        private static int loopCount = 0;
-
-        private static long time;
-        private static TaskCompletionSource<bool> tcs;
-        
-        static void Main(string[] args)
-        {
-            Console.WriteLine($"主线程: {Thread.CurrentThread.ManagedThreadId}");
-
-            Crontine();
-            
-            while (true)
-            {
-                Thread.Sleep(1);
-
-                CheckTimerOut();
-                
-                ++loopCount;
-                if (loopCount % 10000 == 0)
-                {
-                    Console.WriteLine($"loop count: {loopCount}");
-                }
-            }
-        }
-        
-        private static async void Crontine()
-        {
-            await WaitTimeAsync(5000);
-            Console.WriteLine($"当前线程: {Thread.CurrentThread.ManagedThreadId}, WaitTimeAsync finsih loopCount的值是: {loopCount}");
-            await WaitTimeAsync(4000);
-            Console.WriteLine($"当前线程: {Thread.CurrentThread.ManagedThreadId}, WaitTimeAsync finsih loopCount的值是: {loopCount}");
-            await WaitTimeAsync(3000);
-            Console.WriteLine($"当前线程: {Thread.CurrentThread.ManagedThreadId}, WaitTimeAsync finsih loopCount的值是: {loopCount}");
-        }
-
-        private static void CheckTimerOut()
-        {
-            if (time == 0)
-            {
-                return;
-            }
-            long nowTicks = DateTime.Now.Ticks / 10000;
-            if (time > nowTicks)
-            {
-                return;
-            }
-
-            time = 0;
-            tcs.SetResult(true);
-        }
-        
-        private static Task WaitTimeAsync(int waitTime)
-        {
-            TaskCompletionSource<bool> t = new TaskCompletionSource<bool>();
-            time = DateTime.Now.Ticks / 10000 + waitTime;
-            tcs = t;
-            return t.Task;
-        }
-    }
-}

+ 0 - 13
Book/Example/Example3_5/Example3_5.csproj

@@ -1,13 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-    <PropertyGroup>
-        <OutputType>Exe</OutputType>
-        <TargetFramework>netcoreapp3.1</TargetFramework>
-    </PropertyGroup>
-
-    <ItemGroup>
-      <ProjectReference Include="..\..\..\Server\Model\Server.Model.csproj" />
-      <ProjectReference Include="..\..\..\Server\ThirdParty\MongoDBDriver\MongoDB.Bson\MongoDB.Bson.csproj" />
-    </ItemGroup>
-
-</Project>

+ 0 - 38
Book/Example/Example3_5/Program.cs

@@ -1,38 +0,0 @@
-using System;
-using System.IO;
-using ETModel;
-using MongoDB.Bson;
-using MongoDB.Bson.IO;
-using MongoDB.Bson.Serialization;
-
-namespace Example3_5
-{
-    class Program
-    {
-        static void Main(string[] args)
-        {
-            Player player1 = new Player() { Id = 1 };
-            string json = player1.ToJson();
-            Console.WriteLine($"player1 to json: {json}");
-
-            byte[] bson = player1.ToBson();
-            Console.WriteLine($"player1 to bson: {bson.ToHex()}");
-            // // player1 to json: { "_id" : NumberLong(1), "C" : [], "Account" : null, "UnitId" : NumberLong(0) }
-
-            // 反序列化json
-            Player player11 = BsonSerializer.Deserialize<Player>(json);
-            Console.WriteLine($"player11 to json: {player11.ToJson()}");
-            // 反序列化bson
-            using (MemoryStream memoryStream = new MemoryStream(bson))
-            {
-                Player player12 = (Player) BsonSerializer.Deserialize(memoryStream, typeof (Player));
-                Console.WriteLine($"player12 to json: {player12.ToJson()}");
-            }
-            
-            
-            // 使用标准json
-            Console.WriteLine($"player to Strict json: {player1.ToJson(new JsonWriterSettings() {OutputMode = JsonOutputMode.Strict})}");
-            // player1 to Strict json: { "_id" : 1, "C" : [], "Account" : null, "UnitId" : 0 }
-        }
-    }
-}

+ 0 - 92
Client-Server.sln

@@ -39,20 +39,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MongoDB.Driver.Core", "Serv
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MongoDB.Driver.GridFS", "Server\ThirdParty\MongoDBDriver\MongoDB.Driver.GridFS\MongoDB.Driver.GridFS.csproj", "{2ACC29FB-55CD-4307-B1D1-CC3922BC2CE7}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Book", "Book", "{BB93F5A1-C87D-4C69-8C9D-45338C186E01}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Example2_1", "Book\Example\Example2_1\Example2_1.csproj", "{ED41FEC0-492D-4708-AE43-131B8E2463BD}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Example2_2", "Book\Example\Example2_2\Example2_2.csproj", "{5BB1E6A2-A2AD-4F58-88A2-11C366464BF2}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Example2_2_2", "Book\Example\Example2_2_2\Example2_2_2.csproj", "{472BEADB-963F-4D55-BC64-C20643A6D4DC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Example2_3", "Book\Example\Example2_3\Example2_3.csproj", "{893271BA-8471-4E60-B1A8-11F5D0C67191}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Example2_3_2", "Book\Example\Example2_3_2\Example2_3_2.csproj", "{A4D185F9-C446-47D5-9250-A741B996E349}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Example3_5", "Book\Example\Example3_5\Example3_5.csproj", "{65474CD4-F380-4F14-AC5A-F274E9D1BD8B}"
-EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -219,78 +205,6 @@ Global
 		{2ACC29FB-55CD-4307-B1D1-CC3922BC2CE7}.Release|x64.Build.0 = Release|Any CPU
 		{2ACC29FB-55CD-4307-B1D1-CC3922BC2CE7}.Release|x86.ActiveCfg = Release|Any CPU
 		{2ACC29FB-55CD-4307-B1D1-CC3922BC2CE7}.Release|x86.Build.0 = Release|Any CPU
-		{ED41FEC0-492D-4708-AE43-131B8E2463BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{ED41FEC0-492D-4708-AE43-131B8E2463BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{ED41FEC0-492D-4708-AE43-131B8E2463BD}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{ED41FEC0-492D-4708-AE43-131B8E2463BD}.Debug|x64.Build.0 = Debug|Any CPU
-		{ED41FEC0-492D-4708-AE43-131B8E2463BD}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{ED41FEC0-492D-4708-AE43-131B8E2463BD}.Debug|x86.Build.0 = Debug|Any CPU
-		{ED41FEC0-492D-4708-AE43-131B8E2463BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{ED41FEC0-492D-4708-AE43-131B8E2463BD}.Release|Any CPU.Build.0 = Release|Any CPU
-		{ED41FEC0-492D-4708-AE43-131B8E2463BD}.Release|x64.ActiveCfg = Release|Any CPU
-		{ED41FEC0-492D-4708-AE43-131B8E2463BD}.Release|x64.Build.0 = Release|Any CPU
-		{ED41FEC0-492D-4708-AE43-131B8E2463BD}.Release|x86.ActiveCfg = Release|Any CPU
-		{ED41FEC0-492D-4708-AE43-131B8E2463BD}.Release|x86.Build.0 = Release|Any CPU
-		{5BB1E6A2-A2AD-4F58-88A2-11C366464BF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{5BB1E6A2-A2AD-4F58-88A2-11C366464BF2}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{5BB1E6A2-A2AD-4F58-88A2-11C366464BF2}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{5BB1E6A2-A2AD-4F58-88A2-11C366464BF2}.Debug|x64.Build.0 = Debug|Any CPU
-		{5BB1E6A2-A2AD-4F58-88A2-11C366464BF2}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{5BB1E6A2-A2AD-4F58-88A2-11C366464BF2}.Debug|x86.Build.0 = Debug|Any CPU
-		{5BB1E6A2-A2AD-4F58-88A2-11C366464BF2}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{5BB1E6A2-A2AD-4F58-88A2-11C366464BF2}.Release|Any CPU.Build.0 = Release|Any CPU
-		{5BB1E6A2-A2AD-4F58-88A2-11C366464BF2}.Release|x64.ActiveCfg = Release|Any CPU
-		{5BB1E6A2-A2AD-4F58-88A2-11C366464BF2}.Release|x64.Build.0 = Release|Any CPU
-		{5BB1E6A2-A2AD-4F58-88A2-11C366464BF2}.Release|x86.ActiveCfg = Release|Any CPU
-		{5BB1E6A2-A2AD-4F58-88A2-11C366464BF2}.Release|x86.Build.0 = Release|Any CPU
-		{472BEADB-963F-4D55-BC64-C20643A6D4DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{472BEADB-963F-4D55-BC64-C20643A6D4DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{472BEADB-963F-4D55-BC64-C20643A6D4DC}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{472BEADB-963F-4D55-BC64-C20643A6D4DC}.Debug|x64.Build.0 = Debug|Any CPU
-		{472BEADB-963F-4D55-BC64-C20643A6D4DC}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{472BEADB-963F-4D55-BC64-C20643A6D4DC}.Debug|x86.Build.0 = Debug|Any CPU
-		{472BEADB-963F-4D55-BC64-C20643A6D4DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{472BEADB-963F-4D55-BC64-C20643A6D4DC}.Release|Any CPU.Build.0 = Release|Any CPU
-		{472BEADB-963F-4D55-BC64-C20643A6D4DC}.Release|x64.ActiveCfg = Release|Any CPU
-		{472BEADB-963F-4D55-BC64-C20643A6D4DC}.Release|x64.Build.0 = Release|Any CPU
-		{472BEADB-963F-4D55-BC64-C20643A6D4DC}.Release|x86.ActiveCfg = Release|Any CPU
-		{472BEADB-963F-4D55-BC64-C20643A6D4DC}.Release|x86.Build.0 = Release|Any CPU
-		{893271BA-8471-4E60-B1A8-11F5D0C67191}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{893271BA-8471-4E60-B1A8-11F5D0C67191}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{893271BA-8471-4E60-B1A8-11F5D0C67191}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{893271BA-8471-4E60-B1A8-11F5D0C67191}.Debug|x64.Build.0 = Debug|Any CPU
-		{893271BA-8471-4E60-B1A8-11F5D0C67191}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{893271BA-8471-4E60-B1A8-11F5D0C67191}.Debug|x86.Build.0 = Debug|Any CPU
-		{893271BA-8471-4E60-B1A8-11F5D0C67191}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{893271BA-8471-4E60-B1A8-11F5D0C67191}.Release|Any CPU.Build.0 = Release|Any CPU
-		{893271BA-8471-4E60-B1A8-11F5D0C67191}.Release|x64.ActiveCfg = Release|Any CPU
-		{893271BA-8471-4E60-B1A8-11F5D0C67191}.Release|x64.Build.0 = Release|Any CPU
-		{893271BA-8471-4E60-B1A8-11F5D0C67191}.Release|x86.ActiveCfg = Release|Any CPU
-		{893271BA-8471-4E60-B1A8-11F5D0C67191}.Release|x86.Build.0 = Release|Any CPU
-		{A4D185F9-C446-47D5-9250-A741B996E349}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{A4D185F9-C446-47D5-9250-A741B996E349}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{A4D185F9-C446-47D5-9250-A741B996E349}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{A4D185F9-C446-47D5-9250-A741B996E349}.Debug|x64.Build.0 = Debug|Any CPU
-		{A4D185F9-C446-47D5-9250-A741B996E349}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{A4D185F9-C446-47D5-9250-A741B996E349}.Debug|x86.Build.0 = Debug|Any CPU
-		{A4D185F9-C446-47D5-9250-A741B996E349}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{A4D185F9-C446-47D5-9250-A741B996E349}.Release|Any CPU.Build.0 = Release|Any CPU
-		{A4D185F9-C446-47D5-9250-A741B996E349}.Release|x64.ActiveCfg = Release|Any CPU
-		{A4D185F9-C446-47D5-9250-A741B996E349}.Release|x64.Build.0 = Release|Any CPU
-		{A4D185F9-C446-47D5-9250-A741B996E349}.Release|x86.ActiveCfg = Release|Any CPU
-		{A4D185F9-C446-47D5-9250-A741B996E349}.Release|x86.Build.0 = Release|Any CPU
-		{65474CD4-F380-4F14-AC5A-F274E9D1BD8B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{65474CD4-F380-4F14-AC5A-F274E9D1BD8B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{65474CD4-F380-4F14-AC5A-F274E9D1BD8B}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{65474CD4-F380-4F14-AC5A-F274E9D1BD8B}.Debug|x64.Build.0 = Debug|Any CPU
-		{65474CD4-F380-4F14-AC5A-F274E9D1BD8B}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{65474CD4-F380-4F14-AC5A-F274E9D1BD8B}.Debug|x86.Build.0 = Debug|Any CPU
-		{65474CD4-F380-4F14-AC5A-F274E9D1BD8B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{65474CD4-F380-4F14-AC5A-F274E9D1BD8B}.Release|Any CPU.Build.0 = Release|Any CPU
-		{65474CD4-F380-4F14-AC5A-F274E9D1BD8B}.Release|x64.ActiveCfg = Release|Any CPU
-		{65474CD4-F380-4F14-AC5A-F274E9D1BD8B}.Release|x64.Build.0 = Release|Any CPU
-		{65474CD4-F380-4F14-AC5A-F274E9D1BD8B}.Release|x86.ActiveCfg = Release|Any CPU
-		{65474CD4-F380-4F14-AC5A-F274E9D1BD8B}.Release|x86.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -311,12 +225,6 @@ Global
 		{B91E7D43-CCF1-49FC-ACF5-1C88A1C81FA7} = {14963D84-2A63-48CF-AE13-DCF71F1E13A0}
 		{AAF14EDB-BB72-42A9-80AA-3E0E113AC4CA} = {14963D84-2A63-48CF-AE13-DCF71F1E13A0}
 		{2ACC29FB-55CD-4307-B1D1-CC3922BC2CE7} = {14963D84-2A63-48CF-AE13-DCF71F1E13A0}
-		{ED41FEC0-492D-4708-AE43-131B8E2463BD} = {BB93F5A1-C87D-4C69-8C9D-45338C186E01}
-		{5BB1E6A2-A2AD-4F58-88A2-11C366464BF2} = {BB93F5A1-C87D-4C69-8C9D-45338C186E01}
-		{472BEADB-963F-4D55-BC64-C20643A6D4DC} = {BB93F5A1-C87D-4C69-8C9D-45338C186E01}
-		{893271BA-8471-4E60-B1A8-11F5D0C67191} = {BB93F5A1-C87D-4C69-8C9D-45338C186E01}
-		{A4D185F9-C446-47D5-9250-A741B996E349} = {BB93F5A1-C87D-4C69-8C9D-45338C186E01}
-		{65474CD4-F380-4F14-AC5A-F274E9D1BD8B} = {BB93F5A1-C87D-4C69-8C9D-45338C186E01}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {EABC01E3-3EB5-47EF-B46E-AAD8BB3585F1}