[genproj] Getting closer to a full build
authorMiguel de Icaza <miguel@gnome.org>
Tue, 31 May 2016 16:56:57 +0000 (12:56 -0400)
committerMiguel de Icaza <miguel@gnome.org>
Tue, 31 May 2016 19:36:59 +0000 (15:36 -0400)
* Add TODO list
* Use -useSourcePath when building resources, so we do not need to add the explicit extra path
* More updates, now battling resource generation across the board
* Use newlines in the Unix commands to avoid generating things like cs-parser.cs^M

20 files changed:
build-libs.bat
build-libs.sh
mcs/class/Microsoft.Build/Microsoft.Build-net_4_x.csproj
mcs/class/Mono.Data.Sqlite/Makefile
mcs/class/Mono.Data.Sqlite/resources/SR.resx
mcs/class/System.ComponentModel.Composition.4.5/System.ComponentModel.Composition-net_4_x.csproj
mcs/class/System.Data.Services.Client/System.Data.Services.Client-net_4_x.csproj
mcs/class/System.Web.Razor/System.Web.Razor-net_4_x.csproj
mcs/ilasm/ilasm-net_4_x.csproj
mcs/mcs/mcs-net_4_x.csproj
msvc/scripts/Microsoft.Build.pre [new file with mode: 0644]
msvc/scripts/System.ComponentModel.Composition.pre [new file with mode: 0644]
msvc/scripts/System.Data.Services.Client.pre [new file with mode: 0644]
msvc/scripts/System.Web.Razor.pre [new file with mode: 0644]
msvc/scripts/TODO.md [new file with mode: 0644]
msvc/scripts/genproj.cs
msvc/scripts/ilasm.pre [new file with mode: 0644]
msvc/scripts/mcs.pre
msvc/scripts/prepare.cs
net_4_x.sln

index df0d97868d65d778413196ac1edfa52ca1d49991..342a6b8daf3a953dbaf70727877c9ef3ac61b57b 100644 (file)
@@ -1,4 +1,7 @@
 @echo off
 cd mcs\jay
 vcbuild jay.vcxproj
+cd msvc\scripts
+csc prepare.cs
+prepare.exe ..\..\mcs core
 msbuild net_4_x.sln
index 1b339764f8882e235cf17df74826f6987e4b0074..f7583abaa03f6ada46c8a91cd52c828e9f642da6 100755 (executable)
@@ -1,4 +1,4 @@
 #!/bin/sh
 (cd mcs/jay; make)
-(cd msvc/scripts/; make prepare.exe; mono prepare.exe `pwd`/mcs core)
+(cd msvc/scripts/; make prepare.exe; mono prepare.exe ../../mcs core)
 msbuild net_4_x.sln
index 5c8625482862a1226106901042b315a3cff8c42d..2c795c8230348fde6b74c4b51aa60491e23b19ba 100644 (file)
   -->\r
   <PropertyGroup>\r
     <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+$(ProjectDir)\..\..\jay\jay -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Microsoft.Build.Internal\ExpressionParser.jay > $(ProjectDir)\Microsoft.Build.Internal\ExpressionParser.cs
 
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+$(ProjectDir)\..\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Microsoft.Build.Internal\ExpressionParser.jay > $(ProjectDir)\Microsoft.Build.Internal\ExpressionParser.cs\r
 \r
     </PreBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
index a5453d47d276e77ca89d54779f5ff3929f886483..35eb5c1bb817dd6868bb67a56c04783756f440be 100644 (file)
@@ -42,5 +42,5 @@ $(PREBUILT): %.prebuilt: %
        cp $* $@
 
 $(RESX_RESOURCES): %.resources: %.resx
-       $(RESGEN) $< || cp $@.prebuilt $@
+       $(RESGEN) -useSourcePath $< || cp $@.prebuilt $@
 
index 9851beb1a81637581419d04c1504ba9e619ff1de..082a3e024a76a38b799eb62d7623cc7ab73b11ab 100644 (file)
   </resheader>\r
   <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />\r
   <data name="DataTypes" type="System.Resources.ResXFileRef, System.Windows.Forms">\r
-    <value>resources/DataTypes.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>\r
+    <value>DataTypes.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>\r
   </data>\r
   <data name="Keywords" xml:space="preserve">\r
     <value>ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE</value>\r
   </data>\r
   <data name="MetaDataCollections" type="System.Resources.ResXFileRef, System.Windows.Forms">\r
-    <value>resources/MetaDataCollections.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>\r
+    <value>MetaDataCollections.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>\r
   </data>\r
-</root>
\ No newline at end of file
+</root>\r
index 7f8014de96be2c404d1e2fb33ce5db5de55df652..a676a9be185897d8d4b914c88a57ace42cf0eada 100644 (file)
   -->\r
   <PropertyGroup>\r
     <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
