[mapguide-commits] r9797 - in sandbox/jng/vanilla_swig/Bindings: . src/Bindings src/Bindings/MapGuideApi src/Bindings/Php src/Managed/DotNet/Common src/Managed/Java/org/osgeo/mapguide src/Test/DotNet/src/TestMapGuideApi src/Test/DotNet/src/TestMapGuideApi/ExternalTests src/Test/DotNet/src/TestMisc src/Tools/ClassMapGen src/Tools/ClassMapGen/Data src/Tools/ClassMapGen/Data/Templates

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Fri Nov 20 06:21:55 PST 2020


Author: jng
Date: 2020-11-20 06:21:54 -0800 (Fri, 20 Nov 2020)
New Revision: 9797

Added:
   sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMapGuideApi/ExternalTests/ClassIdSanityTest.cs
Removed:
   sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Data/classmap_master.json
Modified:
   sandbox/jng/vanilla_swig/Bindings/TODO.txt
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/Bindings.sln
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/MapGuideApi/MapGuideApiGen.xml
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/Php/PhpClassMap.cpp
   sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/Common/MgClassMap.cs
   sandbox/jng/vanilla_swig/Bindings/src/Managed/Java/org/osgeo/mapguide/ObjectFactory.java
   sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMapGuideApi/MapGuideTestExecutorCollection.cs
   sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMapGuideApi/TestMapGuideApi.csproj
   sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMisc/Program.cs
   sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMisc/TestMisc.csproj
   sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Data/Templates/dotnet.txt
   sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Data/Templates/java.txt
   sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Program.cs
Log:
- Update .net test suite with a sanity check that all the class ids extracted by ClassMapGen map to types that actually exist in our 5 .net assemblies
- Update MgClassMap template to do a name -> id reverse test to make sure that we haven't accidentally double-registered the same type name under different class ids
- Update ObjectFactory.java template to throw a better error if we cannot resolve a java proxy class from the C++ pointer
- Add upstream dependent projects to Bindings.sln so we don't have to build said projects in Server.sln or WebTier.sln first
- Check in regenerated class maps
- Delete classmap_master.json as that is no longer necessary

Modified: sandbox/jng/vanilla_swig/Bindings/TODO.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/TODO.txt	2020-11-20 10:04:15 UTC (rev 9796)
+++ sandbox/jng/vanilla_swig/Bindings/TODO.txt	2020-11-20 14:21:54 UTC (rev 9797)
@@ -26,8 +26,8 @@
    - [ ] Remove monolithic binding upon verification of test suite across all supported platforms
  - Automatic class id generation (https://github.com/jumpinjackie/mapguide-api-bindings/issues/34)
    - [x] Add SWIG preprocessor that controls whether the class id header should be included
-   - [ ] Run SWIG in XML mode to produce an XML of the MapGuide API surface
-   - [ ] Update ClassMapGen tool to generate class id files for .net/Java/PHP based on this XML file
+   - [x] Run SWIG in XML mode to produce an XML of the MapGuide API surface
+   - [x] Update ClassMapGen tool to generate class id files for .net/Java/PHP based on this XML file
  - [x] Because we've flattened the exception hierarchy, IMake needs to rewrite \exception directives to say in [Java/C#] that it throws MgException with any of the following exception codes
  - Test Suite
    - [x] Sync up current test data under /UnitTest to match what is in GitHub repo
@@ -85,5 +85,6 @@
    - [ ] Port over Java binding
  - Old code cleanup/consolidation
    - [ ] Remove old IMake
+   - [ ] Remove old binding projects from WebTier
    - [ ] Fold FoundationTest into mgserver test suite
    - [ ] Remove SQLite and its related projects from Oem
\ No newline at end of file

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/Bindings.sln
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/Bindings.sln	2020-11-20 10:04:15 UTC (rev 9796)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/Bindings.sln	2020-11-20 14:21:54 UTC (rev 9797)
@@ -5,7 +5,14 @@
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DotNetUnmanagedApi", "DotNet\DotNetUnmanagedApi.vcxproj", "{FDC09E9D-72BB-4C74-B88B-727D9D1D6C4E}"
 	ProjectSection(ProjectDependencies) = postProject
+		{795B1B0E-4EC8-469D-B641-E26324266FBF} = {795B1B0E-4EC8-469D-B641-E26324266FBF}
+		{78619D0E-D3F9-4DDF-B90E-F99CB03DFC44} = {78619D0E-D3F9-4DDF-B90E-F99CB03DFC44}
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4} = {F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}
 		{B601F04C-0D42-4AFC-A092-B31185E2EA8C} = {B601F04C-0D42-4AFC-A092-B31185E2EA8C}
+		{B797917B-6842-467C-8B14-E00B76A91247} = {B797917B-6842-467C-8B14-E00B76A91247}
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425} = {A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}
+		{5287A594-4D4F-43FE-A281-E279AB708CF1} = {5287A594-4D4F-43FE-A281-E279AB708CF1}
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0} = {D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}
 	EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IMake", "..\IMake\IMake.vcxproj", "{B601F04C-0D42-4AFC-A092-B31185E2EA8C}"
@@ -40,6 +47,7 @@
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FoundationApi", "DotNet\Foundation\FoundationApi.vcxproj", "{73C62FF2-C188-4A61-929E-2F112D7E17AA}"
 	ProjectSection(ProjectDependencies) = postProject
 		{B601F04C-0D42-4AFC-A092-B31185E2EA8C} = {B601F04C-0D42-4AFC-A092-B31185E2EA8C}
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425} = {A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}
 	EndProjectSection
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OSGeo.MapGuide.Foundation", "..\Managed\DotNet\OSGeo.MapGuide.Foundation\OSGeo.MapGuide.Foundation.csproj", "{120AC2A9-5EBE-4512-9FF7-54EA04192196}"
@@ -50,6 +58,7 @@
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GeometryApi", "DotNet\Geometry\GeometryApi.vcxproj", "{B994F673-EB8E-4C65-8884-B56AB8783115}"
 	ProjectSection(ProjectDependencies) = postProject
 		{B601F04C-0D42-4AFC-A092-B31185E2EA8C} = {B601F04C-0D42-4AFC-A092-B31185E2EA8C}
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0} = {D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}
 		{73C62FF2-C188-4A61-929E-2F112D7E17AA} = {73C62FF2-C188-4A61-929E-2F112D7E17AA}
 	EndProjectSection
 EndProject
@@ -73,6 +82,7 @@
 	ProjectSection(ProjectDependencies) = postProject
 		{3BAE3F0E-8F3F-404B-B29B-5881C16BD33B} = {3BAE3F0E-8F3F-404B-B29B-5881C16BD33B}
 		{B994F673-EB8E-4C65-8884-B56AB8783115} = {B994F673-EB8E-4C65-8884-B56AB8783115}
+		{5287A594-4D4F-43FE-A281-E279AB708CF1} = {5287A594-4D4F-43FE-A281-E279AB708CF1}
 		{73C62FF2-C188-4A61-929E-2F112D7E17AA} = {73C62FF2-C188-4A61-929E-2F112D7E17AA}
 	EndProjectSection
 EndProject
@@ -88,9 +98,12 @@
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebApi", "DotNet\Web\WebApi.vcxproj", "{C83BF842-ABB1-4870-8003-11EF860E6741}"
 	ProjectSection(ProjectDependencies) = postProject
+		{795B1B0E-4EC8-469D-B641-E26324266FBF} = {795B1B0E-4EC8-469D-B641-E26324266FBF}
 		{3BAE3F0E-8F3F-404B-B29B-5881C16BD33B} = {3BAE3F0E-8F3F-404B-B29B-5881C16BD33B}
+		{78619D0E-D3F9-4DDF-B90E-F99CB03DFC44} = {78619D0E-D3F9-4DDF-B90E-F99CB03DFC44}
 		{B601F04C-0D42-4AFC-A092-B31185E2EA8C} = {B601F04C-0D42-4AFC-A092-B31185E2EA8C}
 		{B994F673-EB8E-4C65-8884-B56AB8783115} = {B994F673-EB8E-4C65-8884-B56AB8783115}
+		{B797917B-6842-467C-8B14-E00B76A91247} = {B797917B-6842-467C-8B14-E00B76A91247}
 		{4A3F2DA2-F53F-48EE-9505-8285F3E089D4} = {4A3F2DA2-F53F-48EE-9505-8285F3E089D4}
 		{73C62FF2-C188-4A61-929E-2F112D7E17AA} = {73C62FF2-C188-4A61-929E-2F112D7E17AA}
 		{42FC41FD-742B-4AED-816E-C211F1B07F3F} = {42FC41FD-742B-4AED-816E-C211F1B07F3F}
