From: Richard B. <rb...@us...> - 2005-02-07 07:38:17
|
Update of /cvsroot/jcframework/dotnet In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10604 Modified Files: AToMSFramework.vbproj CConnection.vb CPersistenceBroker.vb CSqlStatement.vb CXMLConfigLoader.vb XMLMapping.xsd XMLMapping.xsx modAliasNull.vb Added Files: AToMSFramework.sln Log Message: Break out providers to separate .DLL files. Change <database /> mapping to use proider="xx" instead of class="xx" Start prep work for Informix provider Index: modAliasNull.vb =================================================================== RCS file: /cvsroot/jcframework/dotnet/modAliasNull.vb,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- modAliasNull.vb 9 Nov 2004 11:46:04 -0000 1.6 +++ modAliasNull.vb 7 Feb 2005 07:37:35 -0000 1.7 @@ -15,7 +15,7 @@ ''' [rbanks] 18/12/2003 Created ''' </history> '''----------------------------------------------------------------------------- -Module modAliasNull +Public Module modAliasNull '----------------------------------------------------------- 'VBPJ Junio 2000 Index: AToMSFramework.vbproj =================================================================== RCS file: /cvsroot/jcframework/dotnet/AToMSFramework.vbproj,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- AToMSFramework.vbproj 23 Dec 2004 01:14:44 -0000 1.21 +++ AToMSFramework.vbproj 7 Feb 2005 07:37:33 -0000 1.22 @@ -77,16 +77,6 @@ Name = "Microsoft.VisualBasic.Compatibility.Data" AssemblyName = "Microsoft.VisualBasic.Compatibility.Data" /> - <Reference - Name = "ByteFX.MySqlClient" - AssemblyName = "ByteFX.MySqlClient" - HintPath = "..\ByteFX.MySqlClient.76.NI\ByteFX.MySqlClient.dll" - /> - <Reference - Name = "System.Data.OracleClient" - AssemblyName = "System.Data.OracleClient" - HintPath = "..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.OracleClient.dll" - /> </References> <Imports> <Import Namespace = "Microsoft.VisualBasic" /> @@ -219,16 +209,6 @@ BuildAction = "Compile" /> <File - RelPath = "CMsAccessDatabase.vb" - SubType = "Code" - BuildAction = "Compile" - /> - <File - RelPath = "CMsSqlDatabase.vb" - SubType = "Code" - BuildAction = "Compile" - /> - <File RelPath = "CMultiRetrieveCriteria.vb" SubType = "Code" BuildAction = "Compile" @@ -239,11 +219,6 @@ BuildAction = "Compile" /> <File - RelPath = "CMySqlDatabase.vb" - SubType = "Code" - BuildAction = "Compile" - /> - <File RelPath = "CNotBetweenCriteria.vb" SubType = "Code" BuildAction = "Compile" @@ -259,11 +234,6 @@ BuildAction = "Compile" /> <File - RelPath = "CODBCDatabase.vb" - SubType = "Code" - BuildAction = "Compile" - /> - <File RelPath = "COID.vb" SubType = "Code" BuildAction = "Compile" @@ -274,11 +244,6 @@ BuildAction = "Compile" /> <File - RelPath = "COracleDatabase.vb" - SubType = "Code" - BuildAction = "Compile" - /> - <File RelPath = "COrderEntry.vb" SubType = "Code" BuildAction = "Compile" Index: CPersistenceBroker.vb =================================================================== RCS file: /cvsroot/jcframework/dotnet/CPersistenceBroker.vb,v retrieving revision 1.90 retrieving revision 1.91 diff -u -d -r1.90 -r1.91 --- CPersistenceBroker.vb 6 Feb 2005 02:44:00 -0000 1.90 +++ CPersistenceBroker.vb 7 Feb 2005 07:37:34 -0000 1.91 @@ -182,12 +182,6 @@ conn.AutoCommit = False Try retrieveObject = retrievePrivateObject(obj, conn, useFind, useCache) - Catch ex As SqlClient.SqlException - x = New RetrieveException(ex.Message, ex) - Catch ex As ByteFX.Data.MySqlClient.MySqlException - x = New RetrieveException(ex.Message, ex) - Catch ex As OleDb.OleDbException - x = New RetrieveException(ex.Message, ex) Catch ex As Exception x = New RetrieveException(ex.Message, ex) Finally @@ -201,7 +195,7 @@ If Not x Is Nothing Then Throw x End If - End Try + End Try End SyncLock End Function @@ -2590,19 +2584,19 @@ Return getObjectsToSave(obj, True, checkAssociationsRecursivly) End Function - Friend Sub GetLoginDetails(ByVal sender As _CRelationalDatabase, ByRef User As String, ByRef Password As String) + Public Sub GetLoginDetails(ByVal sender As _CRelationalDatabase, ByRef User As String, ByRef Password As String) RaiseEvent LoginDetailsNeeded(sender, User, Password) End Sub - Friend Sub startCacheTransaction(ByVal reldb As _CRelationalDatabase) + Public Sub startCacheTransaction(ByVal reldb As _CRelationalDatabase) m_cache.StartTransaction(reldb) End Sub - Friend Sub commitCache(ByVal reldb As _CRelationalDatabase) + Public Sub commitCache(ByVal reldb As _CRelationalDatabase) m_cache.CommitChanges(reldb) End Sub - Friend Sub rollbackCache(ByVal reldb As _CRelationalDatabase) + Public Sub rollbackCache(ByVal reldb As _CRelationalDatabase) m_cache.AbortChanges(reldb) End Sub Index: XMLMapping.xsd =================================================================== RCS file: /cvsroot/jcframework/dotnet/XMLMapping.xsd,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- XMLMapping.xsd 15 Dec 2004 23:46:12 -0000 1.1 +++ XMLMapping.xsd 7 Feb 2005 07:37:35 -0000 1.2 @@ -16,7 +16,7 @@ </xs:element> </xs:sequence> <xs:attribute name="name" form="unqualified" type="xs:string" use="required" /> - <xs:attribute name="class" form="unqualified" type="DBClassType" use="required" /> + <xs:attribute name="provider" form="unqualified" type="DBClassType" use="required" /> </xs:complexType> </xs:element> <xs:element name="class"> @@ -94,11 +94,11 @@ </xs:simpleType> <xs:simpleType name="DBClassType"> <xs:restriction base="xs:string"> - <xs:enumeration value="CMsSqlDatabase" /> - <xs:enumeration value="CMsAccessDatabase" /> - <xs:enumeration value="CMySqlDatabase" /> - <xs:enumeration value="CODBCDatabase" /> - <xs:enumeration value="CMaxDBDatabase" /> + <xs:enumeration value="AF_MSSQL" /> + <xs:enumeration value="AF_OLEDB" /> + <xs:enumeration value="AF_MySQL" /> + <xs:enumeration value="AF_ODBC" /> + <xs:enumeration value="AF_MSOracle" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="paramNames"> Index: CXMLConfigLoader.vb =================================================================== RCS file: /cvsroot/jcframework/dotnet/CXMLConfigLoader.vb,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- CXMLConfigLoader.vb 9 Nov 2004 11:46:04 -0000 1.29 +++ CXMLConfigLoader.vb 7 Feb 2005 07:37:35 -0000 1.30 @@ -4,6 +4,7 @@ Imports System.Reflection Imports System.Collections.Specialized Imports System.Xml +Imports System.IO '''----------------------------------------------------------------------------- ''' Project : AToMSFramework @@ -208,18 +209,33 @@ Dim relDb As _CRelationalDatabase relDb = Nothing Dim attrPMName As String - Dim attrClassName As XmlAttribute + Dim attrProviderName As XmlAttribute attrPMName = node.GetAttribute("name") - attrClassName = node.GetAttributeNode("class") + attrProviderName = node.GetAttributeNode("provider") Dim params As HybridDictionary Dim nodeChild As XmlNode Dim elementChild As XmlElement Dim attrName, attrValue As XmlAttribute - If ((Not attrPMName Is Nothing) And (Not attrClassName Is Nothing)) Then + ' + ' Need to load the provider .dll file and find a class that implements the + ' appropriate interface. + ' + + Dim pAsm As [Assembly] + Dim types(), t, reldbType As Type + If ((Not attrPMName Is Nothing) And (Not attrProviderName Is Nothing)) Then Try - relDb = Activator.CreateInstance(Type.GetType("AToMSFramework." + attrClassName.Value)) + pAsm = [Assembly].LoadFrom(attrProviderName.Value) + types = pAsm.GetTypes() + For Each t In types + If t.IsSubclassOf(GetType(CRelationalDatabase)) Then + reldbType = t + Exit For + End If + Next + relDb = Activator.CreateInstance(reldbType) Catch ex As Exception - Throw New XMLMappingException("Database Class " & attrClassName.Value & " does not exist in the AtomsFramework", ex) + Throw New XMLMappingException("Error Initialising Database Provider " & attrProviderName.Value & ". Error is: " & ex.Message, ex) End Try relDb.Name = attrPMName params = New HybridDictionary @@ -238,6 +254,8 @@ nodeChild = nodeChild.NextSibling Loop relDb.init(params) + Else + Throw New XMLMappingException("XML Database Mapping is missing provider and/or name attributes.") End If getRelationalDatabase = relDb Index: CConnection.vb =================================================================== RCS file: /cvsroot/jcframework/dotnet/CConnection.vb,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- CConnection.vb 2 Feb 2005 05:08:37 -0000 1.32 +++ CConnection.vb 7 Feb 2005 07:37:34 -0000 1.33 @@ -1,11 +1,7 @@ Option Strict Off Option Explicit On -Imports System.Data.OleDb Imports System.Data.SqlClient -Imports ByteFX.Data.MySqlClient -Imports System.Data.Odbc -Imports System.Data.OracleClient '''----------------------------------------------------------------------------- ''' <summary> [...2290 lines suppressed...] - m_transaction = Nothing - End If - If Not m_connection Is Nothing Then - m_connection.Close() - m_connection.Dispose() - m_connection = Nothing - End If - m_db = Nothing - m_disposed = True - End If - End If - End Sub - - Protected Overrides Sub Finalize() - ' Simply call Dispose(False). - Dispose(False) - End Sub -End Class +End Interface \ No newline at end of file Index: XMLMapping.xsx =================================================================== RCS file: /cvsroot/jcframework/dotnet/XMLMapping.xsx,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- XMLMapping.xsx 15 Dec 2004 23:46:12 -0000 1.1 +++ XMLMapping.xsx 7 Feb 2005 07:37:35 -0000 1.2 @@ -1,20 +1,20 @@ <?xml version="1.0" encoding="utf-8"?> <!--This file is auto-generated by the XML Schema Designer. It holds layout information for components on the designer surface.--> -<XSDDesignerLayout layoutVersion="2" viewPortLeft="-605" viewPortTop="4209" zoom="100"> - <map_XmlElement left="6112" top="979" width="7567" height="2963" selected="0" zOrder="11" index="0" expanded="1"> - <database_XmlElement left="398" top="4450" width="5292" height="2963" selected="0" zOrder="12" index="0" expanded="1"> - <parameter_XmlElement left="398" top="7921" width="5292" height="2964" selected="0" zOrder="14" index="0" expanded="1" /> +<XSDDesignerLayout layoutVersion="2" viewPortLeft="-602" viewPortTop="2598" zoom="100"> + <map_XmlElement left="6112" top="979" width="7567" height="2963" selected="0" zOrder="8" index="0" expanded="1"> + <database_XmlElement left="398" top="4450" width="5292" height="2963" selected="0" zOrder="9" index="0" expanded="1"> + <parameter_XmlElement left="398" top="7921" width="5292" height="2964" selected="0" zOrder="11" index="0" expanded="1" /> </database_XmlElement> - <class_XmlElement left="6324" top="4450" width="7143" height="7196" selected="0" zOrder="16" index="1" expanded="1"> - <attribute_XmlElement left="7250" top="12154" width="5291" height="4656" selected="0" zOrder="18" index="0" expanded="1" /> + <class_XmlElement left="6324" top="4450" width="7143" height="7196" selected="0" zOrder="13" index="1" expanded="1"> + <attribute_XmlElement left="7250" top="12154" width="5291" height="4656" selected="0" zOrder="15" index="0" expanded="1" /> </class_XmlElement> - <association_XmlElement left="14101" top="4450" width="5292" height="5926" selected="0" zOrder="20" index="2" expanded="1"> - <entry_XmlElement left="14101" top="10884" width="5292" height="2963" selected="0" zOrder="22" index="0" expanded="1" /> + <association_XmlElement left="14101" top="4450" width="5292" height="5926" selected="0" zOrder="17" index="2" expanded="1"> + <entry_XmlElement left="14101" top="10884" width="5292" height="2963" selected="0" zOrder="19" index="0" expanded="1" /> </association_XmlElement> </map_XmlElement> - <TrueFalse_XmlSimpleType left="15099" top="1079" width="5292" height="2540" selected="0" zOrder="24" index="1" expanded="1" /> - <cardinality_XmlSimpleType left="19818" top="3758" width="5291" height="2963" selected="0" zOrder="25" index="2" expanded="1" /> - <keyType_XmlSimpleType left="19844" top="6985" width="5291" height="2963" selected="0" zOrder="26" index="3" expanded="1" /> - <DBClassType_XmlSimpleType left="479" top="11335" width="5292" height="2963" selected="0" zOrder="27" index="4" expanded="1" /> - <paramNames_XmlSimpleType left="691" top="14583" width="5292" height="2963" selected="0" zOrder="29" index="5" expanded="1" /> + <TrueFalse_XmlSimpleType left="15099" top="1079" width="5292" height="2540" selected="0" zOrder="23" index="1" expanded="1" /> + <cardinality_XmlSimpleType left="19818" top="3758" width="5291" height="2963" selected="0" zOrder="24" index="2" expanded="1" /> + <keyType_XmlSimpleType left="19844" top="6985" width="5291" height="2963" selected="0" zOrder="25" index="3" expanded="1" /> + <DBClassType_XmlSimpleType left="479" top="11335" width="5292" height="2963" selected="0" zOrder="21" index="4" expanded="1" /> + <paramNames_XmlSimpleType left="691" top="14583" width="5292" height="2963" selected="0" zOrder="22" index="5" expanded="1" /> </XSDDesignerLayout> \ No newline at end of file Index: CSqlStatement.vb =================================================================== RCS file: /cvsroot/jcframework/dotnet/CSqlStatement.vb,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- CSqlStatement.vb 18 Oct 2004 03:31:51 -0000 1.11 +++ CSqlStatement.vb 7 Feb 2005 07:37:35 -0000 1.12 @@ -170,67 +170,67 @@ ''' [rbanks] 23/01/2004 Created ''' </history> '''----------------------------------------------------------------------------- -Friend Class CSQLParameter +Public Class CSQLParameter Private m_Name As String Private m_Column As CColumnMap Private m_Value As Object Private m_ignore As Boolean - '''----------------------------------------------------------------------------- - ''' <summary> - ''' The name of the parameter - ''' </summary> - ''' <value></value> - ''' <remarks>All parameter names are of the format @pxxx where xxx is a number</remarks> - ''' <history> - ''' [rbanks] 23/01/2004 Created - ''' </history> - '''----------------------------------------------------------------------------- - Public Property Name() As String - Get - Return m_Name - End Get - Set(ByVal Value As String) - m_Name = Value - End Set - End Property + '''----------------------------------------------------------------------------- + ''' <summary> + ''' The name of the parameter + ''' </summary> + ''' <value></value> + ''' <remarks>All parameter names are of the format @pxxx where xxx is a number</remarks> + ''' <history> + ''' [rbanks] 23/01/2004 Created + ''' </history> + '''----------------------------------------------------------------------------- + Public Property Name() As String + Get + Return m_Name + End Get + Set(ByVal Value As String) + m_Name = Value + End Set + End Property - '''----------------------------------------------------------------------------- - ''' <summary> - ''' The column map the parameter value relates to - ''' </summary> - ''' <value></value> - ''' <remarks></remarks> - ''' <history> - ''' [rbanks] 23/01/2004 Created - ''' </history> - '''----------------------------------------------------------------------------- - Public Property Column() As CColumnMap - Get - Return m_Column - End Get - Set(ByVal Value As CColumnMap) - m_Column = Value - End Set - End Property + '''----------------------------------------------------------------------------- + ''' <summary> + ''' The column map the parameter value relates to + ''' </summary> + ''' <value></value> + ''' <remarks></remarks> + ''' <history> + ''' [rbanks] 23/01/2004 Created + ''' </history> + '''----------------------------------------------------------------------------- + Public Property Column() As CColumnMap + Get + Return m_Column + End Get + Set(ByVal Value As CColumnMap) + m_Column = Value + End Set + End Property - '''----------------------------------------------------------------------------- - ''' <summary> - ''' The value to be passed into the SQL statement. - ''' </summary> - ''' <value></value> - ''' <remarks></remarks> - ''' <history> - ''' [rbanks] 23/01/2004 Created - ''' </history> - '''----------------------------------------------------------------------------- - Public Property Value() As Object - Get - Return m_Value - End Get - Set(ByVal InValue As Object) - m_Value = InValue - End Set + '''----------------------------------------------------------------------------- + ''' <summary> + ''' The value to be passed into the SQL statement. + ''' </summary> + ''' <value></value> + ''' <remarks></remarks> + ''' <history> + ''' [rbanks] 23/01/2004 Created + ''' </history> + '''----------------------------------------------------------------------------- + Public Property Value() As Object + Get + Return m_Value + End Get + Set(ByVal InValue As Object) + m_Value = InValue + End Set End Property Public Property Ignore() As Boolean --- NEW FILE: AToMSFramework.sln --- Microsoft Visual Studio Solution File, Format Version 8.00 Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "AToMSFramework", "AToMSFramework.vbproj", "{8FFD05CF-E733-4D8E-BC0E-D9DD37B87384}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "AF_OLEDB", "Providers\AF_OLEDB\AF_OLEDB.vbproj", "{1E2BB267-A506-4F32-B2E0-6672184EC6BF}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "AF_ODBC", "Providers\AF_ODBC\AF_ODBC.vbproj", "{DD36FC68-80E0-47F6-9C1D-00D1F8D59EBC}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "AF_MySQL", "Providers\AF_MySQL\AF_MySQL.vbproj", "{0421A413-1FDE-452E-AB47-82E2CD959461}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "AF_MSSQL", "Providers\AF_MSSQL\AF_MSSQL.vbproj", "{11985DFB-9B77-434C-98F2-89C219C5B506}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "AF_MSOracle", "Providers\AF_MSOracle\AF_MSOracle.vbproj", "{D50BB1EF-4B22-4D0F-88AC-0344F5AF3118}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "AF_MaxDB", "Providers\AF_MaxDB\AF_MaxDB.vbproj", "{7389B1D2-9133-463F-B1ED-B9C0AFE6E2B5}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "AF_Informix", "Providers\AF_Informix\AF_Informix.vbproj", "{09659A30-0220-42BF-9478-267278E89692}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Global GlobalSection(DPCodeReviewSolutionGUID) = preSolution DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} EndGlobalSection GlobalSection(SolutionConfiguration) = preSolution Debug = Debug Release = Release EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution {8FFD05CF-E733-4D8E-BC0E-D9DD37B87384}.Debug.ActiveCfg = Debug|.NET {8FFD05CF-E733-4D8E-BC0E-D9DD37B87384}.Debug.Build.0 = Debug|.NET {8FFD05CF-E733-4D8E-BC0E-D9DD37B87384}.Release.ActiveCfg = Release|.NET {8FFD05CF-E733-4D8E-BC0E-D9DD37B87384}.Release.Build.0 = Release|.NET {1E2BB267-A506-4F32-B2E0-6672184EC6BF}.Debug.ActiveCfg = Debug|.NET {1E2BB267-A506-4F32-B2E0-6672184EC6BF}.Debug.Build.0 = Debug|.NET {1E2BB267-A506-4F32-B2E0-6672184EC6BF}.Release.ActiveCfg = Release|.NET {1E2BB267-A506-4F32-B2E0-6672184EC6BF}.Release.Build.0 = Release|.NET {DD36FC68-80E0-47F6-9C1D-00D1F8D59EBC}.Debug.ActiveCfg = Debug|.NET {DD36FC68-80E0-47F6-9C1D-00D1F8D59EBC}.Debug.Build.0 = Debug|.NET {DD36FC68-80E0-47F6-9C1D-00D1F8D59EBC}.Release.ActiveCfg = Release|.NET {DD36FC68-80E0-47F6-9C1D-00D1F8D59EBC}.Release.Build.0 = Release|.NET {0421A413-1FDE-452E-AB47-82E2CD959461}.Debug.ActiveCfg = Debug|.NET {0421A413-1FDE-452E-AB47-82E2CD959461}.Debug.Build.0 = Debug|.NET {0421A413-1FDE-452E-AB47-82E2CD959461}.Release.ActiveCfg = Release|.NET {0421A413-1FDE-452E-AB47-82E2CD959461}.Release.Build.0 = Release|.NET {11985DFB-9B77-434C-98F2-89C219C5B506}.Debug.ActiveCfg = Debug|.NET {11985DFB-9B77-434C-98F2-89C219C5B506}.Debug.Build.0 = Debug|.NET {11985DFB-9B77-434C-98F2-89C219C5B506}.Release.ActiveCfg = Release|.NET {11985DFB-9B77-434C-98F2-89C219C5B506}.Release.Build.0 = Release|.NET {D50BB1EF-4B22-4D0F-88AC-0344F5AF3118}.Debug.ActiveCfg = Debug|.NET {D50BB1EF-4B22-4D0F-88AC-0344F5AF3118}.Debug.Build.0 = Debug|.NET {D50BB1EF-4B22-4D0F-88AC-0344F5AF3118}.Release.ActiveCfg = Release|.NET {D50BB1EF-4B22-4D0F-88AC-0344F5AF3118}.Release.Build.0 = Release|.NET {7389B1D2-9133-463F-B1ED-B9C0AFE6E2B5}.Debug.ActiveCfg = Debug|.NET {7389B1D2-9133-463F-B1ED-B9C0AFE6E2B5}.Debug.Build.0 = Debug|.NET {7389B1D2-9133-463F-B1ED-B9C0AFE6E2B5}.Release.ActiveCfg = Release|.NET {7389B1D2-9133-463F-B1ED-B9C0AFE6E2B5}.Release.Build.0 = Release|.NET {09659A30-0220-42BF-9478-267278E89692}.Debug.ActiveCfg = Debug|.NET {09659A30-0220-42BF-9478-267278E89692}.Debug.Build.0 = Debug|.NET {09659A30-0220-42BF-9478-267278E89692}.Release.ActiveCfg = Release|.NET {09659A30-0220-42BF-9478-267278E89692}.Release.Build.0 = Release|.NET EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection GlobalSection(ExtensibilityAddIns) = postSolution EndGlobalSection EndGlobal |