+resgen $(ProjectDir)\src\ComponentModel\Strings.resx $(ProjectDir)\Microsoft.Internal.Strings.resx
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
-\r
+resgen $(ProjectDir)\src\ComponentModel\Strings.resx $(ProjectDir)\Microsoft.Internal.Strings.resx\r
     </PreBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
 
index 86f2abd37b1638c00c0730e3b4a28e6667890b35..55b9e130c8cb94ae7b31498208e72f82e704d284 100644 (file)
   -->\r
   <PropertyGroup>\r
     <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
+resgen $(ProjectDir)\Client\System.Data.Services.Client.txt $(ProjectDir)\Client\System.Data.Services.Client.resx
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
-\r
+resgen $(ProjectDir)\Client\System.Data.Services.Client.txt $(ProjectDir)\Client\System.Data.Services.Client.resx\r
     </PreBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
 
index 495234806c5aeb054e9d7462b682a03cba6485c8..561a784fa70bb482782f90d771c851aaed438d51 100644 (file)
   -->\r
   <PropertyGroup>\r
     <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
+resgen $(ProjectDir)\..\..\..\external\aspnetwebstack\src\CommonResources.resx $(ProjectDir)\System.Web.Razor.Common.CommonResources.resx
+resgen $(ProjectDir)\..\..\..\external\aspnetwebstack\src\System.Web.Razor\Resources\RazorResources.resx $(ProjectDir)\System.Web.Razor.Resources.RazorResources.resx
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
-\r
+resgen $(ProjectDir)\..\..\..\external\aspnetwebstack\src\CommonResources.resx $(ProjectDir)\System.Web.Razor.Common.CommonResources.resx
+resgen $(ProjectDir)\..\..\..\external\aspnetwebstack\src\System.Web.Razor\Resources\RazorResources.resx $(ProjectDir)\System.Web.Razor.Resources.RazorResources.resx\r
     </PreBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
 
index bb3643e628c59f0dd487f109dd28294b2533aef7..338a2ea7c56f8741c57e79cbbb26c8de1eb46d9c 100644 (file)
   -->\r
   <PropertyGroup>\r
     <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+$(ProjectDir)\..\jay\jay -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\parser\ILParser.jay > $(ProjectDir)\ILParser.cs
+
 
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+$(ProjectDir)\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\parser\ILParser.jay > $(ProjectDir)\ILParser.cs\r
+\r
 \r
     </PreBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
index e36e17bc2d089ba95f507452f1eb4476e42fba06..5e67322f296b7f526b700db2d29ff174c4032624 100644 (file)
   -->\r
   <PropertyGroup>\r
     <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-$(ProjectDir)\..\jay\jay -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\cs-parser.jay > $(ProjectDir)\cs-parser.cs\r
+$(ProjectDir)\..\jay\jay -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\cs-parser.jay > $(ProjectDir)\cs-parser.cs
+
 
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 $(ProjectDir)\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\cs-parser.jay > $(ProjectDir)\cs-parser.cs\r
 \r
+\r
     </PreBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
 