@@ -108,156 +121,345 @@
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MgTestAdmin", "..\Tools\MgTestAdmin\MgTestAdmin.csproj", "{096D661F-DEA7-4EAB-95BB-F6A0E0AF59FF}"
 EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Wrap Dependencies", "Wrap Dependencies", "{8CF61B8E-3BE0-4F25-B663-DFB082A67F00}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Geometry", "..\..\..\Common\Geometry\Geometry.vcxproj", "{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Foundation", "..\..\..\Common\Foundation\Foundation.vcxproj", "{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MapGuideCommon", "..\..\..\Common\MapGuideCommon\MapGuideCommon.vcxproj", "{5287A594-4D4F-43FE-A281-E279AB708CF1}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MdfModel", "..\..\..\Common\MdfModel\MdfModel.vcxproj", "{C50254F2-654A-48DE-AF5B-20605AEF8D10}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MdfParser", "..\..\..\Common\MdfParser\MdfParser.vcxproj", "{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlatformBase", "..\..\..\Common\PlatformBase\PlatformBase.vcxproj", "{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}"
+	ProjectSection(ProjectDependencies) = postProject
+		{3BAE3F0E-8F3F-404B-B29B-5881C16BD33B} = {3BAE3F0E-8F3F-404B-B29B-5881C16BD33B}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HttpHandler", "..\..\..\Web\src\HttpHandler\HttpHandler.vcxproj", "{78619D0E-D3F9-4DDF-B90E-F99CB03DFC44}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebApp", "..\..\..\Web\src\WebApp\WebApp.vcxproj", "{B797917B-6842-467C-8B14-E00B76A91247}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebSupport", "..\..\..\Web\src\WebSupport\WebSupport.vcxproj", "{795B1B0E-4EC8-469D-B641-E26324266FBF}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Security", "..\..\..\Common\Security\Security.vcxproj", "{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
 		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
 		Release|Any CPU = Release|Any CPU
 		Release|x64 = Release|x64
+		Release|x86 = Release|x86
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 		{FDC09E9D-72BB-4C74-B88B-727D9D1D6C4E}.Debug|Any CPU.ActiveCfg = Debug|x64
 		{FDC09E9D-72BB-4C74-B88B-727D9D1D6C4E}.Debug|x64.ActiveCfg = Debug|x64
 		{FDC09E9D-72BB-4C74-B88B-727D9D1D6C4E}.Debug|x64.Build.0 = Debug|x64
+		{FDC09E9D-72BB-4C74-B88B-727D9D1D6C4E}.Debug|x86.ActiveCfg = Debug|x64
 		{FDC09E9D-72BB-4C74-B88B-727D9D1D6C4E}.Release|Any CPU.ActiveCfg = Release|x64
 		{FDC09E9D-72BB-4C74-B88B-727D9D1D6C4E}.Release|x64.ActiveCfg = Release|x64
 		{FDC09E9D-72BB-4C74-B88B-727D9D1D6C4E}.Release|x64.Build.0 = Release|x64
+		{FDC09E9D-72BB-4C74-B88B-727D9D1D6C4E}.Release|x86.ActiveCfg = Release|x64
 		{B601F04C-0D42-4AFC-A092-B31185E2EA8C}.Debug|Any CPU.ActiveCfg = Debug|x64
 		{B601F04C-0D42-4AFC-A092-B31185E2EA8C}.Debug|x64.ActiveCfg = Debug|x64
+		{B601F04C-0D42-4AFC-A092-B31185E2EA8C}.Debug|x86.ActiveCfg = Debug|x64
 		{B601F04C-0D42-4AFC-A092-B31185E2EA8C}.Release|Any CPU.ActiveCfg = Release|x64
 		{B601F04C-0D42-4AFC-A092-B31185E2EA8C}.Release|x64.ActiveCfg = Release|x64
 		{B601F04C-0D42-4AFC-A092-B31185E2EA8C}.Release|x64.Build.0 = Release|x64
 		{B601F04C-0D42-4AFC-A092-B31185E2EA8C}.Release|x64.Deploy.0 = Release|x64
+		{B601F04C-0D42-4AFC-A092-B31185E2EA8C}.Release|x86.ActiveCfg = Release|x64
 		{696D2664-D17F-4357-8A19-2B5DC4B29962}.Debug|Any CPU.ActiveCfg = Debug|x64
 		{696D2664-D17F-4357-8A19-2B5DC4B29962}.Debug|x64.ActiveCfg = Debug|x64
 		{696D2664-D17F-4357-8A19-2B5DC4B29962}.Debug|x64.Build.0 = Debug|x64
+		{696D2664-D17F-4357-8A19-2B5DC4B29962}.Debug|x86.ActiveCfg = Debug|x64
 		{696D2664-D17F-4357-8A19-2B5DC4B29962}.Release|Any CPU.ActiveCfg = Release|x64
 		{696D2664-D17F-4357-8A19-2B5DC4B29962}.Release|x64.ActiveCfg = Release|x64
 		{696D2664-D17F-4357-8A19-2B5DC4B29962}.Release|x64.Build.0 = Release|x64
+		{696D2664-D17F-4357-8A19-2B5DC4B29962}.Release|x86.ActiveCfg = Release|x64
 		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Debug|Any CPU.ActiveCfg = Debug|x64
 		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Debug|x64.ActiveCfg = Debug|x64
 		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Debug|x64.Build.0 = Debug|x64
+		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Debug|x86.ActiveCfg = Debug|x64
 		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Release|Any CPU.ActiveCfg = Release|x64
 		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Release|x64.ActiveCfg = Release|x64
 		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Release|x64.Build.0 = Release|x64
+		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Release|x86.ActiveCfg = Release|x64
 		{4A3F2DA2-F53F-48EE-9505-8285F3E089D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{4A3F2DA2-F53F-48EE-9505-8285F3E089D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{4A3F2DA2-F53F-48EE-9505-8285F3E089D4}.Debug|x64.ActiveCfg = Debug|Any CPU
 		{4A3F2DA2-F53F-48EE-9505-8285F3E089D4}.Debug|x64.Build.0 = Debug|Any CPU
+		{4A3F2DA2-F53F-48EE-9505-8285F3E089D4}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{4A3F2DA2-F53F-48EE-9505-8285F3E089D4}.Debug|x86.Build.0 = Debug|Any CPU
 		{4A3F2DA2-F53F-48EE-9505-8285F3E089D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{4A3F2DA2-F53F-48EE-9505-8285F3E089D4}.Release|Any CPU.Build.0 = Release|Any CPU
 		{4A3F2DA2-F53F-48EE-9505-8285F3E089D4}.Release|x64.ActiveCfg = Release|Any CPU
 		{4A3F2DA2-F53F-48EE-9505-8285F3E089D4}.Release|x64.Build.0 = Release|Any CPU
+		{4A3F2DA2-F53F-48EE-9505-8285F3E089D4}.Release|x86.ActiveCfg = Release|Any CPU
+		{4A3F2DA2-F53F-48EE-9505-8285F3E089D4}.Release|x86.Build.0 = Release|Any CPU
 		{73C62FF2-C188-4A61-929E-2F112D7E17AA}.Debug|Any CPU.ActiveCfg = Debug|x64
 		{73C62FF2-C188-4A61-929E-2F112D7E17AA}.Debug|x64.ActiveCfg = Debug|x64
 		{73C62FF2-C188-4A61-929E-2F112D7E17AA}.Debug|x64.Build.0 = Debug|x64
+		{73C62FF2-C188-4A61-929E-2F112D7E17AA}.Debug|x86.ActiveCfg = Debug|x64
 		{73C62FF2-C188-4A61-929E-2F112D7E17AA}.Release|Any CPU.ActiveCfg = Release|x64
 		{73C62FF2-C188-4A61-929E-2F112D7E17AA}.Release|x64.ActiveCfg = Release|x64
 		{73C62FF2-C188-4A61-929E-2F112D7E17AA}.Release|x64.Build.0 = Release|x64
+		{73C62FF2-C188-4A61-929E-2F112D7E17AA}.Release|x86.ActiveCfg = Release|x64
 		{120AC2A9-5EBE-4512-9FF7-54EA04192196}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{120AC2A9-5EBE-4512-9FF7-54EA04192196}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{120AC2A9-5EBE-4512-9FF7-54EA04192196}.Debug|x64.ActiveCfg = Debug|Any CPU
 		{120AC2A9-5EBE-4512-9FF7-54EA04192196}.Debug|x64.Build.0 = Debug|Any CPU
+		{120AC2A9-5EBE-4512-9FF7-54EA04192196}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{120AC2A9-5EBE-4512-9FF7-54EA04192196}.Debug|x86.Build.0 = Debug|Any CPU
 		{120AC2A9-5EBE-4512-9FF7-54EA04192196}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{120AC2A9-5EBE-4512-9FF7-54EA04192196}.Release|Any CPU.Build.0 = Release|Any CPU
 		{120AC2A9-5EBE-4512-9FF7-54EA04192196}.Release|x64.ActiveCfg = Release|Any CPU
 		{120AC2A9-5EBE-4512-9FF7-54EA04192196}.Release|x64.Build.0 = Release|Any CPU
+		{120AC2A9-5EBE-4512-9FF7-54EA04192196}.Release|x86.ActiveCfg = Release|Any CPU
+		{120AC2A9-5EBE-4512-9FF7-54EA04192196}.Release|x86.Build.0 = Release|Any CPU
 		{B994F673-EB8E-4C65-8884-B56AB8783115}.Debug|Any CPU.ActiveCfg = Debug|x64
 		{B994F673-EB8E-4C65-8884-B56AB8783115}.Debug|x64.ActiveCfg = Debug|x64
 		{B994F673-EB8E-4C65-8884-B56AB8783115}.Debug|x64.Build.0 = Debug|x64
+		{B994F673-EB8E-4C65-8884-B56AB8783115}.Debug|x86.ActiveCfg = Debug|x64
 		{B994F673-EB8E-4C65-8884-B56AB8783115}.Release|Any CPU.ActiveCfg = Release|x64
 		{B994F673-EB8E-4C65-8884-B56AB8783115}.Release|x64.ActiveCfg = Release|x64
 		{B994F673-EB8E-4C65-8884-B56AB8783115}.Release|x64.Build.0 = Release|x64
+		{B994F673-EB8E-4C65-8884-B56AB8783115}.Release|x86.ActiveCfg = Release|x64
 		{15A784CC-1DA1-4AF2-81EA-D9EABCD4B760}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{15A784CC-1DA1-4AF2-81EA-D9EABCD4B760}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{15A784CC-1DA1-4AF2-81EA-D9EABCD4B760}.Debug|x64.ActiveCfg = Debug|Any CPU
 		{15A784CC-1DA1-4AF2-81EA-D9EABCD4B760}.Debug|x64.Build.0 = Debug|Any CPU
+		{15A784CC-1DA1-4AF2-81EA-D9EABCD4B760}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{15A784CC-1DA1-4AF2-81EA-D9EABCD4B760}.Debug|x86.Build.0 = Debug|Any CPU
 		{15A784CC-1DA1-4AF2-81EA-D9EABCD4B760}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{15A784CC-1DA1-4AF2-81EA-D9EABCD4B760}.Release|Any CPU.Build.0 = Release|Any CPU
 		{15A784CC-1DA1-4AF2-81EA-D9EABCD4B760}.Release|x64.ActiveCfg = Release|Any CPU
 		{15A784CC-1DA1-4AF2-81EA-D9EABCD4B760}.Release|x64.Build.0 = Release|Any CPU
+		{15A784CC-1DA1-4AF2-81EA-D9EABCD4B760}.Release|x86.ActiveCfg = Release|Any CPU
+		{15A784CC-1DA1-4AF2-81EA-D9EABCD4B760}.Release|x86.Build.0 = Release|Any CPU
 		{3BAE3F0E-8F3F-404B-B29B-5881C16BD33B}.Debug|Any CPU.ActiveCfg = Debug|x64
 		{3BAE3F0E-8F3F-404B-B29B-5881C16BD33B}.Debug|x64.ActiveCfg = Debug|x64
 		{3BAE3F0E-8F3F-404B-B29B-5881C16BD33B}.Debug|x64.Build.0 = Debug|x64
+		{3BAE3F0E-8F3F-404B-B29B-5881C16BD33B}.Debug|x86.ActiveCfg = Debug|x64
 		{3BAE3F0E-8F3F-404B-B29B-5881C16BD33B}.Release|Any CPU.ActiveCfg = Release|x64
 		{3BAE3F0E-8F3F-404B-B29B-5881C16BD33B}.Release|x64.ActiveCfg = Release|x64
 		{3BAE3F0E-8F3F-404B-B29B-5881C16BD33B}.Release|x64.Build.0 = Release|x64
+		{3BAE3F0E-8F3F-404B-B29B-5881C16BD33B}.Release|x86.ActiveCfg = Release|x64
 		{80D0D30B-A9E1-464B-93ED-0EFEAD4EE102}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{80D0D30B-A9E1-464B-93ED-0EFEAD4EE102}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{80D0D30B-A9E1-464B-93ED-0EFEAD4EE102}.Debug|x64.ActiveCfg = Debug|Any CPU
 		{80D0D30B-A9E1-464B-93ED-0EFEAD4EE102}.Debug|x64.Build.0 = Debug|Any CPU
+		{80D0D30B-A9E1-464B-93ED-0EFEAD4EE102}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{80D0D30B-A9E1-464B-93ED-0EFEAD4EE102}.Debug|x86.Build.0 = Debug|Any CPU
 		{80D0D30B-A9E1-464B-93ED-0EFEAD4EE102}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{80D0D30B-A9E1-464B-93ED-0EFEAD4EE102}.Release|Any CPU.Build.0 = Release|Any CPU
 		{80D0D30B-A9E1-464B-93ED-0EFEAD4EE102}.Release|x64.ActiveCfg = Release|Any CPU
 		{80D0D30B-A9E1-464B-93ED-0EFEAD4EE102}.Release|x64.Build.0 = Release|Any CPU
+		{80D0D30B-A9E1-464B-93ED-0EFEAD4EE102}.Release|x86.ActiveCfg = Release|Any CPU
+		{80D0D30B-A9E1-464B-93ED-0EFEAD4EE102}.Release|x86.Build.0 = Release|Any CPU
 		{42FC41FD-742B-4AED-816E-C211F1B07F3F}.Debug|Any CPU.ActiveCfg = Debug|x64
 		{42FC41FD-742B-4AED-816E-C211F1B07F3F}.Debug|x64.ActiveCfg = Debug|x64
 		{42FC41FD-742B-4AED-816E-C211F1B07F3F}.Debug|x64.Build.0 = Debug|x64
+		{42FC41FD-742B-4AED-816E-C211F1B07F3F}.Debug|x86.ActiveCfg = Debug|x64
 		{42FC41FD-742B-4AED-816E-C211F1B07F3F}.Release|Any CPU.ActiveCfg = Release|x64
 		{42FC41FD-742B-4AED-816E-C211F1B07F3F}.Release|x64.ActiveCfg = Release|x64
 		{42FC41FD-742B-4AED-816E-C211F1B07F3F}.Release|x64.Build.0 = Release|x64
+		{42FC41FD-742B-4AED-816E-C211F1B07F3F}.Release|x86.ActiveCfg = Release|x64
 		{B4C52243-CBA3-4FB7-BB22-4D44331D6058}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{B4C52243-CBA3-4FB7-BB22-4D44331D6058}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{B4C52243-CBA3-4FB7-BB22-4D44331D6058}.Debug|x64.ActiveCfg = Debug|Any CPU
 		{B4C52243-CBA3-4FB7-BB22-4D44331D6058}.Debug|x64.Build.0 = Debug|Any CPU
+		{B4C52243-CBA3-4FB7-BB22-4D44331D6058}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{B4C52243-CBA3-4FB7-BB22-4D44331D6058}.Debug|x86.Build.0 = Debug|Any CPU
 		{B4C52243-CBA3-4FB7-BB22-4D44331D6058}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{B4C52243-CBA3-4FB7-BB22-4D44331D6058}.Release|Any CPU.Build.0 = Release|Any CPU
 		{B4C52243-CBA3-4FB7-BB22-4D44331D6058}.Release|x64.ActiveCfg = Release|Any CPU
 		{B4C52243-CBA3-4FB7-BB22-4D44331D6058}.Release|x64.Build.0 = Release|Any CPU
+		{B4C52243-CBA3-4FB7-BB22-4D44331D6058}.Release|x86.ActiveCfg = Release|Any CPU
+		{B4C52243-CBA3-4FB7-BB22-4D44331D6058}.Release|x86.Build.0 = Release|Any CPU
 		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Debug|x64.ActiveCfg = Debug|Any CPU
 		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Debug|x64.Build.0 = Debug|Any CPU
+		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Debug|x86.Build.0 = Debug|Any CPU
 		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Release|Any CPU.Build.0 = Release|Any CPU
 		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Release|x64.ActiveCfg = Release|Any CPU
 		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Release|x64.Build.0 = Release|Any CPU
+		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Release|x86.ActiveCfg = Release|Any CPU
+		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Release|x86.Build.0 = Release|Any CPU
 		{C83BF842-ABB1-4870-8003-11EF860E6741}.Debug|Any CPU.ActiveCfg = Debug|x64
 		{C83BF842-ABB1-4870-8003-11EF860E6741}.Debug|x64.ActiveCfg = Debug|x64
 		{C83BF842-ABB1-4870-8003-11EF860E6741}.Debug|x64.Build.0 = Debug|x64
+		{C83BF842-ABB1-4870-8003-11EF860E6741}.Debug|x86.ActiveCfg = Debug|x64
 		{C83BF842-ABB1-4870-8003-11EF860E6741}.Release|Any CPU.ActiveCfg = Release|x64
 		{C83BF842-ABB1-4870-8003-11EF860E6741}.Release|x64.ActiveCfg = Release|x64
 		{C83BF842-ABB1-4870-8003-11EF860E6741}.Release|x64.Build.0 = Release|x64
+		{C83BF842-ABB1-4870-8003-11EF860E6741}.Release|x86.ActiveCfg = Release|x64
 		{C266761B-BC19-4BD7-9EE8-3AE2CE7DE7A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{C266761B-BC19-4BD7-9EE8-3AE2CE7DE7A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{C266761B-BC19-4BD7-9EE8-3AE2CE7DE7A4}.Debug|x64.ActiveCfg = Debug|Any CPU
 		{C266761B-BC19-4BD7-9EE8-3AE2CE7DE7A4}.Debug|x64.Build.0 = Debug|Any CPU
+		{C266761B-BC19-4BD7-9EE8-3AE2CE7DE7A4}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{C266761B-BC19-4BD7-9EE8-3AE2CE7DE7A4}.Debug|x86.Build.0 = Debug|Any CPU
 		{C266761B-BC19-4BD7-9EE8-3AE2CE7DE7A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{C266761B-BC19-4BD7-9EE8-3AE2CE7DE7A4}.Release|Any CPU.Build.0 = Release|Any CPU
 		{C266761B-BC19-4BD7-9EE8-3AE2CE7DE7A4}.Release|x64.ActiveCfg = Release|Any CPU
 		{C266761B-BC19-4BD7-9EE8-3AE2CE7DE7A4}.Release|x64.Build.0 = Release|Any CPU
+		{C266761B-BC19-4BD7-9EE8-3AE2CE7DE7A4}.Release|x86.ActiveCfg = Release|Any CPU
+		{C266761B-BC19-4BD7-9EE8-3AE2CE7DE7A4}.Release|x86.Build.0 = Release|Any CPU
 		{42199427-9825-4A45-A3D1-5C3090C57035}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{42199427-9825-4A45-A3D1-5C3090C57035}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{42199427-9825-4A45-A3D1-5C3090C57035}.Debug|x64.ActiveCfg = Debug|Any CPU
 		{42199427-9825-4A45-A3D1-5C3090C57035}.Debug|x64.Build.0 = Debug|Any CPU
+		{42199427-9825-4A45-A3D1-5C3090C57035}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{42199427-9825-4A45-A3D1-5C3090C57035}.Debug|x86.Build.0 = Debug|Any CPU
 		{42199427-9825-4A45-A3D1-5C3090C57035}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{42199427-9825-4A45-A3D1-5C3090C57035}.Release|Any CPU.Build.0 = Release|Any CPU
 		{42199427-9825-4A45-A3D1-5C3090C57035}.Release|x64.ActiveCfg = Release|Any CPU
 		{42199427-9825-4A45-A3D1-5C3090C57035}.Release|x64.Build.0 = Release|Any CPU
+		{42199427-9825-4A45-A3D1-5C3090C57035}.Release|x86.ActiveCfg = Release|Any CPU
+		{42199427-9825-4A45-A3D1-5C3090C57035}.Release|x86.Build.0 = Release|Any CPU
 		{7A73A95F-DCCC-4880-BA8C-AE8D9D48FA59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{7A73A95F-DCCC-4880-BA8C-AE8D9D48FA59}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{7A73A95F-DCCC-4880-BA8C-AE8D9D48FA59}.Debug|x64.ActiveCfg = Debug|Any CPU
 		{7A73A95F-DCCC-4880-BA8C-AE8D9D48FA59}.Debug|x64.Build.0 = Debug|Any CPU
+		{7A73A95F-DCCC-4880-BA8C-AE8D9D48FA59}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{7A73A95F-DCCC-4880-BA8C-AE8D9D48FA59}.Debug|x86.Build.0 = Debug|Any CPU
 		{7A73A95F-DCCC-4880-BA8C-AE8D9D48FA59}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{7A73A95F-DCCC-4880-BA8C-AE8D9D48FA59}.Release|Any CPU.Build.0 = Release|Any CPU
 		{7A73A95F-DCCC-4880-BA8C-AE8D9D48FA59}.Release|x64.ActiveCfg = Release|Any CPU
 		{7A73A95F-DCCC-4880-BA8C-AE8D9D48FA59}.Release|x64.Build.0 = Release|Any CPU
+		{7A73A95F-DCCC-4880-BA8C-AE8D9D48FA59}.Release|x86.ActiveCfg = Release|Any CPU
+		{7A73A95F-DCCC-4880-BA8C-AE8D9D48FA59}.Release|x86.Build.0 = Release|Any CPU
 		{27210DB6-811B-4D4E-A7E0-6488E5AFA733}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{27210DB6-811B-4D4E-A7E0-6488E5AFA733}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{27210DB6-811B-4D4E-A7E0-6488E5AFA733}.Debug|x64.ActiveCfg = Debug|Any CPU
 		{27210DB6-811B-4D4E-A7E0-6488E5AFA733}.Debug|x64.Build.0 = Debug|Any CPU
+		{27210DB6-811B-4D4E-A7E0-6488E5AFA733}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{27210DB6-811B-4D4E-A7E0-6488E5AFA733}.Debug|x86.Build.0 = Debug|Any CPU
 		{27210DB6-811B-4D4E-A7E0-6488E5AFA733}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{27210DB6-811B-4D4E-A7E0-6488E5AFA733}.Release|Any CPU.Build.0 = Release|Any CPU
 		{27210DB6-811B-4D4E-A7E0-6488E5AFA733}.Release|x64.ActiveCfg = Release|Any CPU
 		{27210DB6-811B-4D4E-A7E0-6488E5AFA733}.Release|x64.Build.0 = Release|Any CPU
+		{27210DB6-811B-4D4E-A7E0-6488E5AFA733}.Release|x86.ActiveCfg = Release|Any CPU
+		{27210DB6-811B-4D4E-A7E0-6488E5AFA733}.Release|x86.Build.0 = Release|Any CPU
 		{096D661F-DEA7-4EAB-95BB-F6A0E0AF59FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{096D661F-DEA7-4EAB-95BB-F6A0E0AF59FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{096D661F-DEA7-4EAB-95BB-F6A0E0AF59FF}.Debug|x64.ActiveCfg = Debug|Any CPU
 		{096D661F-DEA7-4EAB-95BB-F6A0E0AF59FF}.Debug|x64.Build.0 = Debug|Any CPU
+		{096D661F-DEA7-4EAB-95BB-F6A0E0AF59FF}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{096D661F-DEA7-4EAB-95BB-F6A0E0AF59FF}.Debug|x86.Build.0 = Debug|Any CPU
 		{096D661F-DEA7-4EAB-95BB-F6A0E0AF59FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{096D661F-DEA7-4EAB-95BB-F6A0E0AF59FF}.Release|Any CPU.Build.0 = Release|Any CPU
 		{096D661F-DEA7-4EAB-95BB-F6A0E0AF59FF}.Release|x64.ActiveCfg = Release|Any CPU
 		{096D661F-DEA7-4EAB-95BB-F6A0E0AF59FF}.Release|x64.Build.0 = Release|Any CPU
+		{096D661F-DEA7-4EAB-95BB-F6A0E0AF59FF}.Release|x86.ActiveCfg = Release|Any CPU
+		{096D661F-DEA7-4EAB-95BB-F6A0E0AF59FF}.Release|x86.Build.0 = Release|Any CPU
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Debug|Any CPU.ActiveCfg = Debug|Win32
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Debug|x64.ActiveCfg = Debug|x64
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Debug|x64.Build.0 = Debug|x64
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Debug|x86.ActiveCfg = Debug|Win32
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Debug|x86.Build.0 = Debug|Win32
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Release|Any CPU.ActiveCfg = Release|Win32
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Release|x64.ActiveCfg = Release|x64
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Release|x64.Build.0 = Release|x64
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Release|x86.ActiveCfg = Release|Win32
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Release|x86.Build.0 = Release|Win32
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Debug|Any CPU.ActiveCfg = Debug|Win32
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Debug|x64.ActiveCfg = Debug|x64
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Debug|x64.Build.0 = Debug|x64
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Debug|x86.ActiveCfg = Debug|Win32
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Debug|x86.Build.0 = Debug|Win32
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Release|Any CPU.ActiveCfg = Release|Win32
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Release|x64.ActiveCfg = Release|x64
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Release|x64.Build.0 = Release|x64
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Release|x86.ActiveCfg = Release|Win32
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Release|x86.Build.0 = Release|Win32
+		{5287A594-4D4F-43FE-A281-E279AB708CF1}.Debug|Any CPU.ActiveCfg = Debug|Win32
+		{5287A594-4D4F-43FE-A281-E279AB708CF1}.Debug|x64.ActiveCfg = Debug|x64
+		{5287A594-4D4F-43FE-A281-E279AB708CF1}.Debug|x64.Build.0 = Debug|x64
+		{5287A594-4D4F-43FE-A281-E279AB708CF1}.Debug|x86.ActiveCfg = Debug|Win32
+		{5287A594-4D4F-43FE-A281-E279AB708CF1}.Debug|x86.Build.0 = Debug|Win32
+		{5287A594-4D4F-43FE-A281-E279AB708CF1}.Release|Any CPU.ActiveCfg = Release|Win32
+		{5287A594-4D4F-43FE-A281-E279AB708CF1}.Release|x64.ActiveCfg = Release|x64
+		{5287A594-4D4F-43FE-A281-E279AB708CF1}.Release|x64.Build.0 = Release|x64
+		{5287A594-4D4F-43FE-A281-E279AB708CF1}.Release|x86.ActiveCfg = Release|Win32
+		{5287A594-4D4F-43FE-A281-E279AB708CF1}.Release|x86.Build.0 = Release|Win32
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Debug|Any CPU.ActiveCfg = Debug|Win32
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Debug|x64.ActiveCfg = Debug|x64
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Debug|x64.Build.0 = Debug|x64
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Debug|x86.ActiveCfg = Debug|Win32
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Debug|x86.Build.0 = Debug|Win32
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Release|Any CPU.ActiveCfg = Release|Win32
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Release|x64.ActiveCfg = Release|x64
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Release|x64.Build.0 = Release|x64
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Release|x86.ActiveCfg = Release|Win32
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Release|x86.Build.0 = Release|Win32
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Debug|Any CPU.ActiveCfg = Debug|Win32
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Debug|x64.ActiveCfg = Debug|x64
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Debug|x64.Build.0 = Debug|x64
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Debug|x86.ActiveCfg = Debug|Win32
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Debug|x86.Build.0 = Debug|Win32
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Release|Any CPU.ActiveCfg = Release|Win32
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Release|x64.ActiveCfg = Release|x64
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Release|x64.Build.0 = Release|x64
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Release|x86.ActiveCfg = Release|Win32
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Release|x86.Build.0 = Release|Win32
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Debug|Any CPU.ActiveCfg = Debug|Win32
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Debug|x64.ActiveCfg = Debug|x64
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Debug|x64.Build.0 = Debug|x64
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Debug|x86.ActiveCfg = Debug|Win32
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Debug|x86.Build.0 = Debug|Win32
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Release|Any CPU.ActiveCfg = Release|Win32
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Release|x64.ActiveCfg = Release|x64
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Release|x64.Build.0 = Release|x64
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Release|x86.ActiveCfg = Release|Win32
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Release|x86.Build.0 = Release|Win32
+		{78619D0E-D3F9-4DDF-B90E-F99CB03DFC44}.Debug|Any CPU.ActiveCfg = Debug|Win32
+		{78619D0E-D3F9-4DDF-B90E-F99CB03DFC44}.Debug|x64.ActiveCfg = Debug|x64
+		{78619D0E-D3F9-4DDF-B90E-F99CB03DFC44}.Debug|x64.Build.0 = Debug|x64
+		{78619D0E-D3F9-4DDF-B90E-F99CB03DFC44}.Debug|x86.ActiveCfg = Debug|Win32
+		{78619D0E-D3F9-4DDF-B90E-F99CB03DFC44}.Debug|x86.Build.0 = Debug|Win32
+		{78619D0E-D3F9-4DDF-B90E-F99CB03DFC44}.Release|Any CPU.ActiveCfg = Release|Win32
+		{78619D0E-D3F9-4DDF-B90E-F99CB03DFC44}.Release|x64.ActiveCfg = Release|x64
+		{78619D0E-D3F9-4DDF-B90E-F99CB03DFC44}.Release|x64.Build.0 = Release|x64
+		{78619D0E-D3F9-4DDF-B90E-F99CB03DFC44}.Release|x86.ActiveCfg = Release|Win32
+		{78619D0E-D3F9-4DDF-B90E-F99CB03DFC44}.Release|x86.Build.0 = Release|Win32
+		{B797917B-6842-467C-8B14-E00B76A91247}.Debug|Any CPU.ActiveCfg = Debug|Win32
+		{B797917B-6842-467C-8B14-E00B76A91247}.Debug|x64.ActiveCfg = Debug|x64
+		{B797917B-6842-467C-8B14-E00B76A91247}.Debug|x64.Build.0 = Debug|x64
+		{B797917B-6842-467C-8B14-E00B76A91247}.Debug|x86.ActiveCfg = Debug|Win32
+		{B797917B-6842-467C-8B14-E00B76A91247}.Debug|x86.Build.0 = Debug|Win32
+		{B797917B-6842-467C-8B14-E00B76A91247}.Release|Any CPU.ActiveCfg = Release|Win32
+		{B797917B-6842-467C-8B14-E00B76A91247}.Release|x64.ActiveCfg = Release|x64
+		{B797917B-6842-467C-8B14-E00B76A91247}.Release|x64.Build.0 = Release|x64
+		{B797917B-6842-467C-8B14-E00B76A91247}.Release|x86.ActiveCfg = Release|Win32
+		{B797917B-6842-467C-8B14-E00B76A91247}.Release|x86.Build.0 = Release|Win32
+		{795B1B0E-4EC8-469D-B641-E26324266FBF}.Debug|Any CPU.ActiveCfg = Debug|Win32
+		{795B1B0E-4EC8-469D-B641-E26324266FBF}.Debug|x64.ActiveCfg = Debug|x64
+		{795B1B0E-4EC8-469D-B641-E26324266FBF}.Debug|x64.Build.0 = Debug|x64
+		{795B1B0E-4EC8-469D-B641-E26324266FBF}.Debug|x86.ActiveCfg = Debug|Win32
+		{795B1B0E-4EC8-469D-B641-E26324266FBF}.Debug|x86.Build.0 = Debug|Win32
+		{795B1B0E-4EC8-469D-B641-E26324266FBF}.Release|Any CPU.ActiveCfg = Release|Win32
+		{795B1B0E-4EC8-469D-B641-E26324266FBF}.Release|x64.ActiveCfg = Release|x64
+		{795B1B0E-4EC8-469D-B641-E26324266FBF}.Release|x64.Build.0 = Release|x64
+		{795B1B0E-4EC8-469D-B641-E26324266FBF}.Release|x86.ActiveCfg = Release|Win32
+		{795B1B0E-4EC8-469D-B641-E26324266FBF}.Release|x86.Build.0 = Release|Win32
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Debug|Any CPU.ActiveCfg = Debug|Win32
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Debug|x64.ActiveCfg = Debug|x64
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Debug|x64.Build.0 = Debug|x64
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Debug|x86.ActiveCfg = Debug|Win32
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Debug|x86.Build.0 = Debug|Win32
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Release|Any CPU.ActiveCfg = Release|Win32
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Release|x64.ActiveCfg = Release|x64
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Release|x64.Build.0 = Release|x64
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Release|x86.ActiveCfg = Release|Win32
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Release|x86.Build.0 = Release|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -285,6 +487,16 @@
 		{7A73A95F-DCCC-4880-BA8C-AE8D9D48FA59} = {99132700-5CAD-4540-9939-7502C1A448EA}
 		{27210DB6-811B-4D4E-A7E0-6488E5AFA733} = {99132700-5CAD-4540-9939-7502C1A448EA}
 		{096D661F-DEA7-4EAB-95BB-F6A0E0AF59FF} = {99132700-5CAD-4540-9939-7502C1A448EA}
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0} = {8CF61B8E-3BE0-4F25-B663-DFB082A67F00}
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425} = {8CF61B8E-3BE0-4F25-B663-DFB082A67F00}
+		{5287A594-4D4F-43FE-A281-E279AB708CF1} = {8CF61B8E-3BE0-4F25-B663-DFB082A67F00}
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10} = {8CF61B8E-3BE0-4F25-B663-DFB082A67F00}
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7} = {8CF61B8E-3BE0-4F25-B663-DFB082A67F00}
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4} = {8CF61B8E-3BE0-4F25-B663-DFB082A67F00}
+		{78619D0E-D3F9-4DDF-B90E-F99CB03DFC44} = {8CF61B8E-3BE0-4F25-B663-DFB082A67F00}
+		{B797917B-6842-467C-8B14-E00B76A91247} = {8CF61B8E-3BE0-4F25-B663-DFB082A67F00}
+		{795B1B0E-4EC8-469D-B641-E26324266FBF} = {8CF61B8E-3BE0-4F25-B663-DFB082A67F00}
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B} = {8CF61B8E-3BE0-4F25-B663-DFB082A67F00}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {733BCCC2-0431-4AB7-ABB6-AAE81AB54C48}

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/MapGuideApi/MapGuideApiGen.xml
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/MapGuideApi/MapGuideApiGen.xml	2020-11-20 10:04:15 UTC (rev 9796)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/MapGuideApi/MapGuideApiGen.xml	2020-11-20 14:21:54 UTC (rev 9797)
@@ -197,6 +197,7 @@
     <Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticAnalyticalTransformDefParams.h" />
     <Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticInterpolationTransformDefParams.h" />
     <Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticMultipleRegressionTransformDefParams.h" />
+    <Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformDefParams.h" />
     <Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefDictionary.h" />
     <Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemDictionary.h" />
     <Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemDictionaryUtility.h" />

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/Php/PhpClassMap.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/Php/PhpClassMap.cpp	2020-11-20 10:04:15 UTC (rev 9796)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/Php/PhpClassMap.cpp	2020-11-20 14:21:54 UTC (rev 9797)
@@ -6,11 +6,7 @@
 
     classNameMap[20004] = "_p_MgAgfReaderWriter";
     classNameMap[20005] = "_p_MgAggregateGeometry";
-    classNameMap[1500] = "_p_MgApplicationException";
     classNameMap[20006] = "_p_MgArcSegment";
-    classNameMap[1501] = "_p_MgArgumentOutOfRangeException";
-    classNameMap[10500] = "_p_MgArrayTypeMismatchException";
-    classNameMap[30000] = "_p_MgAuthenticationFailedException";
     classNameMap[1005] = "_p_MgBatchPropertyCollection";
     classNameMap[10252] = "_p_MgBlobProperty";
     classNameMap[10253] = "_p_MgBooleanProperty";
@@ -20,22 +16,15 @@
     classNameMap[1251] = "_p_MgByteSource";
     classNameMap[11750] = "_p_MgClassDefinition";
     classNameMap[11780] = "_p_MgClassDefinitionCollection";
-    classNameMap[1502] = "_p_MgClassNotFoundException";
     classNameMap[10255] = "_p_MgClobProperty";
     classNameMap[10250] = "_p_MgColor";
-    classNameMap[1503] = "_p_MgConfigurationException";
-    classNameMap[1504] = "_p_MgConfigurationLoadFailedException";
-    classNameMap[1505] = "_p_MgConfigurationSaveFailedException";
-    classNameMap[30001] = "_p_MgConnectionFailedException";
-    classNameMap[30002] = "_p_MgConnectionNotOpenException";
     classNameMap[20003] = "_p_MgCoordinate";
+    classNameMap[20008] = "_p_MgCoordinateCollection";
     classNameMap[20009] = "_p_MgCoordinateIterator";
     classNameMap[20500] = "_p_MgCoordinateSystem";
     classNameMap[20504] = "_p_MgCoordinateSystemCatalog";
     classNameMap[20506] = "_p_MgCoordinateSystemCategory";
     classNameMap[20510] = "_p_MgCoordinateSystemCategoryDictionary";
-    classNameMap[21000] = "_p_MgCoordinateSystemComputationFailedException";
-    classNameMap[21001] = "_p_MgCoordinateSystemConversionFailedException";
     classNameMap[20507] = "_p_MgCoordinateSystemDatum";
     classNameMap[20512] = "_p_MgCoordinateSystemDatumDictionary";
     classNameMap[20511] = "_p_MgCoordinateSystemDictionary";
@@ -54,9 +43,11 @@
     classNameMap[20533] = "_p_MgCoordinateSystemGeodeticPath";
     classNameMap[20535] = "_p_MgCoordinateSystemGeodeticPathDictionary";
     classNameMap[20534] = "_p_MgCoordinateSystemGeodeticPathElement";
+    classNameMap[20546] = "_p_MgCoordinateSystemGeodeticStandaloneTransformDefParams";
     classNameMap[20508] = "_p_MgCoordinateSystemGeodeticTransformation";
     classNameMap[20536] = "_p_MgCoordinateSystemGeodeticTransformDef";
     classNameMap[20540] = "_p_MgCoordinateSystemGeodeticTransformDefDictionary";
+    classNameMap[20541] = "_p_MgCoordinateSystemGeodeticTransformDefParams";
     classNameMap[20545] = "_p_MgCoordinateSystemGeodeticTransformGridFile";
     classNameMap[20532] = "_p_MgCoordinateSystemGridBase";
     classNameMap[20524] = "_p_MgCoordinateSystemGridBoundary";
@@ -67,15 +58,11 @@
     classNameMap[20525] = "_p_MgCoordinateSystemGridSpecification";
     classNameMap[20531] = "_p_MgCoordinateSystemGridTick";
     classNameMap[20528] = "_p_MgCoordinateSystemGridTickCollection";
-    classNameMap[21002] = "_p_MgCoordinateSystemInitializationFailedException";
-    classNameMap[21003] = "_p_MgCoordinateSystemLoadFailedException";
     classNameMap[20518] = "_p_MgCoordinateSystemMathComparator";
     classNameMap[20502] = "_p_MgCoordinateSystemMeasure";
-    classNameMap[21004] = "_p_MgCoordinateSystemMeasureFailedException";
     classNameMap[20522] = "_p_MgCoordinateSystemMgrs";
     classNameMap[20520] = "_p_MgCoordinateSystemProjectionInformation";
     classNameMap[20503] = "_p_MgCoordinateSystemTransform";
-    classNameMap[21005] = "_p_MgCoordinateSystemTransformFailedException";
     classNameMap[20519] = "_p_MgCoordinateSystemUnitInformation";
     classNameMap[20048] = "_p_MgCoordinateXY";
     classNameMap[20051] = "_p_MgCoordinateXYM";
@@ -93,41 +80,15 @@
     classNameMap[11751] = "_p_MgDataPropertyDefinition";
     classNameMap[11773] = "_p_MgDataReader";
     classNameMap[1256] = "_p_MgDateTime";
-    classNameMap[1506] = "_p_MgDateTimeException";
     classNameMap[10256] = "_p_MgDateTimeProperty";
-    classNameMap[30003] = "_p_MgDbException";
-    classNameMap[30004] = "_p_MgDbXmlException";
-    classNameMap[1507] = "_p_MgDecryptionException";
     classNameMap[11775] = "_p_MgDeleteFeatures";
-    classNameMap[1508] = "_p_MgDirectoryNotFoundException";
+    classNameMap[2251] = "_p_MgDisposable";
     classNameMap[1000] = "_p_MgDisposableCollection";
-    classNameMap[1509] = "_p_MgDivideByZeroException";
-    classNameMap[1510] = "_p_MgDomainException";
     classNameMap[10257] = "_p_MgDoubleProperty";
     classNameMap[30700] = "_p_MgDrawingService";
-    classNameMap[1511] = "_p_MgDuplicateDirectoryException";
-    classNameMap[1512] = "_p_MgDuplicateFileException";
-    classNameMap[30005] = "_p_MgDuplicateGroupException";
-    classNameMap[30006] = "_p_MgDuplicateNameException";
-    classNameMap[1513] = "_p_MgDuplicateObjectException";
-    classNameMap[30007] = "_p_MgDuplicateParameterException";
-    classNameMap[30008] = "_p_MgDuplicateRepositoryException";
-    classNameMap[10501] = "_p_MgDuplicateResourceDataException";
-    classNameMap[10502] = "_p_MgDuplicateResourceException";
-    classNameMap[30009] = "_p_MgDuplicateRoleException";
-    classNameMap[30010] = "_p_MgDuplicateServerException";
-    classNameMap[30011] = "_p_MgDuplicateSessionException";
-    classNameMap[30012] = "_p_MgDuplicateUserException";
-    classNameMap[30013] = "_p_MgDwfException";
-    classNameMap[30014] = "_p_MgDwfSectionNotFoundException";
-    classNameMap[30015] = "_p_MgDwfSectionResourceNotFoundException";
     classNameMap[30901] = "_p_MgDwfVersion";
-    classNameMap[10503] = "_p_MgEmptyFeatureSetException";
-    classNameMap[1514] = "_p_MgEncryptionException";
-    classNameMap[30016] = "_p_MgEndOfStreamException";
     classNameMap[20001] = "_p_MgEnvelope";
     classNameMap[1515] = "_p_MgException";
-    classNameMap[10504] = "_p_MgFdoException";
     classNameMap[11772] = "_p_MgFeatureAggregateOptions";
     classNameMap[11774] = "_p_MgFeatureCommandCollection";
     classNameMap[31001] = "_p_MgFeatureInformation";
@@ -137,20 +98,16 @@
     classNameMap[11778] = "_p_MgFeatureSchema";
     classNameMap[11779] = "_p_MgFeatureSchemaCollection";
     classNameMap[11754] = "_p_MgFeatureService";
-    classNameMap[10505] = "_p_MgFeatureServiceException";
     classNameMap[11786] = "_p_MgFileFeatureSourceParams";
-    classNameMap[1516] = "_p_MgFileIoException";
-    classNameMap[1517] = "_p_MgFileNotFoundException";
     classNameMap[20016] = "_p_MgGeometricEntity";
     classNameMap[11756] = "_p_MgGeometricPropertyDefinition";
-    classNameMap[20019] = "_p_MgGeometry";
+    classNameMap[11757] = "_p_MgGeometry";
     classNameMap[20020] = "_p_MgGeometryCollection";
     classNameMap[20021] = "_p_MgGeometryComponent";
-    classNameMap[21006] = "_p_MgGeometryException";
     classNameMap[20002] = "_p_MgGeometryFactory";
     classNameMap[11758] = "_p_MgGeometryProperty";
+    classNameMap[20054] = "_p_MgGeometrySimplifier";
     classNameMap[11785] = "_p_MgGeometryTypeInfo";
-    classNameMap[30018] = "_p_MgGroupNotFoundException";
     classNameMap[11782] = "_p_MgGwsFeatureReader";
     classNameMap[40000] = "_p_MgHttpHeader";
     classNameMap[40006] = "_p_MgHttpPrimitiveValue";
@@ -159,41 +116,11 @@
     classNameMap[40001] = "_p_MgHttpRequestParam";
     classNameMap[40005] = "_p_MgHttpResponse";
     classNameMap[40003] = "_p_MgHttpResult";
-    classNameMap[1518] = "_p_MgIndexOutOfRangeException";
     classNameMap[11776] = "_p_MgInsertFeatures";
     classNameMap[10258] = "_p_MgInt16Property";
     classNameMap[10259] = "_p_MgInt32Property";
     classNameMap[10260] = "_p_MgInt64Property";
     classNameMap[10000] = "_p_MgIntCollection";
-    classNameMap[1519] = "_p_MgInvalidArgumentException";
-    classNameMap[1520] = "_p_MgInvalidCastException";
-    classNameMap[21007] = "_p_MgInvalidCoordinateSystemException";
-    classNameMap[21008] = "_p_MgInvalidCoordinateSystemTypeException";
-    classNameMap[21009] = "_p_MgInvalidCoordinateSystemUnitsException";
-    classNameMap[30019] = "_p_MgInvalidDwfPackageException";
-    classNameMap[30020] = "_p_MgInvalidDwfSectionException";
-    classNameMap[30021] = "_p_MgInvalidFeatureSourceException";
-    classNameMap[30022] = "_p_MgInvalidIpAddressException";
-    classNameMap[30023] = "_p_MgInvalidLicenseException";
-    classNameMap[30024] = "_p_MgInvalidLogEntryException";
-    classNameMap[10507] = "_p_MgInvalidMapDefinitionException";
-    classNameMap[1522] = "_p_MgInvalidOperationException";
-    classNameMap[30026] = "_p_MgInvalidPasswordException";
-    classNameMap[30027] = "_p_MgInvalidPrintLayoutFontSizeUnitsException";
-    classNameMap[30028] = "_p_MgInvalidPrintLayoutPositionUnitsException";
-    classNameMap[30029] = "_p_MgInvalidPrintLayoutSizeUnitsException";
-    classNameMap[1523] = "_p_MgInvalidPropertyTypeException";
-    classNameMap[10508] = "_p_MgInvalidRepositoryNameException";
-    classNameMap[10509] = "_p_MgInvalidRepositoryTypeException";
-    classNameMap[10510] = "_p_MgInvalidResourceDataNameException";
-    classNameMap[10511] = "_p_MgInvalidResourceDataTypeException";
-    classNameMap[10512] = "_p_MgInvalidResourceNameException";
-    classNameMap[10513] = "_p_MgInvalidResourcePathException";
-    classNameMap[10514] = "_p_MgInvalidResourcePreProcessingTypeException";
-    classNameMap[10515] = "_p_MgInvalidResourceTypeException";
-    classNameMap[30031] = "_p_MgInvalidServerNameException";
-    classNameMap[1524] = "_p_MgInvalidStreamHeaderException";
-    classNameMap[1525] = "_p_MgIoException";
     classNameMap[31300] = "_p_MgKmlService";
     classNameMap[30501] = "_p_MgLayer";
     classNameMap[12003] = "_p_MgLayerBase";
@@ -200,17 +127,12 @@
     classNameMap[12002] = "_p_MgLayerCollection";
     classNameMap[12001] = "_p_MgLayerGroup";
     classNameMap[12004] = "_p_MgLayerGroupCollection";
-    classNameMap[10517] = "_p_MgLayerNotFoundException";
     classNameMap[30904] = "_p_MgLayout";
-    classNameMap[1526] = "_p_MgLengthException";
-    classNameMap[30032] = "_p_MgLicenseException";
-    classNameMap[30033] = "_p_MgLicenseExpiredException";
     classNameMap[20023] = "_p_MgLinearRing";
     classNameMap[20053] = "_p_MgLinearRingCollection";
     classNameMap[20024] = "_p_MgLinearSegment";
     classNameMap[20042] = "_p_MgLineString";
     classNameMap[20044] = "_p_MgLineStringCollection";
-    classNameMap[1527] = "_p_MgLogicException";
     classNameMap[11766] = "_p_MgLongTransactionReader";
     classNameMap[30500] = "_p_MgMap";
     classNameMap[12000] = "_p_MgMapBase";
@@ -218,6 +140,8 @@
     classNameMap[30900] = "_p_MgMappingService";
     classNameMap[30905] = "_p_MgMapPlot";
     classNameMap[30906] = "_p_MgMapPlotCollection";
+    classNameMap[20027] = "_p_MgMeasure";
+    classNameMap[31003] = "_p_MgMetatile";
     classNameMap[20029] = "_p_MgMultiCurvePolygon";
     classNameMap[20030] = "_p_MgMultiCurveString";
     classNameMap[20031] = "_p_MgMultiGeometry";
@@ -224,34 +148,21 @@
     classNameMap[20032] = "_p_MgMultiLineString";
     classNameMap[20033] = "_p_MgMultiPoint";
     classNameMap[20034] = "_p_MgMultiPolygon";
-    classNameMap[1528] = "_p_MgNotFiniteNumberException";
-    classNameMap[1529] = "_p_MgNotImplementedException";
-    classNameMap[1530] = "_p_MgNullArgumentException";
-    classNameMap[1531] = "_p_MgNullPropertyValueException";
-    classNameMap[1532] = "_p_MgNullReferenceException";
-    classNameMap[1533] = "_p_MgObjectNotFoundException";
+    classNameMap[2252] = "_p_MgObject";
     classNameMap[11759] = "_p_MgObjectPropertyDefinition";
-    classNameMap[30035] = "_p_MgOperationProcessingException";
-    classNameMap[1534] = "_p_MgOutOfMemoryException";
-    classNameMap[1535] = "_p_MgOutOfRangeException";
-    classNameMap[1536] = "_p_MgOverflowException";
     classNameMap[30604] = "_p_MgPackageStatusInformation";
     classNameMap[11788] = "_p_MgParameter";
     classNameMap[10004] = "_p_MgParameterCollection";
-    classNameMap[30036] = "_p_MgParameterNotFoundException";
-    classNameMap[30037] = "_p_MgPathTooLongException";
-    classNameMap[1537] = "_p_MgPlatformNotSupportedException";
     classNameMap[30902] = "_p_MgPlotSpecification";
     classNameMap[20000] = "_p_MgPoint";
     classNameMap[20045] = "_p_MgPointCollection";
     classNameMap[20035] = "_p_MgPolygon";
     classNameMap[20046] = "_p_MgPolygonCollection";
-    classNameMap[30039] = "_p_MgPortNotAvailableException";
-    classNameMap[30040] = "_p_MgPrintToScaleModeNotSelectedException";
+    classNameMap[20055] = "_p_MgPreparedGeometry";
     classNameMap[31400] = "_p_MgProfilingService";
     classNameMap[2000] = "_p_MgProperty";
     classNameMap[1002] = "_p_MgPropertyCollection";
-    classNameMap[2002] = "_p_MgPropertyDefinition";
+    classNameMap[10251] = "_p_MgPropertyDefinition";
     classNameMap[10001] = "_p_MgPropertyDefinitionCollection";
     classNameMap[11769] = "_p_MgRaster";
     classNameMap[11770] = "_p_MgRasterProperty";
@@ -260,32 +171,14 @@
     classNameMap[20037] = "_p_MgRegion";
     classNameMap[31002] = "_p_MgRenderingOptions";
     classNameMap[31000] = "_p_MgRenderingService";
-    classNameMap[30041] = "_p_MgRepositoryCreationFailedException";
-    classNameMap[30042] = "_p_MgRepositoryNotFoundException";
-    classNameMap[30043] = "_p_MgRepositoryNotOpenException";
-    classNameMap[30044] = "_p_MgRepositoryOpenFailedException";
     classNameMap[11526] = "_p_MgResource";
-    classNameMap[10518] = "_p_MgResourceBusyException";
-    classNameMap[10519] = "_p_MgResourceDataNotFoundException";
     classNameMap[11500] = "_p_MgResourceIdentifier";
-    classNameMap[10520] = "_p_MgResourceNotFoundException";
     classNameMap[11501] = "_p_MgResourceService";
-    classNameMap[1538] = "_p_MgResourcesException";
-    classNameMap[1539] = "_p_MgResourcesLoadFailedException";
-    classNameMap[1540] = "_p_MgResourceTagNotFoundException";
     classNameMap[20038] = "_p_MgRing";
-    classNameMap[30045] = "_p_MgRoleNotFoundException";
-    classNameMap[1541] = "_p_MgRuntimeException";
     classNameMap[30502] = "_p_MgSelection";
     classNameMap[12007] = "_p_MgSelectionBase";
     classNameMap[30607] = "_p_MgServerAdmin";
-    classNameMap[30046] = "_p_MgServerNotFoundException";
-    classNameMap[30047] = "_p_MgServerNotOnlineException";
     classNameMap[11251] = "_p_MgService";
-    classNameMap[10521] = "_p_MgServiceNotAvailableException";
-    classNameMap[10522] = "_p_MgServiceNotSupportedException";
-    classNameMap[30048] = "_p_MgSessionExpiredException";
-    classNameMap[30052] = "_p_MgSessionNotFoundException";
     classNameMap[10261] = "_p_MgSingleProperty";
     classNameMap[30605] = "_p_MgSite";
     classNameMap[30601] = "_p_MgSiteConnection";
@@ -292,24 +185,14 @@
     classNameMap[30608] = "_p_MgSiteInfo";
     classNameMap[11761] = "_p_MgSpatialContextReader";
     classNameMap[11762] = "_p_MgSqlDataReader";
-    classNameMap[1542] = "_p_MgStreamIoException";
     classNameMap[1003] = "_p_MgStringCollection";
     classNameMap[2001] = "_p_MgStringProperty";
     classNameMap[10003] = "_p_MgStringPropertyCollection";
-    classNameMap[1543] = "_p_MgSystemException";
-    classNameMap[1544] = "_p_MgTemporaryFileNotAvailableException";
-    classNameMap[1545] = "_p_MgThirdPartyException";
     classNameMap[31200] = "_p_MgTileService";
     classNameMap[11787] = "_p_MgTransaction";
-    classNameMap[30049] = "_p_MgUnauthorizedAccessException";
-    classNameMap[1547] = "_p_MgUnclassifiedException";
-    classNameMap[1548] = "_p_MgUnderflowException";
-    classNameMap[30056] = "_p_MgUnknownTileProviderException";
-    classNameMap[30057] = "_p_MgUnsupportedTileProviderException";
+    classNameMap[20039] = "_p_MgTransform";
     classNameMap[11777] = "_p_MgUpdateFeatures";
-    classNameMap[30050] = "_p_MgUriFormatException";
     classNameMap[30606] = "_p_MgUserInformation";
-    classNameMap[10523] = "_p_MgUserNotFoundException";
     classNameMap[11257] = "_p_MgWarnings";
     classNameMap[50005] = "_p_MgWebBufferCommand";
     classNameMap[50000] = "_p_MgWebCommand";
@@ -339,8 +222,6 @@
     classNameMap[50013] = "_p_MgWebWidget";
     classNameMap[50018] = "_p_MgWebWidgetCollection";
     classNameMap[20040] = "_p_MgWktReaderWriter";
-    classNameMap[1549] = "_p_MgXmlException";
-    classNameMap[1550] = "_p_MgXmlParserException";
 
 
     return classNameMap;

Modified: sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/Common/MgClassMap.cs
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/Common/MgClassMap.cs	2020-11-20 10:04:15 UTC (rev 9796)
+++ sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/Common/MgClassMap.cs	2020-11-20 14:21:54 UTC (rev 9797)
@@ -7,19 +7,22 @@
 {
     internal static class MgClassMap
     {
+        //TODO: We should take a page out of the java binding and convert this to a 
+        //Dictionary<int, ConstructorInfo>. This would save us having to do repeated lookups
+        //for this information. Also it would serve as a fail-early sanity check that we are
+        //not registering class ids of classes that are not actual classes (eg. Classes with 
+        //constants should not be here)
         static Dictionary<int, string> classNameMap;
-        
+        static Dictionary<string, int> nameClassMap;
+
         static MgClassMap()
         {
             classNameMap = new Dictionary<int, string>();
+            nameClassMap = new Dictionary<string, int>();
             
             classNameMap[20004] = "OSGeo.MapGuide.MgAgfReaderWriter";
             classNameMap[20005] = "OSGeo.MapGuide.MgAggregateGeometry";
-            classNameMap[1500] = "OSGeo.MapGuide.MgApplicationException";
             classNameMap[20006] = "OSGeo.MapGuide.MgArcSegment";
-            classNameMap[1501] = "OSGeo.MapGuide.MgArgumentOutOfRangeException";
-            classNameMap[10500] = "OSGeo.MapGuide.MgArrayTypeMismatchException";
-            classNameMap[30000] = "OSGeo.MapGuide.MgAuthenticationFailedException";
             classNameMap[1005] = "OSGeo.MapGuide.MgBatchPropertyCollection";
             classNameMap[10252] = "OSGeo.MapGuide.MgBlobProperty";
             classNameMap[10253] = "OSGeo.MapGuide.MgBooleanProperty";
@@ -29,22 +32,15 @@
             classNameMap[1251] = "OSGeo.MapGuide.MgByteSource";
             classNameMap[11750] = "OSGeo.MapGuide.MgClassDefinition";
             classNameMap[11780] = "OSGeo.MapGuide.MgClassDefinitionCollection";
-            classNameMap[1502] = "OSGeo.MapGuide.MgClassNotFoundException";
             classNameMap[10255] = "OSGeo.MapGuide.MgClobProperty";
             classNameMap[10250] = "OSGeo.MapGuide.MgColor";
-            classNameMap[1503] = "OSGeo.MapGuide.MgConfigurationException";
-            classNameMap[1504] = "OSGeo.MapGuide.MgConfigurationLoadFailedException";
-            classNameMap[1505] = "OSGeo.MapGuide.MgConfigurationSaveFailedException";
-            classNameMap[30001] = "OSGeo.MapGuide.MgConnectionFailedException";
-            classNameMap[30002] = "OSGeo.MapGuide.MgConnectionNotOpenException";
             classNameMap[20003] = "OSGeo.MapGuide.MgCoordinate";
+            classNameMap[20008] = "OSGeo.MapGuide.MgCoordinateCollection";
             classNameMap[20009] = "OSGeo.MapGuide.MgCoordinateIterator";
             classNameMap[20500] = "OSGeo.MapGuide.MgCoordinateSystem";
             classNameMap[20504] = "OSGeo.MapGuide.MgCoordinateSystemCatalog";
             classNameMap[20506] = "OSGeo.MapGuide.MgCoordinateSystemCategory";
             classNameMap[20510] = "OSGeo.MapGuide.MgCoordinateSystemCategoryDictionary";
-            classNameMap[21000] = "OSGeo.MapGuide.MgCoordinateSystemComputationFailedException";
-            classNameMap[21001] = "OSGeo.MapGuide.MgCoordinateSystemConversionFailedException";
             classNameMap[20507] = "OSGeo.MapGuide.MgCoordinateSystemDatum";
             classNameMap[20512] = "OSGeo.MapGuide.MgCoordinateSystemDatumDictionary";
             classNameMap[20511] = "OSGeo.MapGuide.MgCoordinateSystemDictionary";
@@ -63,9 +59,11 @@
             classNameMap[20533] = "OSGeo.MapGuide.MgCoordinateSystemGeodeticPath";
             classNameMap[20535] = "OSGeo.MapGuide.MgCoordinateSystemGeodeticPathDictionary";
             classNameMap[20534] = "OSGeo.MapGuide.MgCoordinateSystemGeodeticPathElement";
+            classNameMap[20546] = "OSGeo.MapGuide.MgCoordinateSystemGeodeticStandaloneTransformDefParams";
             classNameMap[20508] = "OSGeo.MapGuide.MgCoordinateSystemGeodeticTransformation";
             classNameMap[20536] = "OSGeo.MapGuide.MgCoordinateSystemGeodeticTransformDef";
             classNameMap[20540] = "OSGeo.MapGuide.MgCoordinateSystemGeodeticTransformDefDictionary";
+            classNameMap[20541] = "OSGeo.MapGuide.MgCoordinateSystemGeodeticTransformDefParams";
             classNameMap[20545] = "OSGeo.MapGuide.MgCoordinateSystemGeodeticTransformGridFile";
             classNameMap[20532] = "OSGeo.MapGuide.MgCoordinateSystemGridBase";
             classNameMap[20524] = "OSGeo.MapGuide.MgCoordinateSystemGridBoundary";
@@ -76,15 +74,11 @@
             classNameMap[20525] = "OSGeo.MapGuide.MgCoordinateSystemGridSpecification";
             classNameMap[20531] = "OSGeo.MapGuide.MgCoordinateSystemGridTick";
             classNameMap[20528] = "OSGeo.MapGuide.MgCoordinateSystemGridTickCollection";
-            classNameMap[21002] = "OSGeo.MapGuide.MgCoordinateSystemInitializationFailedException";
-            classNameMap[21003] = "OSGeo.MapGuide.MgCoordinateSystemLoadFailedException";
             classNameMap[20518] = "OSGeo.MapGuide.MgCoordinateSystemMathComparator";
             classNameMap[20502] = "OSGeo.MapGuide.MgCoordinateSystemMeasure";
-            classNameMap[21004] = "OSGeo.MapGuide.MgCoordinateSystemMeasureFailedException";
             classNameMap[20522] = "OSGeo.MapGuide.MgCoordinateSystemMgrs";
             classNameMap[20520] = "OSGeo.MapGuide.MgCoordinateSystemProjectionInformation";
             classNameMap[20503] = "OSGeo.MapGuide.MgCoordinateSystemTransform";
-            classNameMap[21005] = "OSGeo.MapGuide.MgCoordinateSystemTransformFailedException";
             classNameMap[20519] = "OSGeo.MapGuide.MgCoordinateSystemUnitInformation";
             classNameMap[20048] = "OSGeo.MapGuide.MgCoordinateXY";
             classNameMap[20051] = "OSGeo.MapGuide.MgCoordinateXYM";
@@ -102,41 +96,15 @@
             classNameMap[11751] = "OSGeo.MapGuide.MgDataPropertyDefinition";
             classNameMap[11773] = "OSGeo.MapGuide.MgDataReader";
             classNameMap[1256] = "OSGeo.MapGuide.MgDateTime";
-            classNameMap[1506] = "OSGeo.MapGuide.MgDateTimeException";
             classNameMap[10256] = "OSGeo.MapGuide.MgDateTimeProperty";
-            classNameMap[30003] = "OSGeo.MapGuide.MgDbException";
-            classNameMap[30004] = "OSGeo.MapGuide.MgDbXmlException";
-            classNameMap[1507] = "OSGeo.MapGuide.MgDecryptionException";
             classNameMap[11775] = "OSGeo.MapGuide.MgDeleteFeatures";
-            classNameMap[1508] = "OSGeo.MapGuide.MgDirectoryNotFoundException";
+            classNameMap[2251] = "OSGeo.MapGuide.MgDisposable";
             classNameMap[1000] = "OSGeo.MapGuide.MgDisposableCollection";
-            classNameMap[1509] = "OSGeo.MapGuide.MgDivideByZeroException";
-            classNameMap[1510] = "OSGeo.MapGuide.MgDomainException";
             classNameMap[10257] = "OSGeo.MapGuide.MgDoubleProperty";
             classNameMap[30700] = "OSGeo.MapGuide.MgDrawingService";
-            classNameMap[1511] = "OSGeo.MapGuide.MgDuplicateDirectoryException";
-            classNameMap[1512] = "OSGeo.MapGuide.MgDuplicateFileException";
-            classNameMap[30005] = "OSGeo.MapGuide.MgDuplicateGroupException";
-            classNameMap[30006] = "OSGeo.MapGuide.MgDuplicateNameException";
-            classNameMap[1513] = "OSGeo.MapGuide.MgDuplicateObjectException";
-            classNameMap[30007] = "OSGeo.MapGuide.MgDuplicateParameterException";
-            classNameMap[30008] = "OSGeo.MapGuide.MgDuplicateRepositoryException";
-            classNameMap[10501] = "OSGeo.MapGuide.MgDuplicateResourceDataException";
-            classNameMap[10502] = "OSGeo.MapGuide.MgDuplicateResourceException";
-            classNameMap[30009] = "OSGeo.MapGuide.MgDuplicateRoleException";
-            classNameMap[30010] = "OSGeo.MapGuide.MgDuplicateServerException";
-            classNameMap[30011] = "OSGeo.MapGuide.MgDuplicateSessionException";
-            classNameMap[30012] = "OSGeo.MapGuide.MgDuplicateUserException";
-            classNameMap[30013] = "OSGeo.MapGuide.MgDwfException";
-            classNameMap[30014] = "OSGeo.MapGuide.MgDwfSectionNotFoundException";
-            classNameMap[30015] = "OSGeo.MapGuide.MgDwfSectionResourceNotFoundException";
             classNameMap[30901] = "OSGeo.MapGuide.MgDwfVersion";
-            classNameMap[10503] = "OSGeo.MapGuide.MgEmptyFeatureSetException";
-            classNameMap[1514] = "OSGeo.MapGuide.MgEncryptionException";
-            classNameMap[30016] = "OSGeo.MapGuide.MgEndOfStreamException";
             classNameMap[20001] = "OSGeo.MapGuide.MgEnvelope";
             classNameMap[1515] = "OSGeo.MapGuide.MgException";
-            classNameMap[10504] = "OSGeo.MapGuide.MgFdoException";
             classNameMap[11772] = "OSGeo.MapGuide.MgFeatureAggregateOptions";
             classNameMap[11774] = "OSGeo.MapGuide.MgFeatureCommandCollection";
             classNameMap[31001] = "OSGeo.MapGuide.MgFeatureInformation";
@@ -146,20 +114,16 @@
             classNameMap[11778] = "OSGeo.MapGuide.MgFeatureSchema";
             classNameMap[11779] = "OSGeo.MapGuide.MgFeatureSchemaCollection";
             classNameMap[11754] = "OSGeo.MapGuide.MgFeatureService";
-            classNameMap[10505] = "OSGeo.MapGuide.MgFeatureServiceException";
             classNameMap[11786] = "OSGeo.MapGuide.MgFileFeatureSourceParams";
-            classNameMap[1516] = "OSGeo.MapGuide.MgFileIoException";
-            classNameMap[1517] = "OSGeo.MapGuide.MgFileNotFoundException";
             classNameMap[20016] = "OSGeo.MapGuide.MgGeometricEntity";
             classNameMap[11756] = "OSGeo.MapGuide.MgGeometricPropertyDefinition";
-            classNameMap[20019] = "OSGeo.MapGuide.MgGeometry";
+            classNameMap[11757] = "OSGeo.MapGuide.MgGeometry";
             classNameMap[20020] = "OSGeo.MapGuide.MgGeometryCollection";
             classNameMap[20021] = "OSGeo.MapGuide.MgGeometryComponent";
-            classNameMap[21006] = "OSGeo.MapGuide.MgGeometryException";
             classNameMap[20002] = "OSGeo.MapGuide.MgGeometryFactory";
             classNameMap[11758] = "OSGeo.MapGuide.MgGeometryProperty";
+            classNameMap[20054] = "OSGeo.MapGuide.MgGeometrySimplifier";
             classNameMap[11785] = "OSGeo.MapGuide.MgGeometryTypeInfo";
-            classNameMap[30018] = "OSGeo.MapGuide.MgGroupNotFoundException";
             classNameMap[11782] = "OSGeo.MapGuide.MgGwsFeatureReader";
             classNameMap[40000] = "OSGeo.MapGuide.MgHttpHeader";
             classNameMap[40006] = "OSGeo.MapGuide.MgHttpPrimitiveValue";
@@ -168,41 +132,11 @@
             classNameMap[40001] = "OSGeo.MapGuide.MgHttpRequestParam";
             classNameMap[40005] = "OSGeo.MapGuide.MgHttpResponse";
             classNameMap[40003] = "OSGeo.MapGuide.MgHttpResult";
-            classNameMap[1518] = "OSGeo.MapGuide.MgIndexOutOfRangeException";
             classNameMap[11776] = "OSGeo.MapGuide.MgInsertFeatures";
             classNameMap[10258] = "OSGeo.MapGuide.MgInt16Property";
             classNameMap[10259] = "OSGeo.MapGuide.MgInt32Property";
             classNameMap[10260] = "OSGeo.MapGuide.MgInt64Property";
             classNameMap[10000] = "OSGeo.MapGuide.MgIntCollection";
-            classNameMap[1519] = "OSGeo.MapGuide.MgInvalidArgumentException";
-            classNameMap[1520] = "OSGeo.MapGuide.MgInvalidCastException";
-            classNameMap[21007] = "OSGeo.MapGuide.MgInvalidCoordinateSystemException";
-            classNameMap[21008] = "OSGeo.MapGuide.MgInvalidCoordinateSystemTypeException";
-            classNameMap[21009] = "OSGeo.MapGuide.MgInvalidCoordinateSystemUnitsException";
-            classNameMap[30019] = "OSGeo.MapGuide.MgInvalidDwfPackageException";
-            classNameMap[30020] = "OSGeo.MapGuide.MgInvalidDwfSectionException";
-            classNameMap[30021] = "OSGeo.MapGuide.MgInvalidFeatureSourceException";
-            classNameMap[30022] = "OSGeo.MapGuide.MgInvalidIpAddressException";
-            classNameMap[30023] = "OSGeo.MapGuide.MgInvalidLicenseException";
-            classNameMap[30024] = "OSGeo.MapGuide.MgInvalidLogEntryException";
-            classNameMap[10507] = "OSGeo.MapGuide.MgInvalidMapDefinitionException";
-            classNameMap[1522] = "OSGeo.MapGuide.MgInvalidOperationException";
-            classNameMap[30026] = "OSGeo.MapGuide.MgInvalidPasswordException";
-            classNameMap[30027] = "OSGeo.MapGuide.MgInvalidPrintLayoutFontSizeUnitsException";
-            classNameMap[30028] = "OSGeo.MapGuide.MgInvalidPrintLayoutPositionUnitsException";
-            classNameMap[30029] = "OSGeo.MapGuide.MgInvalidPrintLayoutSizeUnitsException";
-            classNameMap[1523] = "OSGeo.MapGuide.MgInvalidPropertyTypeException";
-            classNameMap[10508] = "OSGeo.MapGuide.MgInvalidRepositoryNameException";
-            classNameMap[10509] = "OSGeo.MapGuide.MgInvalidRepositoryTypeException";
-            classNameMap[10510] = "OSGeo.MapGuide.MgInvalidResourceDataNameException";
-            classNameMap[10511] = "OSGeo.MapGuide.MgInvalidResourceDataTypeException";
-            classNameMap[10512] = "OSGeo.MapGuide.MgInvalidResourceNameException";
-            classNameMap[10513] = "OSGeo.MapGuide.MgInvalidResourcePathException";
-            classNameMap[10514] = "OSGeo.MapGuide.MgInvalidResourcePreProcessingTypeException";
-            classNameMap[10515] = "OSGeo.MapGuide.MgInvalidResourceTypeException";
-            classNameMap[30031] = "OSGeo.MapGuide.MgInvalidServerNameException";
-            classNameMap[1524] = "OSGeo.MapGuide.MgInvalidStreamHeaderException";
-            classNameMap[1525] = "OSGeo.MapGuide.MgIoException";
             classNameMap[31300] = "OSGeo.MapGuide.MgKmlService";
             classNameMap[30501] = "OSGeo.MapGuide.MgLayer";
             classNameMap[12003] = "OSGeo.MapGuide.MgLayerBase";
@@ -209,17 +143,12 @@
             classNameMap[12002] = "OSGeo.MapGuide.MgLayerCollection";
             classNameMap[12001] = "OSGeo.MapGuide.MgLayerGroup";
             classNameMap[12004] = "OSGeo.MapGuide.MgLayerGroupCollection";
-            classNameMap[10517] = "OSGeo.MapGuide.MgLayerNotFoundException";
             classNameMap[30904] = "OSGeo.MapGuide.MgLayout";
-            classNameMap[1526] = "OSGeo.MapGuide.MgLengthException";
-            classNameMap[30032] = "OSGeo.MapGuide.MgLicenseException";
-            classNameMap[30033] = "OSGeo.MapGuide.MgLicenseExpiredException";
             classNameMap[20023] = "OSGeo.MapGuide.MgLinearRing";
             classNameMap[20053] = "OSGeo.MapGuide.MgLinearRingCollection";
             classNameMap[20024] = "OSGeo.MapGuide.MgLinearSegment";
             classNameMap[20042] = "OSGeo.MapGuide.MgLineString";
             classNameMap[20044] = "OSGeo.MapGuide.MgLineStringCollection";
-            classNameMap[1527] = "OSGeo.MapGuide.MgLogicException";
             classNameMap[11766] = "OSGeo.MapGuide.MgLongTransactionReader";
             classNameMap[30500] = "OSGeo.MapGuide.MgMap";
             classNameMap[12000] = "OSGeo.MapGuide.MgMapBase";
@@ -227,6 +156,8 @@
             classNameMap[30900] = "OSGeo.MapGuide.MgMappingService";
             classNameMap[30905] = "OSGeo.MapGuide.MgMapPlot";
             classNameMap[30906] = "OSGeo.MapGuide.MgMapPlotCollection";
+            classNameMap[20027] = "OSGeo.MapGuide.MgMeasure";
+            classNameMap[31003] = "OSGeo.MapGuide.MgMetatile";
             classNameMap[20029] = "OSGeo.MapGuide.MgMultiCurvePolygon";
             classNameMap[20030] = "OSGeo.MapGuide.MgMultiCurveString";
             classNameMap[20031] = "OSGeo.MapGuide.MgMultiGeometry";
@@ -233,34 +164,21 @@
             classNameMap[20032] = "OSGeo.MapGuide.MgMultiLineString";
             classNameMap[20033] = "OSGeo.MapGuide.MgMultiPoint";
             classNameMap[20034] = "OSGeo.MapGuide.MgMultiPolygon";
-            classNameMap[1528] = "OSGeo.MapGuide.MgNotFiniteNumberException";
-            classNameMap[1529] = "OSGeo.MapGuide.MgNotImplementedException";
-            classNameMap[1530] = "OSGeo.MapGuide.MgNullArgumentException";
-            classNameMap[1531] = "OSGeo.MapGuide.MgNullPropertyValueException";
-            classNameMap[1532] = "OSGeo.MapGuide.MgNullReferenceException";
-            classNameMap[1533] = "OSGeo.MapGuide.MgObjectNotFoundException";
+            classNameMap[2252] = "OSGeo.MapGuide.MgObject";
             classNameMap[11759] = "OSGeo.MapGuide.MgObjectPropertyDefinition";
-            classNameMap[30035] = "OSGeo.MapGuide.MgOperationProcessingException";
-            classNameMap[1534] = "OSGeo.MapGuide.MgOutOfMemoryException";
-            classNameMap[1535] = "OSGeo.MapGuide.MgOutOfRangeException";
-            classNameMap[1536] = "OSGeo.MapGuide.MgOverflowException";
             classNameMap[30604] = "OSGeo.MapGuide.MgPackageStatusInformation";
             classNameMap[11788] = "OSGeo.MapGuide.MgParameter";
             classNameMap[10004] = "OSGeo.MapGuide.MgParameterCollection";
-            classNameMap[30036] = "OSGeo.MapGuide.MgParameterNotFoundException";
-            classNameMap[30037] = "OSGeo.MapGuide.MgPathTooLongException";
-            classNameMap[1537] = "OSGeo.MapGuide.MgPlatformNotSupportedException";
             classNameMap[30902] = "OSGeo.MapGuide.MgPlotSpecification";
             classNameMap[20000] = "OSGeo.MapGuide.MgPoint";
             classNameMap[20045] = "OSGeo.MapGuide.MgPointCollection";
             classNameMap[20035] = "OSGeo.MapGuide.MgPolygon";
             classNameMap[20046] = "OSGeo.MapGuide.MgPolygonCollection";
-            classNameMap[30039] = "OSGeo.MapGuide.MgPortNotAvailableException";
-            classNameMap[30040] = "OSGeo.MapGuide.MgPrintToScaleModeNotSelectedException";
+            classNameMap[20055] = "OSGeo.MapGuide.MgPreparedGeometry";
             classNameMap[31400] = "OSGeo.MapGuide.MgProfilingService";
             classNameMap[2000] = "OSGeo.MapGuide.MgProperty";
             classNameMap[1002] = "OSGeo.MapGuide.MgPropertyCollection";
-            classNameMap[2002] = "OSGeo.MapGuide.MgPropertyDefinition";
+            classNameMap[10251] = "OSGeo.MapGuide.MgPropertyDefinition";
             classNameMap[10001] = "OSGeo.MapGuide.MgPropertyDefinitionCollection";
             classNameMap[11769] = "OSGeo.MapGuide.MgRaster";
             classNameMap[11770] = "OSGeo.MapGuide.MgRasterProperty";
@@ -269,32 +187,14 @@
             classNameMap[20037] = "OSGeo.MapGuide.MgRegion";
             classNameMap[31002] = "OSGeo.MapGuide.MgRenderingOptions";
             classNameMap[31000] = "OSGeo.MapGuide.MgRenderingService";
-            classNameMap[30041] = "OSGeo.MapGuide.MgRepositoryCreationFailedException";
-            classNameMap[30042] = "OSGeo.MapGuide.MgRepositoryNotFoundException";
-            classNameMap[30043] = "OSGeo.MapGuide.MgRepositoryNotOpenException";
-            classNameMap[30044] = "OSGeo.MapGuide.MgRepositoryOpenFailedException";
             classNameMap[11526] = "OSGeo.MapGuide.MgResource";
-            classNameMap[10518] = "OSGeo.MapGuide.MgResourceBusyException";
-            classNameMap[10519] = "OSGeo.MapGuide.MgResourceDataNotFoundException";
             classNameMap[11500] = "OSGeo.MapGuide.MgResourceIdentifier";
-            classNameMap[10520] = "OSGeo.MapGuide.MgResourceNotFoundException";
             classNameMap[11501] = "OSGeo.MapGuide.MgResourceService";
-            classNameMap[1538] = "OSGeo.MapGuide.MgResourcesException";
-            classNameMap[1539] = "OSGeo.MapGuide.MgResourcesLoadFailedException";
-            classNameMap[1540] = "OSGeo.MapGuide.MgResourceTagNotFoundException";
             classNameMap[20038] = "OSGeo.MapGuide.MgRing";
-            classNameMap[30045] = "OSGeo.MapGuide.MgRoleNotFoundException";
-            classNameMap[1541] = "OSGeo.MapGuide.MgRuntimeException";
             classNameMap[30502] = "OSGeo.MapGuide.MgSelection";
             classNameMap[12007] = "OSGeo.MapGuide.MgSelectionBase";
             classNameMap[30607] = "OSGeo.MapGuide.MgServerAdmin";
-            classNameMap[30046] = "OSGeo.MapGuide.MgServerNotFoundException";
-            classNameMap[30047] = "OSGeo.MapGuide.MgServerNotOnlineException";
             classNameMap[11251] = "OSGeo.MapGuide.MgService";
-            classNameMap[10521] = "OSGeo.MapGuide.MgServiceNotAvailableException";
-            classNameMap[10522] = "OSGeo.MapGuide.MgServiceNotSupportedException";
-            classNameMap[30048] = "OSGeo.MapGuide.MgSessionExpiredException";
-            classNameMap[30052] = "OSGeo.MapGuide.MgSessionNotFoundException";
             classNameMap[10261] = "OSGeo.MapGuide.MgSingleProperty";
             classNameMap[30605] = "OSGeo.MapGuide.MgSite";
             classNameMap[30601] = "OSGeo.MapGuide.MgSiteConnection";
@@ -301,24 +201,14 @@
             classNameMap[30608] = "OSGeo.MapGuide.MgSiteInfo";
             classNameMap[11761] = "OSGeo.MapGuide.MgSpatialContextReader";
             classNameMap[11762] = "OSGeo.MapGuide.MgSqlDataReader";
-            classNameMap[1542] = "OSGeo.MapGuide.MgStreamIoException";
             classNameMap[1003] = "OSGeo.MapGuide.MgStringCollection";
             classNameMap[2001] = "OSGeo.MapGuide.MgStringProperty";
             classNameMap[10003] = "OSGeo.MapGuide.MgStringPropertyCollection";
-            classNameMap[1543] = "OSGeo.MapGuide.MgSystemException";
-            classNameMap[1544] = "OSGeo.MapGuide.MgTemporaryFileNotAvailableException";
-            classNameMap[1545] = "OSGeo.MapGuide.MgThirdPartyException";
             classNameMap[31200] = "OSGeo.MapGuide.MgTileService";
             classNameMap[11787] = "OSGeo.MapGuide.MgTransaction";
-            classNameMap[30049] = "OSGeo.MapGuide.MgUnauthorizedAccessException";
-            classNameMap[1547] = "OSGeo.MapGuide.MgUnclassifiedException";
-            classNameMap[1548] = "OSGeo.MapGuide.MgUnderflowException";
-            classNameMap[30056] = "OSGeo.MapGuide.MgUnknownTileProviderException";
-            classNameMap[30057] = "OSGeo.MapGuide.MgUnsupportedTileProviderException";
+            classNameMap[20039] = "OSGeo.MapGuide.MgTransform";
             classNameMap[11777] = "OSGeo.MapGuide.MgUpdateFeatures";
-            classNameMap[30050] = "OSGeo.MapGuide.MgUriFormatException";
             classNameMap[30606] = "OSGeo.MapGuide.MgUserInformation";
-            classNameMap[10523] = "OSGeo.MapGuide.MgUserNotFoundException";
             classNameMap[11257] = "OSGeo.MapGuide.MgWarnings";
             classNameMap[50005] = "OSGeo.MapGuide.MgWebBufferCommand";
             classNameMap[50000] = "OSGeo.MapGuide.MgWebCommand";
@@ -348,14 +238,32 @@
             classNameMap[50013] = "OSGeo.MapGuide.MgWebWidget";
             classNameMap[50018] = "OSGeo.MapGuide.MgWebWidgetCollection";
             classNameMap[20040] = "OSGeo.MapGuide.MgWktReaderWriter";
-            classNameMap[1549] = "OSGeo.MapGuide.MgXmlException";
-            classNameMap[1550] = "OSGeo.MapGuide.MgXmlParserException";
 
+
+            //Sanity check that we haven't double registered the same type name under different
+            //class ids (Only possible when class id is being accidentally reused in a base or 
+            //derived C++ class)
+            foreach (var kvp in classNameMap)
+            {
+                if (nameClassMap.ContainsKey(kvp.Value))
+                {
+                    throw new Exception($"Failed sanity check. Type ({kvp.Value}) already registered with class id of ({kvp.Key})");
+                }
+
+                nameClassMap[kvp.Value] = kvp.Key;
+            }
         }
         
+        internal static IEnumerable<int> ClassIds => classNameMap.Keys;
+
         internal static string GetTypeName(int id)
         {
             return classNameMap.ContainsKey(id) ? classNameMap[id] : null;
         }
+
+        internal static int? GetClassId(string typeName)
+        {
+            return nameClassMap.ContainsKey(typeName) ? nameClassMap[typeName] : (int?)null;
+        }
     }
 }
\ No newline at end of file

Modified: sandbox/jng/vanilla_swig/Bindings/src/Managed/Java/org/osgeo/mapguide/ObjectFactory.java
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Managed/Java/org/osgeo/mapguide/ObjectFactory.java	2020-11-20 10:04:15 UTC (rev 9796)
+++ sandbox/jng/vanilla_swig/Bindings/src/Managed/Java/org/osgeo/mapguide/ObjectFactory.java	2020-11-20 14:21:54 UTC (rev 9797)
@@ -44,6 +44,7 @@
             classMap.put(new Integer(10255), getSWIGCtor("MgClobProperty"));
             classMap.put(new Integer(10250), getSWIGCtor("MgColor"));
             classMap.put(new Integer(20003), getSWIGCtor("MgCoordinate"));
+            classMap.put(new Integer(20008), getSWIGCtor("MgCoordinateCollection"));
             classMap.put(new Integer(20009), getSWIGCtor("MgCoordinateIterator"));
             classMap.put(new Integer(20500), getSWIGCtor("MgCoordinateSystem"));
             classMap.put(new Integer(20504), getSWIGCtor("MgCoordinateSystemCatalog"));
@@ -67,9 +68,11 @@
             classMap.put(new Integer(20533), getSWIGCtor("MgCoordinateSystemGeodeticPath"));
             classMap.put(new Integer(20535), getSWIGCtor("MgCoordinateSystemGeodeticPathDictionary"));
             classMap.put(new Integer(20534), getSWIGCtor("MgCoordinateSystemGeodeticPathElement"));
+            classMap.put(new Integer(20546), getSWIGCtor("MgCoordinateSystemGeodeticStandaloneTransformDefParams"));
             classMap.put(new Integer(20508), getSWIGCtor("MgCoordinateSystemGeodeticTransformation"));
             classMap.put(new Integer(20536), getSWIGCtor("MgCoordinateSystemGeodeticTransformDef"));
             classMap.put(new Integer(20540), getSWIGCtor("MgCoordinateSystemGeodeticTransformDefDictionary"));
+            classMap.put(new Integer(20541), getSWIGCtor("MgCoordinateSystemGeodeticTransformDefParams"));
             classMap.put(new Integer(20545), getSWIGCtor("MgCoordinateSystemGeodeticTransformGridFile"));
             classMap.put(new Integer(20532), getSWIGCtor("MgCoordinateSystemGridBase"));
             classMap.put(new Integer(20524), getSWIGCtor("MgCoordinateSystemGridBoundary"));
@@ -104,11 +107,13 @@
             classMap.put(new Integer(1256), getSWIGCtor("MgDateTime"));
             classMap.put(new Integer(10256), getSWIGCtor("MgDateTimeProperty"));
             classMap.put(new Integer(11775), getSWIGCtor("MgDeleteFeatures"));
+            classMap.put(new Integer(2251), getSWIGCtor("MgDisposable"));
             classMap.put(new Integer(1000), getSWIGCtor("MgDisposableCollection"));
             classMap.put(new Integer(10257), getSWIGCtor("MgDoubleProperty"));
             classMap.put(new Integer(30700), getSWIGCtor("MgDrawingService"));
             classMap.put(new Integer(30901), getSWIGCtor("MgDwfVersion"));
             classMap.put(new Integer(20001), getSWIGCtor("MgEnvelope"));
+            classMap.put(new Integer(1515), getSWIGCtor("MgException"));
             classMap.put(new Integer(11772), getSWIGCtor("MgFeatureAggregateOptions"));
             classMap.put(new Integer(11774), getSWIGCtor("MgFeatureCommandCollection"));
             classMap.put(new Integer(31001), getSWIGCtor("MgFeatureInformation"));
@@ -121,11 +126,12 @@
             classMap.put(new Integer(11786), getSWIGCtor("MgFileFeatureSourceParams"));
             classMap.put(new Integer(20016), getSWIGCtor("MgGeometricEntity"));
             classMap.put(new Integer(11756), getSWIGCtor("MgGeometricPropertyDefinition"));
-            classMap.put(new Integer(20019), getSWIGCtor("MgGeometry"));
+            classMap.put(new Integer(11757), getSWIGCtor("MgGeometry"));
             classMap.put(new Integer(20020), getSWIGCtor("MgGeometryCollection"));
             classMap.put(new Integer(20021), getSWIGCtor("MgGeometryComponent"));
             classMap.put(new Integer(20002), getSWIGCtor("MgGeometryFactory"));
             classMap.put(new Integer(11758), getSWIGCtor("MgGeometryProperty"));
+            classMap.put(new Integer(20054), getSWIGCtor("MgGeometrySimplifier"));
             classMap.put(new Integer(11785), getSWIGCtor("MgGeometryTypeInfo"));
             classMap.put(new Integer(11782), getSWIGCtor("MgGwsFeatureReader"));
             classMap.put(new Integer(40000), getSWIGCtor("MgHttpHeader"));
@@ -159,6 +165,8 @@
             classMap.put(new Integer(30900), getSWIGCtor("MgMappingService"));
             classMap.put(new Integer(30905), getSWIGCtor("MgMapPlot"));
             classMap.put(new Integer(30906), getSWIGCtor("MgMapPlotCollection"));
+            classMap.put(new Integer(20027), getSWIGCtor("MgMeasure"));
+            classMap.put(new Integer(31003), getSWIGCtor("MgMetatile"));
             classMap.put(new Integer(20029), getSWIGCtor("MgMultiCurvePolygon"));
             classMap.put(new Integer(20030), getSWIGCtor("MgMultiCurveString"));
             classMap.put(new Integer(20031), getSWIGCtor("MgMultiGeometry"));
@@ -165,6 +173,7 @@
             classMap.put(new Integer(20032), getSWIGCtor("MgMultiLineString"));
             classMap.put(new Integer(20033), getSWIGCtor("MgMultiPoint"));
             classMap.put(new Integer(20034), getSWIGCtor("MgMultiPolygon"));
+            classMap.put(new Integer(2252), getSWIGCtor("MgObject"));
             classMap.put(new Integer(11759), getSWIGCtor("MgObjectPropertyDefinition"));
             classMap.put(new Integer(30604), getSWIGCtor("MgPackageStatusInformation"));
             classMap.put(new Integer(11788), getSWIGCtor("MgParameter"));
@@ -174,10 +183,11 @@
             classMap.put(new Integer(20045), getSWIGCtor("MgPointCollection"));
             classMap.put(new Integer(20035), getSWIGCtor("MgPolygon"));
             classMap.put(new Integer(20046), getSWIGCtor("MgPolygonCollection"));
+            classMap.put(new Integer(20055), getSWIGCtor("MgPreparedGeometry"));
             classMap.put(new Integer(31400), getSWIGCtor("MgProfilingService"));
             classMap.put(new Integer(2000), getSWIGCtor("MgProperty"));
             classMap.put(new Integer(1002), getSWIGCtor("MgPropertyCollection"));
-            classMap.put(new Integer(2002), getSWIGCtor("MgPropertyDefinition"));
+            classMap.put(new Integer(10251), getSWIGCtor("MgPropertyDefinition"));
             classMap.put(new Integer(10001), getSWIGCtor("MgPropertyDefinitionCollection"));
             classMap.put(new Integer(11769), getSWIGCtor("MgRaster"));
             classMap.put(new Integer(11770), getSWIGCtor("MgRasterProperty"));
@@ -205,6 +215,7 @@
             classMap.put(new Integer(10003), getSWIGCtor("MgStringPropertyCollection"));
             classMap.put(new Integer(31200), getSWIGCtor("MgTileService"));
             classMap.put(new Integer(11787), getSWIGCtor("MgTransaction"));
+            classMap.put(new Integer(20039), getSWIGCtor("MgTransform"));
             classMap.put(new Integer(11777), getSWIGCtor("MgUpdateFeatures"));
             classMap.put(new Integer(30606), getSWIGCtor("MgUserInformation"));
             classMap.put(new Integer(11257), getSWIGCtor("MgWarnings"));
@@ -236,6 +247,7 @@
             classMap.put(new Integer(50013), getSWIGCtor("MgWebWidget"));
             classMap.put(new Integer(50018), getSWIGCtor("MgWebWidgetCollection"));
             classMap.put(new Integer(20040), getSWIGCtor("MgWktReaderWriter"));
+
         }
         catch(Exception e)
         {

Added: sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMapGuideApi/ExternalTests/ClassIdSanityTest.cs
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMapGuideApi/ExternalTests/ClassIdSanityTest.cs	                        (rev 0)
+++ sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMapGuideApi/ExternalTests/ClassIdSanityTest.cs	2020-11-20 14:21:54 UTC (rev 9797)
@@ -0,0 +1,26 @@
+using OSGeo.MapGuide.Test.Common;
+using System;
+using System.Linq;
+
+namespace TestMapGuideApi.ExternalTests
+{
+    public class ClassIdSanityTest : IExternalTest
+    {
+        public void Execute(IPlatformFactory factory, ITestLogger logger)
+        {
+            var missing = 0;
+            var mgAssemblies = AppDomain.CurrentDomain.GetAssemblies().Where(asm => asm.FullName.Contains("OSGeo.MapGuide"));
+            foreach (var clsId in OSGeo.MapGuide.MgClassMap.ClassIds)
+            {
+                var typeName = OSGeo.MapGuide.MgClassMap.GetTypeName(clsId);
+                var types = mgAssemblies.Select(asm => asm.GetType(typeName, false));
+                if (!types.Any())
+                {
+                    logger.WriteLine($"ERROR: .net proxy class ({typeName}, id: {clsId} does not exist");
+                    missing++;
+                }
+            }
+            Assert.AreEqual(0, missing);
+        }
+    }
+}

Modified: sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMapGuideApi/MapGuideTestExecutorCollection.cs
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMapGuideApi/MapGuideTestExecutorCollection.cs	2020-11-20 10:04:15 UTC (rev 9796)
+++ sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMapGuideApi/MapGuideTestExecutorCollection.cs	2020-11-20 14:21:54 UTC (rev 9797)
@@ -1,11 +1,8 @@
-using OSGeo.MapGuide;
-using OSGeo.MapGuide.Test.Common;
+using OSGeo.MapGuide.Test.Common;
 using System;
 using System.Collections.Generic;
 using System.IO;
-using System.Linq;
 using System.Text;
-using System.Threading.Tasks;
 
 namespace OSGeo.MapGuide.Test
 {

Modified: sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMapGuideApi/TestMapGuideApi.csproj
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMapGuideApi/TestMapGuideApi.csproj	2020-11-20 10:04:15 UTC (rev 9796)
+++ sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMapGuideApi/TestMapGuideApi.csproj	2020-11-20 14:21:54 UTC (rev 9797)
@@ -13,6 +13,9 @@
     <GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
   </PropertyGroup>
   <ItemGroup>
+    <Compile Include="..\..\..\..\Managed\DotNet\Common\MgClassMap.cs" Link="MgClassMap.cs" />
+  </ItemGroup>
+  <ItemGroup>
     <ProjectReference Include="..\TestCommon\TestCommon.csproj" />
   </ItemGroup>
   <ItemGroup>

Modified: sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMisc/Program.cs
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMisc/Program.cs	2020-11-20 10:04:15 UTC (rev 9796)
+++ sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMisc/Program.cs	2020-11-20 14:21:54 UTC (rev 9797)
@@ -1,5 +1,6 @@
 using System;
 using System.IO;
+using System.Linq;
 using System.Runtime.InteropServices;
 using OSGeo.MapGuide;
 
@@ -13,6 +14,8 @@
                 mentorDictionaryPath = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, mentorDictionaryPath));
             Environment.SetEnvironmentVariable("MENTOR_DICTIONARY_PATH", mentorDictionaryPath, EnvironmentVariableTarget.Process);
 
+            ClassIdSanityTest();
+
             var csFactory = new MgCoordinateSystemFactory();
             var csCat = csFactory.GetCatalog();
             csCat.SetDictionaryDir(mentorDictionaryPath);
@@ -137,6 +140,64 @@
             Console.WriteLine("*********** ALL OK ****************");
         }
 
+        private static void ClassIdSanityTest()
+        {
+            var missing = 0;
+            var mgAssemblies = AppDomain.CurrentDomain.GetAssemblies().Where(asm => asm.FullName.Contains("OSGeo.MapGuide"));
+            foreach (var clsId in OSGeo.MapGuide.MgClassMap.ClassIds)
+            {
+                var typeName = OSGeo.MapGuide.MgClassMap.GetTypeName(clsId);
+                var types = mgAssemblies.Select(asm => asm.GetType(typeName, false))
+                    .Where(t => t != null)
+                    .ToList();
+                if (types.Count == 0)
+                {
+                    Console.WriteLine($"ERROR: .net proxy class ({typeName}, id: {clsId}) does not exist");
+                    missing++;
+                }
+            }
+
+            if (missing > 0)
+                throw new Exception($"{missing} .net proxy class(es) could not be found");
+
+            /*
+            missing = 0;
+            //Now check in reverse
+            foreach (var type in mgAssemblies.SelectMany(asm => asm.ExportedTypes.Where(t => t.Name.StartsWith("Mg"))))
+            {
+                if (type.IsClass && !IsConstantClass(type))
+                {
+                    var id = MgClassMap.GetClassId(type.FullName);
+                    if (!id.HasValue)
+                    {
+                        Console.WriteLine($".net proxy class ({type.FullName}) does not have a known corresponding class id");
+                        missing++;
+                    }
+                }
+            }
+
+            if (missing > 0)
+                throw new Exception($"{missing} .net proxy class(es) are missing class ids");
+            */
+        }
+
+        private static bool IsConstantClass(Type type)
+        {
+            if (type.IsClass)
+            {
+                var fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.FlattenHierarchy);
+                // IsLiteral determines if its value is written at 
+                //   compile time and not changeable
+                // IsInitOnly determines if the field can be set 
+                //   in the body of the constructor
+                // for C# a field which is readonly keyword would have both true 
+                //   but a const field would have only IsLiteral equal to true
+                var constants = fields.Where(fi => fi.IsLiteral && !fi.IsInitOnly);
+                return constants.Any();
+            }
+            return false;
+        }
+
         static void OnException(MgException ex)
         {
             Console.WriteLine("[dotnet]: MgException caught");

Modified: sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMisc/TestMisc.csproj
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMisc/TestMisc.csproj	2020-11-20 10:04:15 UTC (rev 9796)
+++ sandbox/jng/vanilla_swig/Bindings/src/Test/DotNet/src/TestMisc/TestMisc.csproj	2020-11-20 14:21:54 UTC (rev 9797)
@@ -6,6 +6,10 @@
   </PropertyGroup>
 
   <ItemGroup>
+    <Compile Include="..\..\..\..\Managed\DotNet\Common\MgClassMap.cs" Link="MgClassMap.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
     <PackageReference Include="CommandLineParser" Version="2.2.1" />
     <PackageReference Include="OSGeo.MapGuide.Foundation" Version="4.0.0" />
     <PackageReference Include="OSGeo.MapGuide.Geometry" Version="4.0.0" />

Modified: sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Data/Templates/dotnet.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Data/Templates/dotnet.txt	2020-11-20 10:04:15 UTC (rev 9796)
+++ sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Data/Templates/dotnet.txt	2020-11-20 14:21:54 UTC (rev 9797)
@@ -7,18 +7,45 @@
 {
     internal static class MgClassMap
     {
+        //TODO: We should take a page out of the java binding and convert this to a 
+        //Dictionary<int, ConstructorInfo>. This would save us having to do repeated lookups
+        //for this information. Also it would serve as a fail-early sanity check that we are
+        //not registering class ids of classes that are not actual classes (eg. Classes with 
+        //constants should not be here)
         static Dictionary<int, string> classNameMap;
-        
+        static Dictionary<string, int> nameClassMap;
+
         static MgClassMap()
         {
             classNameMap = new Dictionary<int, string>();
+            nameClassMap = new Dictionary<string, int>();
             
 $CLASS_NAME_MAP_BODY$
+
+            //Sanity check that we haven't double registered the same type name under different
+            //class ids (Only possible when class id is being accidentally reused in a base or 
+            //derived C++ class)
+            foreach (var kvp in classNameMap)
+            {
+                if (nameClassMap.ContainsKey(kvp.Value))
+                {
+                    throw new Exception($"Failed sanity check. Type ({kvp.Value}) already registered with class id of ({kvp.Key})");
+                }
+
+                nameClassMap[kvp.Value] = kvp.Key;
+            }
         }
         
+        internal static IEnumerable<int> ClassIds => classNameMap.Keys;
+
         internal static string GetTypeName(int id)
         {
             return classNameMap.ContainsKey(id) ? classNameMap[id] : null;
         }
+
+        internal static int? GetClassId(string typeName)
+        {
+            return nameClassMap.ContainsKey(typeName) ? nameClassMap[typeName] : (int?)null;
+        }
     }
 }
\ No newline at end of file

Modified: sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Data/Templates/java.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Data/Templates/java.txt	2020-11-20 10:04:15 UTC (rev 9796)
+++ sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Data/Templates/java.txt	2020-11-20 14:21:54 UTC (rev 9797)
@@ -40,7 +40,13 @@
     private static Constructor getSWIGCtor(String className) throws ClassNotFoundException, Exception
     {
         Constructor swigCtor = null;
-        Constructor[] cons = Class.forName("org.osgeo.mapguide." + className).getDeclaredConstructors();
+        String typeName = "org.osgeo.mapguide." + className;
+        Class type = Class.forName(typeName);
+        if (type == null)
+        {
+            throw new Exception("Could not find proxy class: " + typeName);
+        }
+        Constructor[] cons = type.getDeclaredConstructors();
         for (int i = 0; i < cons.length; i++)
         {
             Class[] parameterTypes = cons[i].getParameterTypes();

Deleted: sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Data/classmap_master.json
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Data/classmap_master.json	2020-11-20 10:04:15 UTC (rev 9796)
+++ sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Data/classmap_master.json	2020-11-20 14:21:54 UTC (rev 9797)
@@ -1,1114 +0,0 @@
-{
-    "Modules": [
-        {
-            "Name": "Foundation",
-            "Classes": {
-                "1500": "MgApplicationException",
-                "1501": "MgArgumentOutOfRangeException",
-                "1005": "MgBatchPropertyCollection",
-                "1250": "MgByteReader",
-                "1257": "MgByteSink",
-                "1251": "MgByteSource",
-                "1502": "MgClassNotFoundException",
-                "1503": "MgConfigurationException",
-                "1504": "MgConfigurationLoadFailedException",
-                "1505": "MgConfigurationSaveFailedException",
-                "1256": "MgDateTime",
-                "1506": "MgDateTimeException",
-                "1507": "MgDecryptionException",
-                "1508": "MgDirectoryNotFoundException",
-                "1000": "MgDisposableCollection",
-                "1509": "MgDivideByZeroException",
-                "1510": "MgDomainException",
-                "1511": "MgDuplicateDirectoryException",
-                "1512": "MgDuplicateFileException",
-                "1513": "MgDuplicateObjectException",
-                "1514": "MgEncryptionException",
-                "1515": "MgException",
-                "1516": "MgFileIoException",
-                "1517": "MgFileNotFoundException",
-                "1518": "MgIndexOutOfRangeException",
-                "1519": "MgInvalidArgumentException",
-                "1520": "MgInvalidCastException",
-                "1522": "MgInvalidOperationException",
-                "1523": "MgInvalidPropertyTypeException",
-                "1524": "MgInvalidStreamHeaderException",
-                "1525": "MgIoException",
-                "1526": "MgLengthException",
-                "1527": "MgLogicException",
-                "1528": "MgNotFiniteNumberException",
-                "1529": "MgNotImplementedException",
-                "1530": "MgNullArgumentException",
-                "1531": "MgNullPropertyValueException",
-                "1532": "MgNullReferenceException",
-                "1533": "MgObjectNotFoundException",
-                "1534": "MgOutOfMemoryException",
-                "1535": "MgOutOfRangeException",
-                "1536": "MgOverflowException",
-                "1537": "MgPlatformNotSupportedException",
-                "2000": "MgProperty",
-                "1002": "MgPropertyCollection",
-                "2002": "MgPropertyDefinition",
-                "1540": "MgResourceTagNotFoundException",
-                "1538": "MgResourcesException",
-                "1539": "MgResourcesLoadFailedException",
-                "1541": "MgRuntimeException",
-                "1542": "MgStreamIoException",
-                "1003": "MgStringCollection",
-                "2001": "MgStringProperty",
-                "1543": "MgSystemException",
-                "1544": "MgTemporaryFileNotAvailableException",
-                "1545": "MgThirdPartyException",
-                "1547": "MgUnclassifiedException",
-                "1548": "MgUnderflowException",
-                "1549": "MgXmlException",
-                "1550": "MgXmlParserException"
-            }
-        },
-        {
-            "Name": "Geometry",
-            "Classes": {
-                "20004": "MgAgfReaderWriter",
-                "20005": "MgAggregateGeometry",
-                "1500": "MgApplicationException",
-                "20006": "MgArcSegment",
-                "1501": "MgArgumentOutOfRangeException",
-                "1005": "MgBatchPropertyCollection",
-                "1250": "MgByteReader",
-                "1257": "MgByteSink",
-                "1251": "MgByteSource",
-                "1502": "MgClassNotFoundException",
-                "1503": "MgConfigurationException",
-                "1504": "MgConfigurationLoadFailedException",
-                "1505": "MgConfigurationSaveFailedException",
-                "20003": "MgCoordinate",
-                "20009": "MgCoordinateIterator",
-                "20500": "MgCoordinateSystem",
-                "20504": "MgCoordinateSystemCatalog",
-                "20506": "MgCoordinateSystemCategory",
-                "20510": "MgCoordinateSystemCategoryDictionary",
-                "21000": "MgCoordinateSystemComputationFailedException",
-                "21001": "MgCoordinateSystemConversionFailedException",
-                "20507": "MgCoordinateSystemDatum",
-                "20512": "MgCoordinateSystemDatumDictionary",
-                "20511": "MgCoordinateSystemDictionary",
-                "20521": "MgCoordinateSystemDictionaryUtility",
-                "20509": "MgCoordinateSystemEllipsoid",
-                "20513": "MgCoordinateSystemEllipsoidDictionary",
-                "20514": "MgCoordinateSystemEnum",
-                "20515": "MgCoordinateSystemEnumInteger32",
-                "20501": "MgCoordinateSystemFactory",
-                "20516": "MgCoordinateSystemFilter",
-                "20517": "MgCoordinateSystemFilterInteger32",
-                "20505": "MgCoordinateSystemFormatConverter",
-                "20542": "MgCoordinateSystemGeodeticAnalyticalTransformDefParams",
-                "20543": "MgCoordinateSystemGeodeticInterpolationTransformDefParams",
-                "20544": "MgCoordinateSystemGeodeticMultipleRegressionTransformDefParams",
-                "20533": "MgCoordinateSystemGeodeticPath",
-                "20535": "MgCoordinateSystemGeodeticPathDictionary",
-                "20534": "MgCoordinateSystemGeodeticPathElement",
-                "20536": "MgCoordinateSystemGeodeticTransformDef",
-                "20540": "MgCoordinateSystemGeodeticTransformDefDictionary",
-                "20545": "MgCoordinateSystemGeodeticTransformGridFile",
-                "20508": "MgCoordinateSystemGeodeticTransformation",
-                "20532": "MgCoordinateSystemGridBase",
-                "20524": "MgCoordinateSystemGridBoundary",
-                "20529": "MgCoordinateSystemGridLine",
-                "20526": "MgCoordinateSystemGridLineCollection",
-                "20530": "MgCoordinateSystemGridRegion",
-                "20527": "MgCoordinateSystemGridRegionCollection",
-                "20525": "MgCoordinateSystemGridSpecification",
-                "20531": "MgCoordinateSystemGridTick",
-                "20528": "MgCoordinateSystemGridTickCollection",
-                "21002": "MgCoordinateSystemInitializationFailedException",
-                "21003": "MgCoordinateSystemLoadFailedException",
-                "20518": "MgCoordinateSystemMathComparator",
-                "20502": "MgCoordinateSystemMeasure",
-                "21004": "MgCoordinateSystemMeasureFailedException",
-                "20522": "MgCoordinateSystemMgrs",
-                "20520": "MgCoordinateSystemProjectionInformation",
-                "20503": "MgCoordinateSystemTransform",
-                "21005": "MgCoordinateSystemTransformFailedException",
-                "20519": "MgCoordinateSystemUnitInformation",
-                "20048": "MgCoordinateXY",
-                "20051": "MgCoordinateXYM",
-                "20049": "MgCoordinateXYZ",
-                "20050": "MgCoordinateXYZM",
-                "20010": "MgCurve",
-                "20011": "MgCurvePolygon",
-                "20047": "MgCurvePolygonCollection",
-                "20012": "MgCurveRing",
-                "20052": "MgCurveRingCollection",
-                "20013": "MgCurveSegment",
-                "20041": "MgCurveSegmentCollection",
-                "20014": "MgCurveString",
-                "20043": "MgCurveStringCollection",
-                "1256": "MgDateTime",
-                "1506": "MgDateTimeException",
-                "1507": "MgDecryptionException",
-                "1508": "MgDirectoryNotFoundException",
-                "1000": "MgDisposableCollection",
-                "1509": "MgDivideByZeroException",
-                "1510": "MgDomainException",
-                "1511": "MgDuplicateDirectoryException",
-                "1512": "MgDuplicateFileException",
-                "1513": "MgDuplicateObjectException",
-                "1514": "MgEncryptionException",
-                "20001": "MgEnvelope",
-                "1515": "MgException",
-                "1516": "MgFileIoException",
-                "1517": "MgFileNotFoundException",
-                "20016": "MgGeometricEntity",
-                "20019": "MgGeometry",
-                "20020": "MgGeometryCollection",
-                "20021": "MgGeometryComponent",
-                "21006": "MgGeometryException",
-                "20002": "MgGeometryFactory",
-                "1518": "MgIndexOutOfRangeException",
-                "1519": "MgInvalidArgumentException",
-                "1520": "MgInvalidCastException",
-                "21007": "MgInvalidCoordinateSystemException",
-                "21008": "MgInvalidCoordinateSystemTypeException",
-                "21009": "MgInvalidCoordinateSystemUnitsException",
-                "1522": "MgInvalidOperationException",
-                "1523": "MgInvalidPropertyTypeException",
-                "1524": "MgInvalidStreamHeaderException",
-                "1525": "MgIoException",
-                "1526": "MgLengthException",
-                "20042": "MgLineString",
-                "20044": "MgLineStringCollection",
-                "20023": "MgLinearRing",
-                "20053": "MgLinearRingCollection",
-                "20024": "MgLinearSegment",
-                "1527": "MgLogicException",
-                "20029": "MgMultiCurvePolygon",
-                "20030": "MgMultiCurveString",
-                "20031": "MgMultiGeometry",
-                "20032": "MgMultiLineString",
-                "20033": "MgMultiPoint",
-                "20034": "MgMultiPolygon",
-                "1528": "MgNotFiniteNumberException",
-                "1529": "MgNotImplementedException",
-                "1530": "MgNullArgumentException",
-                "1531": "MgNullPropertyValueException",
-                "1532": "MgNullReferenceException",
-                "1533": "MgObjectNotFoundException",
-                "1534": "MgOutOfMemoryException",
-                "1535": "MgOutOfRangeException",
-                "1536": "MgOverflowException",
-                "1537": "MgPlatformNotSupportedException",
-                "20000": "MgPoint",
-                "20045": "MgPointCollection",
-                "20035": "MgPolygon",
-                "20046": "MgPolygonCollection",
-                "2000": "MgProperty",
-                "1002": "MgPropertyCollection",
-                "2002": "MgPropertyDefinition",
-                "20037": "MgRegion",
-                "1540": "MgResourceTagNotFoundException",
-                "1538": "MgResourcesException",
-                "1539": "MgResourcesLoadFailedException",
-                "20038": "MgRing",
-                "1541": "MgRuntimeException",
-                "1542": "MgStreamIoException",
-                "1003": "MgStringCollection",
-                "2001": "MgStringProperty",
-                "1543": "MgSystemException",
-                "1544": "MgTemporaryFileNotAvailableException",
-                "1545": "MgThirdPartyException",
-                "1547": "MgUnclassifiedException",
-                "1548": "MgUnderflowException",
-                "20040": "MgWktReaderWriter",
-                "1549": "MgXmlException",
-                "1550": "MgXmlParserException"
-            }
-        },
-        {
-            "Name": "PlatformBase",
-            "Classes": {
-                "20004": "MgAgfReaderWriter",
-                "20005": "MgAggregateGeometry",
-                "1500": "MgApplicationException",
-                "20006": "MgArcSegment",
-                "1501": "MgArgumentOutOfRangeException",
-                "10500": "MgArrayTypeMismatchException",
-                "1005": "MgBatchPropertyCollection",
-                "10252": "MgBlobProperty",
-                "10253": "MgBooleanProperty",
-                "10254": "MgByteProperty",
-                "1250": "MgByteReader",
-                "1257": "MgByteSink",
-                "1251": "MgByteSource",
-                "11750": "MgClassDefinition",
-                "11780": "MgClassDefinitionCollection",
-                "1502": "MgClassNotFoundException",
-                "10255": "MgClobProperty",
-                "10250": "MgColor",
-                "1503": "MgConfigurationException",
-                "1504": "MgConfigurationLoadFailedException",
-                "1505": "MgConfigurationSaveFailedException",
-                "20003": "MgCoordinate",
-                "20009": "MgCoordinateIterator",
-                "20500": "MgCoordinateSystem",
-                "20504": "MgCoordinateSystemCatalog",
-                "20506": "MgCoordinateSystemCategory",
-                "20510": "MgCoordinateSystemCategoryDictionary",
-                "21000": "MgCoordinateSystemComputationFailedException",
-                "21001": "MgCoordinateSystemConversionFailedException",
-                "20507": "MgCoordinateSystemDatum",
-                "20512": "MgCoordinateSystemDatumDictionary",
-                "20511": "MgCoordinateSystemDictionary",
-                "20521": "MgCoordinateSystemDictionaryUtility",
-                "20509": "MgCoordinateSystemEllipsoid",
-                "20513": "MgCoordinateSystemEllipsoidDictionary",
-                "20514": "MgCoordinateSystemEnum",
-                "20515": "MgCoordinateSystemEnumInteger32",
-                "20501": "MgCoordinateSystemFactory",
-                "20516": "MgCoordinateSystemFilter",
-                "20517": "MgCoordinateSystemFilterInteger32",
-                "20505": "MgCoordinateSystemFormatConverter",
-                "20542": "MgCoordinateSystemGeodeticAnalyticalTransformDefParams",
-                "20543": "MgCoordinateSystemGeodeticInterpolationTransformDefParams",
-                "20544": "MgCoordinateSystemGeodeticMultipleRegressionTransformDefParams",
-                "20533": "MgCoordinateSystemGeodeticPath",
-                "20535": "MgCoordinateSystemGeodeticPathDictionary",
-                "20534": "MgCoordinateSystemGeodeticPathElement",
-                "20536": "MgCoordinateSystemGeodeticTransformDef",
-                "20540": "MgCoordinateSystemGeodeticTransformDefDictionary",
-                "20545": "MgCoordinateSystemGeodeticTransformGridFile",
-                "20508": "MgCoordinateSystemGeodeticTransformation",
-                "20532": "MgCoordinateSystemGridBase",
-                "20524": "MgCoordinateSystemGridBoundary",
-                "20529": "MgCoordinateSystemGridLine",
-                "20526": "MgCoordinateSystemGridLineCollection",
-                "20530": "MgCoordinateSystemGridRegion",
-                "20527": "MgCoordinateSystemGridRegionCollection",
-                "20525": "MgCoordinateSystemGridSpecification",
-                "20531": "MgCoordinateSystemGridTick",
-                "20528": "MgCoordinateSystemGridTickCollection",
-                "21002": "MgCoordinateSystemInitializationFailedException",
-                "21003": "MgCoordinateSystemLoadFailedException",
-                "20518": "MgCoordinateSystemMathComparator",
-                "20502": "MgCoordinateSystemMeasure",
-                "21004": "MgCoordinateSystemMeasureFailedException",
-                "20522": "MgCoordinateSystemMgrs",
-                "20520": "MgCoordinateSystemProjectionInformation",
-                "20503": "MgCoordinateSystemTransform",
-                "21005": "MgCoordinateSystemTransformFailedException",
-                "20519": "MgCoordinateSystemUnitInformation",
-                "20048": "MgCoordinateXY",
-                "20051": "MgCoordinateXYM",
-                "20049": "MgCoordinateXYZ",
-                "20050": "MgCoordinateXYZM",
-                "20010": "MgCurve",
-                "20011": "MgCurvePolygon",
-                "20047": "MgCurvePolygonCollection",
-                "20012": "MgCurveRing",
-                "20052": "MgCurveRingCollection",
-                "20013": "MgCurveSegment",
-                "20041": "MgCurveSegmentCollection",
-                "20014": "MgCurveString",
-                "20043": "MgCurveStringCollection",
-                "11751": "MgDataPropertyDefinition",
-                "11773": "MgDataReader",
-                "1256": "MgDateTime",
-                "1506": "MgDateTimeException",
-                "10256": "MgDateTimeProperty",
-                "1507": "MgDecryptionException",
-                "11775": "MgDeleteFeatures",
-                "1508": "MgDirectoryNotFoundException",
-                "1000": "MgDisposableCollection",
-                "1509": "MgDivideByZeroException",
-                "1510": "MgDomainException",
-                "10257": "MgDoubleProperty",
-                "1511": "MgDuplicateDirectoryException",
-                "1512": "MgDuplicateFileException",
-                "1513": "MgDuplicateObjectException",
-                "10501": "MgDuplicateResourceDataException",
-                "10502": "MgDuplicateResourceException",
-                "10503": "MgEmptyFeatureSetException",
-                "1514": "MgEncryptionException",
-                "20001": "MgEnvelope",
-                "1515": "MgException",
-                "10504": "MgFdoException",
-                "11772": "MgFeatureAggregateOptions",
-                "11774": "MgFeatureCommandCollection",
-                "11764": "MgFeatureProperty",
-                "11771": "MgFeatureQueryOptions",
-                "11753": "MgFeatureReader",
-                "11778": "MgFeatureSchema",
-                "11779": "MgFeatureSchemaCollection",
-                "11754": "MgFeatureService",
-                "10505": "MgFeatureServiceException",
-                "11786": "MgFileFeatureSourceParams",
-                "1516": "MgFileIoException",
-                "1517": "MgFileNotFoundException",
-                "20016": "MgGeometricEntity",
-                "11756": "MgGeometricPropertyDefinition",
-                "20019": "MgGeometry",
-                "20020": "MgGeometryCollection",
-                "20021": "MgGeometryComponent",
-                "21006": "MgGeometryException",
-                "20002": "MgGeometryFactory",
-                "11758": "MgGeometryProperty",
-                "11785": "MgGeometryTypeInfo",
-                "11782": "MgGwsFeatureReader",
-                "1518": "MgIndexOutOfRangeException",
-                "11776": "MgInsertFeatures",
-                "10258": "MgInt16Property",
-                "10259": "MgInt32Property",
-                "10260": "MgInt64Property",
-                "10000": "MgIntCollection",
-                "1519": "MgInvalidArgumentException",
-                "1520": "MgInvalidCastException",
-                "21007": "MgInvalidCoordinateSystemException",
-                "21008": "MgInvalidCoordinateSystemTypeException",
-                "21009": "MgInvalidCoordinateSystemUnitsException",
-                "10507": "MgInvalidMapDefinitionException",
-                "1522": "MgInvalidOperationException",
-                "1523": "MgInvalidPropertyTypeException",
-                "10508": "MgInvalidRepositoryNameException",
-                "10509": "MgInvalidRepositoryTypeException",
-                "10510": "MgInvalidResourceDataNameException",
-                "10511": "MgInvalidResourceDataTypeException",
-                "10512": "MgInvalidResourceNameException",
-                "10513": "MgInvalidResourcePathException",
-                "10514": "MgInvalidResourcePreProcessingTypeException",
-                "10515": "MgInvalidResourceTypeException",
-                "1524": "MgInvalidStreamHeaderException",
-                "1525": "MgIoException",
-                "12003": "MgLayerBase",
-                "12002": "MgLayerCollection",
-                "12001": "MgLayerGroup",
-                "12004": "MgLayerGroupCollection",
-                "10517": "MgLayerNotFoundException",
-                "1526": "MgLengthException",
-                "20042": "MgLineString",
-                "20044": "MgLineStringCollection",
-                "20023": "MgLinearRing",
-                "20053": "MgLinearRingCollection",
-                "20024": "MgLinearSegment",
-                "1527": "MgLogicException",
-                "11766": "MgLongTransactionReader",
-                "12000": "MgMapBase",
-                "12005": "MgMapCollection",
-                "20029": "MgMultiCurvePolygon",
-                "20030": "MgMultiCurveString",
-                "20031": "MgMultiGeometry",
-                "20032": "MgMultiLineString",
-                "20033": "MgMultiPoint",
-                "20034": "MgMultiPolygon",
-                "1528": "MgNotFiniteNumberException",
-                "1529": "MgNotImplementedException",
-                "1530": "MgNullArgumentException",
-                "1531": "MgNullPropertyValueException",
-                "1532": "MgNullReferenceException",
-                "1533": "MgObjectNotFoundException",
-                "11759": "MgObjectPropertyDefinition",
-                "1534": "MgOutOfMemoryException",
-                "1535": "MgOutOfRangeException",
-                "1536": "MgOverflowException",
-                "11788": "MgParameter",
-                "10004": "MgParameterCollection",
-                "1537": "MgPlatformNotSupportedException",
-                "20000": "MgPoint",
-                "20045": "MgPointCollection",
-                "20035": "MgPolygon",
-                "20046": "MgPolygonCollection",
-                "2000": "MgProperty",
-                "1002": "MgPropertyCollection",
-                "2002": "MgPropertyDefinition",
-                "10001": "MgPropertyDefinitionCollection",
-                "11769": "MgRaster",
-                "11770": "MgRasterProperty",
-                "11768": "MgRasterPropertyDefinition",
-                "12006": "MgReadOnlyLayerCollection",
-                "20037": "MgRegion",
-                "11526": "MgResource",
-                "10518": "MgResourceBusyException",
-                "10519": "MgResourceDataNotFoundException",
-                "11500": "MgResourceIdentifier",
-                "10520": "MgResourceNotFoundException",
-                "11501": "MgResourceService",
-                "1540": "MgResourceTagNotFoundException",
-                "1538": "MgResourcesException",
-                "1539": "MgResourcesLoadFailedException",
-                "20038": "MgRing",
-                "1541": "MgRuntimeException",
-                "12007": "MgSelectionBase",
-                "11251": "MgService",
-                "10521": "MgServiceNotAvailableException",
-                "10522": "MgServiceNotSupportedException",
-                "10261": "MgSingleProperty",
-                "11761": "MgSpatialContextReader",
-                "11762": "MgSqlDataReader",
-                "1542": "MgStreamIoException",
-                "1003": "MgStringCollection",
-                "2001": "MgStringProperty",
-                "10003": "MgStringPropertyCollection",
-                "1543": "MgSystemException",
-                "1544": "MgTemporaryFileNotAvailableException",
-                "1545": "MgThirdPartyException",
-                "11787": "MgTransaction",
-                "1547": "MgUnclassifiedException",
-                "1548": "MgUnderflowException",
-                "11777": "MgUpdateFeatures",
-                "10523": "MgUserNotFoundException",
-                "11257": "MgWarnings",
-                "20040": "MgWktReaderWriter",
-                "1549": "MgXmlException",
-                "1550": "MgXmlParserException"
-            }
-        },
-        {
-            "Name": "MapGuideCommon",
-            "Classes": {
-                "20004": "MgAgfReaderWriter",
-                "20005": "MgAggregateGeometry",
-                "1500": "MgApplicationException",
-                "20006": "MgArcSegment",
-                "1501": "MgArgumentOutOfRangeException",
-                "10500": "MgArrayTypeMismatchException",
-                "30000": "MgAuthenticationFailedException",
-                "1005": "MgBatchPropertyCollection",
-                "10252": "MgBlobProperty",
-                "10253": "MgBooleanProperty",
-                "10254": "MgByteProperty",
-                "1250": "MgByteReader",
-                "1257": "MgByteSink",
-                "1251": "MgByteSource",
-                "11750": "MgClassDefinition",
-                "11780": "MgClassDefinitionCollection",
-                "1502": "MgClassNotFoundException",
-                "10255": "MgClobProperty",
-                "10250": "MgColor",
-                "1503": "MgConfigurationException",
-                "1504": "MgConfigurationLoadFailedException",
-                "1505": "MgConfigurationSaveFailedException",
-                "30001": "MgConnectionFailedException",
-                "30002": "MgConnectionNotOpenException",
-                "20003": "MgCoordinate",
-                "20009": "MgCoordinateIterator",
-                "20500": "MgCoordinateSystem",
-                "20504": "MgCoordinateSystemCatalog",
-                "20506": "MgCoordinateSystemCategory",
-                "20510": "MgCoordinateSystemCategoryDictionary",
-                "21000": "MgCoordinateSystemComputationFailedException",
-                "21001": "MgCoordinateSystemConversionFailedException",
-                "20507": "MgCoordinateSystemDatum",
-                "20512": "MgCoordinateSystemDatumDictionary",
-                "20511": "MgCoordinateSystemDictionary",
-                "20521": "MgCoordinateSystemDictionaryUtility",
-                "20509": "MgCoordinateSystemEllipsoid",
-                "20513": "MgCoordinateSystemEllipsoidDictionary",
-                "20514": "MgCoordinateSystemEnum",
-                "20515": "MgCoordinateSystemEnumInteger32",
-                "20501": "MgCoordinateSystemFactory",
-                "20516": "MgCoordinateSystemFilter",
-                "20517": "MgCoordinateSystemFilterInteger32",
-                "20505": "MgCoordinateSystemFormatConverter",
-                "20542": "MgCoordinateSystemGeodeticAnalyticalTransformDefParams",
-                "20543": "MgCoordinateSystemGeodeticInterpolationTransformDefParams",
-                "20544": "MgCoordinateSystemGeodeticMultipleRegressionTransformDefParams",
-                "20533": "MgCoordinateSystemGeodeticPath",
-                "20535": "MgCoordinateSystemGeodeticPathDictionary",
-                "20534": "MgCoordinateSystemGeodeticPathElement",
-                "20536": "MgCoordinateSystemGeodeticTransformDef",
-                "20540": "MgCoordinateSystemGeodeticTransformDefDictionary",
-                "20545": "MgCoordinateSystemGeodeticTransformGridFile",
-                "20508": "MgCoordinateSystemGeodeticTransformation",
-                "20532": "MgCoordinateSystemGridBase",
-                "20524": "MgCoordinateSystemGridBoundary",
-                "20529": "MgCoordinateSystemGridLine",
-                "20526": "MgCoordinateSystemGridLineCollection",
-                "20530": "MgCoordinateSystemGridRegion",
-                "20527": "MgCoordinateSystemGridRegionCollection",
-                "20525": "MgCoordinateSystemGridSpecification",
-                "20531": "MgCoordinateSystemGridTick",
-                "20528": "MgCoordinateSystemGridTickCollection",
-                "21002": "MgCoordinateSystemInitializationFailedException",
-                "21003": "MgCoordinateSystemLoadFailedException",
-                "20518": "MgCoordinateSystemMathComparator",
-                "20502": "MgCoordinateSystemMeasure",
-                "21004": "MgCoordinateSystemMeasureFailedException",
-                "20522": "MgCoordinateSystemMgrs",
-                "20520": "MgCoordinateSystemProjectionInformation",
-                "20503": "MgCoordinateSystemTransform",
-                "21005": "MgCoordinateSystemTransformFailedException",
-                "20519": "MgCoordinateSystemUnitInformation",
-                "20048": "MgCoordinateXY",
-                "20051": "MgCoordinateXYM",
-                "20049": "MgCoordinateXYZ",
-                "20050": "MgCoordinateXYZM",
-                "20010": "MgCurve",
-                "20011": "MgCurvePolygon",
-                "20047": "MgCurvePolygonCollection",
-                "20012": "MgCurveRing",
-                "20052": "MgCurveRingCollection",
-                "20013": "MgCurveSegment",
-                "20041": "MgCurveSegmentCollection",
-                "20014": "MgCurveString",
-                "20043": "MgCurveStringCollection",
-                "11751": "MgDataPropertyDefinition",
-                "11773": "MgDataReader",
-                "1256": "MgDateTime",
-                "1506": "MgDateTimeException",
-                "10256": "MgDateTimeProperty",
-                "30003": "MgDbException",
-                "30004": "MgDbXmlException",
-                "1507": "MgDecryptionException",
-                "11775": "MgDeleteFeatures",
-                "1508": "MgDirectoryNotFoundException",
-                "1000": "MgDisposableCollection",
-                "1509": "MgDivideByZeroException",
-                "1510": "MgDomainException",
-                "10257": "MgDoubleProperty",
-                "30700": "MgDrawingService",
-                "1511": "MgDuplicateDirectoryException",
-                "1512": "MgDuplicateFileException",
-                "30005": "MgDuplicateGroupException",
-                "30006": "MgDuplicateNameException",
-                "1513": "MgDuplicateObjectException",
-                "30007": "MgDuplicateParameterException",
-                "30008": "MgDuplicateRepositoryException",
-                "10501": "MgDuplicateResourceDataException",
-                "10502": "MgDuplicateResourceException",
-                "30009": "MgDuplicateRoleException",
-                "30010": "MgDuplicateServerException",
-                "30011": "MgDuplicateSessionException",
-                "30012": "MgDuplicateUserException",
-                "30013": "MgDwfException",
-                "30014": "MgDwfSectionNotFoundException",
-                "30015": "MgDwfSectionResourceNotFoundException",
-                "30901": "MgDwfVersion",
-                "10503": "MgEmptyFeatureSetException",
-                "1514": "MgEncryptionException",
-                "30016": "MgEndOfStreamException",
-                "20001": "MgEnvelope",
-                "1515": "MgException",
-                "10504": "MgFdoException",
-                "11772": "MgFeatureAggregateOptions",
-                "11774": "MgFeatureCommandCollection",
-                "31001": "MgFeatureInformation",
-                "11764": "MgFeatureProperty",
-                "11771": "MgFeatureQueryOptions",
-                "11753": "MgFeatureReader",
-                "11778": "MgFeatureSchema",
-                "11779": "MgFeatureSchemaCollection",
-                "11754": "MgFeatureService",
-                "10505": "MgFeatureServiceException",
-                "11786": "MgFileFeatureSourceParams",
-                "1516": "MgFileIoException",
-                "1517": "MgFileNotFoundException",
-                "20016": "MgGeometricEntity",
-                "11756": "MgGeometricPropertyDefinition",
-                "20019": "MgGeometry",
-                "20020": "MgGeometryCollection",
-                "20021": "MgGeometryComponent",
-                "21006": "MgGeometryException",
-                "20002": "MgGeometryFactory",
-                "11758": "MgGeometryProperty",
-                "11785": "MgGeometryTypeInfo",
-                "30018": "MgGroupNotFoundException",
-                "11782": "MgGwsFeatureReader",
-                "1518": "MgIndexOutOfRangeException",
-                "11776": "MgInsertFeatures",
-                "10258": "MgInt16Property",
-                "10259": "MgInt32Property",
-                "10260": "MgInt64Property",
-                "10000": "MgIntCollection",
-                "1519": "MgInvalidArgumentException",
-                "1520": "MgInvalidCastException",
-                "21007": "MgInvalidCoordinateSystemException",
-                "21008": "MgInvalidCoordinateSystemTypeException",
-                "21009": "MgInvalidCoordinateSystemUnitsException",
-                "30019": "MgInvalidDwfPackageException",
-                "30020": "MgInvalidDwfSectionException",
-                "30021": "MgInvalidFeatureSourceException",
-                "30022": "MgInvalidIpAddressException",
-                "30023": "MgInvalidLicenseException",
-                "30024": "MgInvalidLogEntryException",
-                "10507": "MgInvalidMapDefinitionException",
-                "1522": "MgInvalidOperationException",
-                "30026": "MgInvalidPasswordException",
-                "30027": "MgInvalidPrintLayoutFontSizeUnitsException",
-                "30028": "MgInvalidPrintLayoutPositionUnitsException",
-                "30029": "MgInvalidPrintLayoutSizeUnitsException",
-                "1523": "MgInvalidPropertyTypeException",
-                "10508": "MgInvalidRepositoryNameException",
-                "10509": "MgInvalidRepositoryTypeException",
-                "10510": "MgInvalidResourceDataNameException",
-                "10511": "MgInvalidResourceDataTypeException",
-                "10512": "MgInvalidResourceNameException",
-                "10513": "MgInvalidResourcePathException",
-                "10514": "MgInvalidResourcePreProcessingTypeException",
-                "10515": "MgInvalidResourceTypeException",
-                "30031": "MgInvalidServerNameException",
-                "1524": "MgInvalidStreamHeaderException",
-                "1525": "MgIoException",
-                "31300": "MgKmlService",
-                "30501": "MgLayer",
-                "12003": "MgLayerBase",
-                "12002": "MgLayerCollection",
-                "12001": "MgLayerGroup",
-                "12004": "MgLayerGroupCollection",
-                "10517": "MgLayerNotFoundException",
-                "30904": "MgLayout",
-                "1526": "MgLengthException",
-                "30032": "MgLicenseException",
-                "30033": "MgLicenseExpiredException",
-                "20042": "MgLineString",
-                "20044": "MgLineStringCollection",
-                "20023": "MgLinearRing",
-                "20053": "MgLinearRingCollection",
-                "20024": "MgLinearSegment",
-                "1527": "MgLogicException",
-                "11766": "MgLongTransactionReader",
-                "30500": "MgMap",
-                "12000": "MgMapBase",
-                "12005": "MgMapCollection",
-                "30905": "MgMapPlot",
-                "30906": "MgMapPlotCollection",
-                "30900": "MgMappingService",
-                "20029": "MgMultiCurvePolygon",
-                "20030": "MgMultiCurveString",
-                "20031": "MgMultiGeometry",
-                "20032": "MgMultiLineString",
-                "20033": "MgMultiPoint",
-                "20034": "MgMultiPolygon",
-                "1528": "MgNotFiniteNumberException",
-                "1529": "MgNotImplementedException",
-                "1530": "MgNullArgumentException",
-                "1531": "MgNullPropertyValueException",
-                "1532": "MgNullReferenceException",
-                "1533": "MgObjectNotFoundException",
-                "11759": "MgObjectPropertyDefinition",
-                "30035": "MgOperationProcessingException",
-                "1534": "MgOutOfMemoryException",
-                "1535": "MgOutOfRangeException",
-                "1536": "MgOverflowException",
-                "30604": "MgPackageStatusInformation",
-                "11788": "MgParameter",
-                "10004": "MgParameterCollection",
-                "30036": "MgParameterNotFoundException",
-                "30037": "MgPathTooLongException",
-                "1537": "MgPlatformNotSupportedException",
-                "30902": "MgPlotSpecification",
-                "20000": "MgPoint",
-                "20045": "MgPointCollection",
-                "20035": "MgPolygon",
-                "20046": "MgPolygonCollection",
-                "30039": "MgPortNotAvailableException",
-                "30040": "MgPrintToScaleModeNotSelectedException",
-                "31400": "MgProfilingService",
-                "2000": "MgProperty",
-                "1002": "MgPropertyCollection",
-                "2002": "MgPropertyDefinition",
-                "10001": "MgPropertyDefinitionCollection",
-                "11769": "MgRaster",
-                "11770": "MgRasterProperty",
-                "11768": "MgRasterPropertyDefinition",
-                "12006": "MgReadOnlyLayerCollection",
-                "20037": "MgRegion",
-                "31002": "MgRenderingOptions",
-                "31000": "MgRenderingService",
-                "30041": "MgRepositoryCreationFailedException",
-                "30042": "MgRepositoryNotFoundException",
-                "30043": "MgRepositoryNotOpenException",
-                "30044": "MgRepositoryOpenFailedException",
-                "11526": "MgResource",
-                "10518": "MgResourceBusyException",
-                "10519": "MgResourceDataNotFoundException",
-                "11500": "MgResourceIdentifier",
-                "10520": "MgResourceNotFoundException",
-                "11501": "MgResourceService",
-                "1540": "MgResourceTagNotFoundException",
-                "1538": "MgResourcesException",
-                "1539": "MgResourcesLoadFailedException",
-                "20038": "MgRing",
-                "30045": "MgRoleNotFoundException",
-                "1541": "MgRuntimeException",
-                "30502": "MgSelection",
-                "12007": "MgSelectionBase",
-                "30607": "MgServerAdmin",
-                "30046": "MgServerNotFoundException",
-                "30047": "MgServerNotOnlineException",
-                "11251": "MgService",
-                "10521": "MgServiceNotAvailableException",
-                "10522": "MgServiceNotSupportedException",
-                "30048": "MgSessionExpiredException",
-                "30052": "MgSessionNotFoundException",
-                "10261": "MgSingleProperty",
-                "30605": "MgSite",
-                "30601": "MgSiteConnection",
-                "30608": "MgSiteInfo",
-                "11761": "MgSpatialContextReader",
-                "11762": "MgSqlDataReader",
-                "1542": "MgStreamIoException",
-                "1003": "MgStringCollection",
-                "2001": "MgStringProperty",
-                "10003": "MgStringPropertyCollection",
-                "1543": "MgSystemException",
-                "1544": "MgTemporaryFileNotAvailableException",
-                "1545": "MgThirdPartyException",
-                "31200": "MgTileService",
-                "11787": "MgTransaction",
-                "30049": "MgUnauthorizedAccessException",
-                "1547": "MgUnclassifiedException",
-                "1548": "MgUnderflowException",
-                "30056": "MgUnknownTileProviderException",
-                "30057": "MgUnsupportedTileProviderException",
-                "11777": "MgUpdateFeatures",
-                "30050": "MgUriFormatException",
-                "30606": "MgUserInformation",
-                "10523": "MgUserNotFoundException",
-                "11257": "MgWarnings",
-                "20040": "MgWktReaderWriter",
-                "1549": "MgXmlException",
-                "1550": "MgXmlParserException"
-            }
-        },
-        {
-            "Name": "Web",
-            "Classes": {
-                "20004": "MgAgfReaderWriter",
-                "20005": "MgAggregateGeometry",
-                "1500": "MgApplicationException",
-                "20006": "MgArcSegment",
-                "1501": "MgArgumentOutOfRangeException",
-                "10500": "MgArrayTypeMismatchException",
-                "30000": "MgAuthenticationFailedException",
-                "1005": "MgBatchPropertyCollection",
-                "10252": "MgBlobProperty",
-                "10253": "MgBooleanProperty",
-                "10254": "MgByteProperty",
-                "1250": "MgByteReader",
-                "1257": "MgByteSink",
-                "1251": "MgByteSource",
-                "11750": "MgClassDefinition",
-                "11780": "MgClassDefinitionCollection",
-                "1502": "MgClassNotFoundException",
-                "10255": "MgClobProperty",
-                "10250": "MgColor",
-                "1503": "MgConfigurationException",
-                "1504": "MgConfigurationLoadFailedException",
-                "1505": "MgConfigurationSaveFailedException",
-                "30001": "MgConnectionFailedException",
-                "30002": "MgConnectionNotOpenException",
-                "20003": "MgCoordinate",
-                "20009": "MgCoordinateIterator",
-                "20500": "MgCoordinateSystem",
-                "20504": "MgCoordinateSystemCatalog",
-                "20506": "MgCoordinateSystemCategory",
-                "20510": "MgCoordinateSystemCategoryDictionary",
-                "21000": "MgCoordinateSystemComputationFailedException",
-                "21001": "MgCoordinateSystemConversionFailedException",
-                "20507": "MgCoordinateSystemDatum",
-                "20512": "MgCoordinateSystemDatumDictionary",
-                "20511": "MgCoordinateSystemDictionary",
-                "20521": "MgCoordinateSystemDictionaryUtility",
-                "20509": "MgCoordinateSystemEllipsoid",
-                "20513": "MgCoordinateSystemEllipsoidDictionary",
-                "20514": "MgCoordinateSystemEnum",
-                "20515": "MgCoordinateSystemEnumInteger32",
-                "20501": "MgCoordinateSystemFactory",
-                "20516": "MgCoordinateSystemFilter",
-                "20517": "MgCoordinateSystemFilterInteger32",
-                "20505": "MgCoordinateSystemFormatConverter",
-                "20542": "MgCoordinateSystemGeodeticAnalyticalTransformDefParams",
-                "20543": "MgCoordinateSystemGeodeticInterpolationTransformDefParams",
-                "20544": "MgCoordinateSystemGeodeticMultipleRegressionTransformDefParams",
-                "20533": "MgCoordinateSystemGeodeticPath",
-                "20535": "MgCoordinateSystemGeodeticPathDictionary",
-                "20534": "MgCoordinateSystemGeodeticPathElement",
-                "20536": "MgCoordinateSystemGeodeticTransformDef",
-                "20540": "MgCoordinateSystemGeodeticTransformDefDictionary",
-                "20545": "MgCoordinateSystemGeodeticTransformGridFile",
-                "20508": "MgCoordinateSystemGeodeticTransformation",
-                "20532": "MgCoordinateSystemGridBase",
-                "20524": "MgCoordinateSystemGridBoundary",
-                "20529": "MgCoordinateSystemGridLine",
-                "20526": "MgCoordinateSystemGridLineCollection",
-                "20530": "MgCoordinateSystemGridRegion",
-                "20527": "MgCoordinateSystemGridRegionCollection",
-                "20525": "MgCoordinateSystemGridSpecification",
-                "20531": "MgCoordinateSystemGridTick",
-                "20528": "MgCoordinateSystemGridTickCollection",
-                "21002": "MgCoordinateSystemInitializationFailedException",
-                "21003": "MgCoordinateSystemLoadFailedException",
-                "20518": "MgCoordinateSystemMathComparator",
-                "20502": "MgCoordinateSystemMeasure",
-                "21004": "MgCoordinateSystemMeasureFailedException",
-                "20522": "MgCoordinateSystemMgrs",
-                "20520": "MgCoordinateSystemProjectionInformation",
-                "20503": "MgCoordinateSystemTransform",
-                "21005": "MgCoordinateSystemTransformFailedException",
-                "20519": "MgCoordinateSystemUnitInformation",
-                "20048": "MgCoordinateXY",
-                "20051": "MgCoordinateXYM",
-                "20049": "MgCoordinateXYZ",
-                "20050": "MgCoordinateXYZM",
-                "20010": "MgCurve",
-                "20011": "MgCurvePolygon",
-                "20047": "MgCurvePolygonCollection",
-                "20012": "MgCurveRing",
-                "20052": "MgCurveRingCollection",
-                "20013": "MgCurveSegment",
-                "20041": "MgCurveSegmentCollection",
-                "20014": "MgCurveString",
-                "20043": "MgCurveStringCollection",
-                "11751": "MgDataPropertyDefinition",
-                "11773": "MgDataReader",
-                "1256": "MgDateTime",
-                "1506": "MgDateTimeException",
-                "10256": "MgDateTimeProperty",
-                "30003": "MgDbException",
-                "30004": "MgDbXmlException",
-                "1507": "MgDecryptionException",
-                "11775": "MgDeleteFeatures",
-                "1508": "MgDirectoryNotFoundException",
-                "1000": "MgDisposableCollection",
-                "1509": "MgDivideByZeroException",
-                "1510": "MgDomainException",
-                "10257": "MgDoubleProperty",
-                "30700": "MgDrawingService",
-                "1511": "MgDuplicateDirectoryException",
-                "1512": "MgDuplicateFileException",
-                "30005": "MgDuplicateGroupException",
-                "30006": "MgDuplicateNameException",
-                "1513": "MgDuplicateObjectException",
-                "30007": "MgDuplicateParameterException",
-                "30008": "MgDuplicateRepositoryException",
-                "10501": "MgDuplicateResourceDataException",
-                "10502": "MgDuplicateResourceException",
-                "30009": "MgDuplicateRoleException",
-                "30010": "MgDuplicateServerException",
-                "30011": "MgDuplicateSessionException",
-                "30012": "MgDuplicateUserException",
-                "30013": "MgDwfException",
-                "30014": "MgDwfSectionNotFoundException",
-                "30015": "MgDwfSectionResourceNotFoundException",
-                "30901": "MgDwfVersion",
-                "10503": "MgEmptyFeatureSetException",
-                "1514": "MgEncryptionException",
-                "30016": "MgEndOfStreamException",
-                "20001": "MgEnvelope",
-                "1515": "MgException",
-                "10504": "MgFdoException",
-                "11772": "MgFeatureAggregateOptions",
-                "11774": "MgFeatureCommandCollection",
-                "31001": "MgFeatureInformation",
-                "11764": "MgFeatureProperty",
-                "11771": "MgFeatureQueryOptions",
-                "11753": "MgFeatureReader",
-                "11778": "MgFeatureSchema",
-                "11779": "MgFeatureSchemaCollection",
-                "11754": "MgFeatureService",
-                "10505": "MgFeatureServiceException",
-                "11786": "MgFileFeatureSourceParams",
-                "1516": "MgFileIoException",
-                "1517": "MgFileNotFoundException",
-                "20016": "MgGeometricEntity",
-                "11756": "MgGeometricPropertyDefinition",
-                "20019": "MgGeometry",
-                "20020": "MgGeometryCollection",
-                "20021": "MgGeometryComponent",
-                "21006": "MgGeometryException",
-                "20002": "MgGeometryFactory",
-                "11758": "MgGeometryProperty",
-                "11785": "MgGeometryTypeInfo",
-                "30018": "MgGroupNotFoundException",
-                "11782": "MgGwsFeatureReader",
-                "40000": "MgHttpHeader",
-                "40006": "MgHttpPrimitiveValue",
-                "40004": "MgHttpRequest",
-                "40002": "MgHttpRequestMetadata",
-                "40001": "MgHttpRequestParam",
-                "40005": "MgHttpResponse",
-                "40003": "MgHttpResult",
-                "1518": "MgIndexOutOfRangeException",
-                "11776": "MgInsertFeatures",
-                "10258": "MgInt16Property",
-                "10259": "MgInt32Property",
-                "10260": "MgInt64Property",
-                "10000": "MgIntCollection",
-                "1519": "MgInvalidArgumentException",
-                "1520": "MgInvalidCastException",
-                "21007": "MgInvalidCoordinateSystemException",
-                "21008": "MgInvalidCoordinateSystemTypeException",
-                "21009": "MgInvalidCoordinateSystemUnitsException",
-                "30019": "MgInvalidDwfPackageException",
-                "30020": "MgInvalidDwfSectionException",
-                "30021": "MgInvalidFeatureSourceException",
-                "30022": "MgInvalidIpAddressException",
-                "30023": "MgInvalidLicenseException",
-                "30024": "MgInvalidLogEntryException",
-                "10507": "MgInvalidMapDefinitionException",
-                "1522": "MgInvalidOperationException",
-                "30026": "MgInvalidPasswordException",
-                "30027": "MgInvalidPrintLayoutFontSizeUnitsException",
-                "30028": "MgInvalidPrintLayoutPositionUnitsException",
-                "30029": "MgInvalidPrintLayoutSizeUnitsException",
-                "1523": "MgInvalidPropertyTypeException",
-                "10508": "MgInvalidRepositoryNameException",
-                "10509": "MgInvalidRepositoryTypeException",
-                "10510": "MgInvalidResourceDataNameException",
-                "10511": "MgInvalidResourceDataTypeException",
-                "10512": "MgInvalidResourceNameException",
-                "10513": "MgInvalidResourcePathException",
-                "10514": "MgInvalidResourcePreProcessingTypeException",
-                "10515": "MgInvalidResourceTypeException",
-                "30031": "MgInvalidServerNameException",
-                "1524": "MgInvalidStreamHeaderException",
-                "1525": "MgIoException",
-                "31300": "MgKmlService",
-                "30501": "MgLayer",
-                "12003": "MgLayerBase",
-                "12002": "MgLayerCollection",
-                "12001": "MgLayerGroup",
-                "12004": "MgLayerGroupCollection",
-                "10517": "MgLayerNotFoundException",
-                "30904": "MgLayout",
-                "1526": "MgLengthException",
-                "30032": "MgLicenseException",
-                "30033": "MgLicenseExpiredException",
-                "20042": "MgLineString",
-                "20044": "MgLineStringCollection",
-                "20023": "MgLinearRing",
-                "20053": "MgLinearRingCollection",
-                "20024": "MgLinearSegment",
-                "1527": "MgLogicException",
-                "11766": "MgLongTransactionReader",
-                "30500": "MgMap",
-                "12000": "MgMapBase",
-                "12005": "MgMapCollection",
-                "30905": "MgMapPlot",
-                "30906": "MgMapPlotCollection",
-                "30900": "MgMappingService",
-                "20029": "MgMultiCurvePolygon",
-                "20030": "MgMultiCurveString",
-                "20031": "MgMultiGeometry",
-                "20032": "MgMultiLineString",
-                "20033": "MgMultiPoint",
-                "20034": "MgMultiPolygon",
-                "1528": "MgNotFiniteNumberException",
-                "1529": "MgNotImplementedException",
-                "1530": "MgNullArgumentException",
-                "1531": "MgNullPropertyValueException",
-                "1532": "MgNullReferenceException",
-                "1533": "MgObjectNotFoundException",
-                "11759": "MgObjectPropertyDefinition",
-                "30035": "MgOperationProcessingException",
-                "1534": "MgOutOfMemoryException",
-                "1535": "MgOutOfRangeException",
-                "1536": "MgOverflowException",
-                "30604": "MgPackageStatusInformation",
-                "11788": "MgParameter",
-                "10004": "MgParameterCollection",
-                "30036": "MgParameterNotFoundException",
-                "30037": "MgPathTooLongException",
-                "1537": "MgPlatformNotSupportedException",
-                "30902": "MgPlotSpecification",
-                "20000": "MgPoint",
-                "20045": "MgPointCollection",
-                "20035": "MgPolygon",
-                "20046": "MgPolygonCollection",
-                "30039": "MgPortNotAvailableException",
-                "30040": "MgPrintToScaleModeNotSelectedException",
-                "31400": "MgProfilingService",
-                "2000": "MgProperty",
-                "1002": "MgPropertyCollection",
-                "2002": "MgPropertyDefinition",
-                "10001": "MgPropertyDefinitionCollection",
-                "11769": "MgRaster",
-                "11770": "MgRasterProperty",
-                "11768": "MgRasterPropertyDefinition",
-                "12006": "MgReadOnlyLayerCollection",
-                "20037": "MgRegion",
-                "31002": "MgRenderingOptions",
-                "31000": "MgRenderingService",
-                "30041": "MgRepositoryCreationFailedException",
-                "30042": "MgRepositoryNotFoundException",
-                "30043": "MgRepositoryNotOpenException",
-                "30044": "MgRepositoryOpenFailedException",
-                "11526": "MgResource",
-                "10518": "MgResourceBusyException",
-                "10519": "MgResourceDataNotFoundException",
-                "11500": "MgResourceIdentifier",
-                "10520": "MgResourceNotFoundException",
-                "11501": "MgResourceService",
-                "1540": "MgResourceTagNotFoundException",
-                "1538": "MgResourcesException",
-                "1539": "MgResourcesLoadFailedException",
-                "20038": "MgRing",
-                "30045": "MgRoleNotFoundException",
-                "1541": "MgRuntimeException",
-                "30502": "MgSelection",
-                "12007": "MgSelectionBase",
-                "30607": "MgServerAdmin",
-                "30046": "MgServerNotFoundException",
-                "30047": "MgServerNotOnlineException",
-                "11251": "MgService",
-                "10521": "MgServiceNotAvailableException",
-                "10522": "MgServiceNotSupportedException",
-                "30048": "MgSessionExpiredException",
-                "30052": "MgSessionNotFoundException",
-                "10261": "MgSingleProperty",
-                "30605": "MgSite",
-                "30601": "MgSiteConnection",
-                "30608": "MgSiteInfo",
-                "11761": "MgSpatialContextReader",
-                "11762": "MgSqlDataReader",
-                "1542": "MgStreamIoException",
-                "1003": "MgStringCollection",
-                "2001": "MgStringProperty",
-                "10003": "MgStringPropertyCollection",
-                "1543": "MgSystemException",
-                "1544": "MgTemporaryFileNotAvailableException",
-                "1545": "MgThirdPartyException",
-                "31200": "MgTileService",
-                "11787": "MgTransaction",
-                "30049": "MgUnauthorizedAccessException",
-                "1547": "MgUnclassifiedException",
-                "1548": "MgUnderflowException",
-                "30056": "MgUnknownTileProviderException",
-                "30057": "MgUnsupportedTileProviderException",
-                "11777": "MgUpdateFeatures",
-                "30050": "MgUriFormatException",
-                "30606": "MgUserInformation",
-                "10523": "MgUserNotFoundException",
-                "11257": "MgWarnings",
-                "50005": "MgWebBufferCommand",
-                "50000": "MgWebCommand",
-                "50012": "MgWebCommandCollection",
-                "50015": "MgWebCommandWidget",
-                "50025": "MgWebContextMenu",
-                "50016": "MgWebFlyoutWidget",
-                "50009": "MgWebGetPrintablePageCommand",
-                "50011": "MgWebHelpCommand",
-                "50022": "MgWebInformationPane",
-                "50003": "MgWebInvokeScriptCommand",
-                "50004": "MgWebInvokeUrlCommand",
-                "50026": "MgWebLayout",
-                "50008": "MgWebMeasureCommand",
-                "50007": "MgWebPrintCommand",
-                "50002": "MgWebSearchCommand",
-                "50006": "MgWebSelectWithinCommand",
-                "50014": "MgWebSeparatorWidget",
-                "50023": "MgWebTaskBar",
-                "50017": "MgWebTaskBarWidget",
-                "50024": "MgWebTaskPane",
-                "50021": "MgWebToolBar",
-                "50019": "MgWebUiPane",
-                "50020": "MgWebUiSizablePane",
-                "50001": "MgWebUiTargetCommand",
-                "50010": "MgWebViewOptionsCommand",
-                "50013": "MgWebWidget",
-                "50018": "MgWebWidgetCollection",
-                "20040": "MgWktReaderWriter",
-                "1549": "MgXmlException",
-                "1550": "MgXmlParserException"
-            }
-        }
-    ]
-}
\ No newline at end of file

Modified: sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Program.cs
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Program.cs	2020-11-20 10:04:15 UTC (rev 9796)
+++ sandbox/jng/vanilla_swig/Bindings/src/Tools/ClassMapGen/Program.cs	2020-11-20 14:21:54 UTC (rev 9797)
@@ -246,8 +246,12 @@
                             var classId = f.Invoke();
 
                             var mod = modsByName[modName];
-                            var className = "Mg" + uqClassName;
+                            var className = uqClassName;
 
+                            //Prefix "Mg" if not done already
+                            if (!className.StartsWith("Mg"))
+                                className = "Mg" + uqClassName;
+
                             // Skip class ids for removed exception classes. The ids are remaining in the
                             // original headers so we don't try to reuse them for any new classes we add to the 
                             // MapGuide API in the future



More information about the mapguide-commits mailing list