diff --git a/msvc/scripts/Microsoft.Build.pre b/msvc/scripts/Microsoft.Build.pre
new file mode 100644 (file)
index 0000000..7d981d5
--- /dev/null
@@ -0,0 +1 @@
+$(ProjectDir)\..\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Microsoft.Build.Internal\ExpressionParser.jay > $(ProjectDir)\Microsoft.Build.Internal\ExpressionParser.cs
diff --git a/msvc/scripts/System.ComponentModel.Composition.pre b/msvc/scripts/System.ComponentModel.Composition.pre
new file mode 100644 (file)
index 0000000..70fe6d0
--- /dev/null
@@ -0,0 +1 @@
+resgen $(ProjectDir)\src\ComponentModel\Strings.resx $(ProjectDir)\Microsoft.Internal.Strings.resx
\ No newline at end of file
diff --git a/msvc/scripts/System.Data.Services.Client.pre b/msvc/scripts/System.Data.Services.Client.pre
new file mode 100644 (file)
index 0000000..a8709db
--- /dev/null
@@ -0,0 +1 @@
+resgen $(ProjectDir)\Client\System.Data.Services.Client.txt $(ProjectDir)\Client\System.Data.Services.Client.resx
\ No newline at end of file
diff --git a/msvc/scripts/System.Web.Razor.pre b/msvc/scripts/System.Web.Razor.pre
new file mode 100644 (file)
index 0000000..a33b050
--- /dev/null
@@ -0,0 +1,2 @@
+resgen $(ProjectDir)\..\..\..\external\aspnetwebstack\src\CommonResources.resx $(ProjectDir)\System.Web.Razor.Common.CommonResources.resx
+resgen $(ProjectDir)\..\..\..\external\aspnetwebstack\src\System.Web.Razor\Resources\RazorResources.resx $(ProjectDir)\System.Web.Razor.Resources.RazorResources.resx
\ No newline at end of file
diff --git a/msvc/scripts/TODO.md b/msvc/scripts/TODO.md
new file mode 100644 (file)
index 0000000..7d195a3
--- /dev/null
@@ -0,0 +1,11 @@
+These are the tasks that are pending in the MSVC scripts to fully roll it out:
+
+[ ] Validate that all generated assemblies are identical
+[ ] Add support for listing CLEAN_FILES in the `csproj` file
+[ ] Adding an "install" target
+[ ] On Windows- have a solution that builds both runtime and libraries all in one
+[ ] Add the other profiles (mobile, iOS, etc)
+[ ] Generate the dependency files
+[ ] Eliminate the need for "build-libs.sh/build-libs.bat" at the toplevel with proper MSBuild idioms
+[ ] Integrate the "update-solution-files" with each build, so we auto-update the files on commits
+[ ] Make it work with MSBuild instead of xbuild
index 7c775bb70c9b554b0b0df1092e9c5ae59d026546..5205c6ed6ad592585ccabed5594ed2239e32f386 100644 (file)
@@ -921,7 +921,7 @@ class MsbuildGenerator {
                int q = library.IndexOf ("-");
                if (q != -1)
                        target = target + Load (library.Substring (0, q) + suffix);
-                       
+
                if (target.IndexOf ("@MONO@") != -1){
                        target_unix = target.Replace ("@MONO@", "mono").Replace ("@CAT@", "cat");
                        target_windows = target.Replace ("@MONO@", "").Replace ("@CAT@", "type");
@@ -929,6 +929,10 @@ class MsbuildGenerator {
                        target_unix = target.Replace ("jay.exe", "jay");
                        target_windows = target;
                }
+               target_unix = target_unix.Replace ("@COPY@", "cp");
+               target_windows = target_unix.Replace ("@COPY@", "copy");
+
+               target_unix = target_unix.Replace ("\r", "");
                const string condition_unix    = "Condition=\" '$(OS)' != 'Windows_NT' \"";
                const string condition_windows = "Condition=\" '$(OS)' == 'Windows_NT' \"";
                var result =
diff --git a/msvc/scripts/ilasm.pre b/msvc/scripts/ilasm.pre
new file mode 100644 (file)
index 0000000..fec25b7
--- /dev/null
@@ -0,0 +1,2 @@
+$(ProjectDir)\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\parser\ILParser.jay > $(ProjectDir)\ILParser.cs
+
index 0c19d3a7dc627f5bc4ff09e30aafa38670e73ff7..2126ebd7731d83ee32adb2f8868648e4874e7468 100644 (file)
@@ -1 +1,2 @@
 $(ProjectDir)\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\cs-parser.jay > $(ProjectDir)\cs-parser.cs\r
+\r
index fba952f0701f56e37bebc921a4bd5de1510f0c88..20f78e5cf85b836bfc219964fc9d1a7f6af2cdbb 100644 (file)
@@ -17,6 +17,46 @@ class Prepare {
                        }
                }
        }
+
+       static void SystemDataConnectionReplace (string srcdir, string targetdir, string target, string ns, string factory, string conn)
+       {
+               var t = File.ReadAllText (Path.Combine (srcdir, "DbConnectionHelper.cs"));
+
+               File.WriteAllText (Path.Combine (targetdir, target), t.Replace ("NAMESPACE", ns).Replace ("CONNECTIONFACTORYOBJECTNAME", factory).Replace ("CONNECTIONOBJECTNAME", conn));
+       }
+
+       static void SystemDataParameterReplace (string srcdir, string targetdir, string target, string resns, string ns, string parname)
+       {
+               var t = File.ReadAllText (Path.Combine (srcdir, "DbParameterHelper.cs"));
+
+               File.WriteAllText (Path.Combine (targetdir, target), t.Replace ("RESNAMESPACE", resns).Replace ("NAMESPACE", ns).Replace ("PARAMETEROBJECTNAME", parname));
+       }
+
+       static void SystemDataParameterCollReplace (string srcdir, string targetdir, string target, string resns, string ns, string parname)
+       {
+               var t = File.ReadAllText (Path.Combine (srcdir, "DbParameterCollectionHelper.cs"));
+
+               Console.WriteLine ("Creating " + Path.Combine (targetdir, target));
+               File.WriteAllText (Path.Combine (targetdir, target), t.Replace ("RESNAMESPACE", resns).Replace ("PARAMETERCOLLECTIONOBJECTNAME", parname + "Collection").Replace ("NAMESPACE", ns).Replace ("PARAMETEROBJECTNAME", parname));
+       }
+       
+       static void GenerateSystemData (string bdir)
+       {
+               var rs = Path.Combine (bdir, "class", "referencesource", "System.Data", "System", "Data", "ProviderBase");
+               var sd = Path.Combine (bdir, "class", "System.Data");
+
+               SystemDataConnectionReplace (rs, sd, "gen_OdbcConnection.cs", "System.Data.Odbc", "OdbcConnectionFactory.SingletonInstance", "OdbcConnection");
+               SystemDataConnectionReplace (rs, sd, "gen_OleDbConnection.cs", "System.Data.OleDb", "OleDbConnectionFactory.SingletonInstance", "OleDbConnection");
+               SystemDataConnectionReplace (rs, sd, "gen_SqlConnection.cs", "System.Data.SqlClient", "SqlConnectionFactory.SingletonInstance", "SqlConnection");
+
+               SystemDataParameterReplace (rs, sd, "gen_OdbcParameter.cs", "System.Data", "System.Data.Odbc", "OdbcParameter");
+               SystemDataParameterReplace (rs, sd, "gen_OleDbParameter.cs", "System.Data", "System.Data.OleDb", "OleDbParameter");
+               SystemDataParameterReplace (rs, sd, "gen_SqlParameter.cs", "System.Data", "System.Data.SqlClient", "SqlParameter");
+
+               SystemDataParameterCollReplace (rs, sd, "gen_OdbcParameterCollection.cs", "System.Data", "System.Data.Odbc", "OdbcParameter");
+               SystemDataParameterCollReplace (rs, sd, "gen_OleDbParameterCollection.cs", "System.Data", "System.Data.OleDb", "OleDbParameter");
+               SystemDataParameterCollReplace (rs, sd, "gen_SqlParameterCollection.cs", "System.Data", "System.Data.SqlClient", "SqlParameter");
+       }
        
        static void Main (string [] args)
        {
@@ -32,6 +72,8 @@ class Prepare {
                        Filter (bdir + "/build/common/Consts.cs.in",
                                bdir + "/build/common/Consts.cs",
                                (i, o) => o.Write (i.ReadToEnd ().Replace ("@MONO_VERSION@", "2.5.0")));
+
+                       GenerateSystemData (bdir);
                        break;
                        
                default:
index ba17c5e4e215857005ff74c9b74f17746742998a..55750f27a09c017337d8d581cb0980efa79ee477 100644 (file)
@@ -23,10 +23,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Security-net_4_x", "
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Core-net_4_x", "mcs/class/System.Core/System.Core-net_4_x.csproj", "{359142A1-D80F-401E-AA64-7167C9317649}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Posix-net_4_x", "mcs/class/Mono.Posix/Mono.Posix-net_4_x.csproj", "{66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.CompilerServices.SymbolWriter-net_4_x", "mcs/class/Mono.CompilerServices.SymbolWriter/Mono.CompilerServices.SymbolWriter-net_4_x.csproj", "{88177C4B-894F-485D-B95A-44199C06BE9F}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Posix-net_4_x", "mcs/class/Mono.Posix/Mono.Posix-net_4_x.csproj", "{66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}"
+EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Core-plaincore-net_4_x", "mcs/class/System.Core/System.Core-plaincore-net_4_x.csproj", "{1EC0EBC0-0B35-454C-89AE-3F8F0FDD9705}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "resgen-net_4_x", "mcs/tools/resgen/resgen-net_4_x.csproj", "{647DC12E-A4EE-424A-9EC7-CE6643EE2EF7}"
@@ -725,14 +725,14 @@ Global
                {359142A1-D80F-401E-AA64-7167C9317649}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {359142A1-D80F-401E-AA64-7167C9317649}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {359142A1-D80F-401E-AA64-7167C9317649}.Release|Any CPU.Build.0 = Release|Any CPU
-               {66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}.Release|Any CPU.Build.0 = Release|Any CPU
                {88177C4B-894F-485D-B95A-44199C06BE9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {88177C4B-894F-485D-B95A-44199C06BE9F}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {88177C4B-894F-485D-B95A-44199C06BE9F}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {88177C4B-894F-485D-B95A-44199C06BE9F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}.Release|Any CPU.Build.0 = Release|Any CPU
                {1EC0EBC0-0B35-454C-89AE-3F8F0FDD9705}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {1EC0EBC0-0B35-454C-89AE-3F8F0FDD9705}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {1EC0EBC0-0B35-454C-89AE-3F8F0FDD9705}.Release|Any CPU.ActiveCfg = Release|Any CPU