diff -ur mysql-connector-net-5.0.2.old/Client.build mysql-connector-net-5.0.2/Client.build
--- mysql-connector-net-5.0.2.old/Client.build	2006-11-13 14:31:30.000000000 +0100
+++ mysql-connector-net-5.0.2/Client.build	2006-11-13 14:31:40.000000000 +0100
@@ -5,7 +5,7 @@
 	<!-- filesets -->
 	<fileset id="Source">
 		<include name="mysqlclient/common/*.cs"/>
-		<include name="mysqlclient/Types/*.cs"/>
+		<include name="mysqlclient/types/*.cs"/>
 		<include name="mysqlclient/zlib/*.cs"/>
 		<include name="mysqlclient/*.cs"/>
 	</fileset>
@@ -38,7 +38,6 @@
 
 	<!-- core managed driver target -->	
 	<target name="client" description="Core client target">
-		<property name="nunit-lib" value="${nunit.dir}/bin"/>
 		<property name="nant.settings.currentframework" value="${framework}"/>
 		<property name="outdir" value="mysqlclient/bin/${framework}/${buildType}"/>
 		
@@ -53,39 +52,24 @@
         <include name="mysqlclient/ResoucedWords.txt"/>
 			</resources>
 			<references>
+				<include name="System.Configuration.Install.dll"/>
 				<include name="System.Data.dll"/>		
 				<include name="System.Drawing.dll"/>
 				<include name="System.Transactions.dll"/>
-			</references>
-			<sources refid="Source"/>
-		</csc>
-		<csc output="${outdir}/MySql.Data.Tests.dll" target="library" 
-			define="${defines}" debug="${debug}" optimize="${opt}"> <arg value="/nowarn:0679,2029"/>
-			<sources>
-				<include name="TestSuite/*.cs" />
-			</sources>
-			<references>
-				<include name="${outdir}/MySql.Data.dll"/>
-				<include name="System.Data.dll"/>		
-				<include name="System.Configuration.dll"/>
-				<include name="System.Drawing.dll"/>
-				<include name="System.Transactions.dll"/>
 				<include name="System.Windows.Forms.dll"/>
-				<include name="${nunit-lib}/nunit.framework.dll"/>
 			</references>
+			<sources refid="Source"/>
 		</csc>
 	</target>
 
 	<!-- core managed driver target 1.1 -->
 	<target name="net-1.1" description="1.1 .NET target">
-		<property name="nunit.dir" value="${nunit1.dir}"/>
 		<property name="framework" value="net-1.1"/>
 		<call target="client"/>
 	</target>
 
 	<!-- core managed driver target 2.0 -->
 	<target name="net-2.0" description="2.0 .NET target">
-		<property name="nunit.dir" value="${nunit2.dir}"/>
 		<property name="framework" value="net-2.0"/>
 		<if test="${string::get-length(defines) > 0}">
 			<property name="defines" value="${defines},"/>
@@ -96,90 +80,16 @@
 	
 	<!-- core managed driver target mono 1.0 -->
 	<target name="mono-1.0" description="Mono 1.0 Target">
-        <property name="nunit-lib" value="${framework::get-assembly-directory('mono-1.0')}"/>
 		<property name="framework" value="mono-1.0"/>
 		<call target="client"/>
 	</target>
 
 	<target name="mono-2.0" description="Mono 2.0 Target">
 	    <property name="defines" value="${defines},MONO,NET20"/>
-        <property name="nunit-lib" value="c:/program files/nunit/src/build/mono/2.0/debug"/>
 		<property name="framework" value="mono-2.0"/>
 		<call target="client"/>
 	</target>
 
-	<!-- testing targets -->
-	<target name="alltests" depends="test-net-2.0, test-net-1.1">
-	</target>
-	
-	<target name="test-net-1.1" depends="net-1.1">
-		<property name="framework" value="net-1.1"/>
-		<call target="testclient"/>
-		<call target="fxcop"/>
-	</target>
-
-	<target name="test-net-2.0" depends="net-2.0">
-		<property name="framework" value="net-2.0"/>
-		<call target="testclient"/>
-	</target>
-
-	<target name="test-mono-1.0" depends="mono-1.0">
-        <property name="nunit" value="${nunit-mono}"/>
-		<property name="framework" value="mono-1.0"/>
-		<call target="testclient"/>
-	</target>
-
-    <!-- 
-    Target to run the test suite.  This target will run through all the 
-    supported versions of MySQL, stopping the services, and then starting
-    them one by one and running all supported configs on each database
-    -->
-	<target name="testclient" description="Target to run NUnit tests">
-		<mkdir dir="results"/>
-		<echo message="Stopping all services"/>
-		<property name="doCoverage" value="false"/>
-		<servicecontroller action="Stop" service="MySql4.1"/>
-		<servicecontroller action="Stop" service="MySql5.0"/>
-		<servicecontroller action="Stop" service="MySql5.1"/>
-
-		<!-- test 4.1 -->		
-		<echo message="Testing MySQL 4.1"/>
-		<property name="excludes" value="5.0,NotWorking"/>
-		<servicecontroller action="Start" service="MySql4.1"/>
-		<call target="testdb"/>  
-
-		<echo message="Testing MySQL 5.0"/>
-		<servicecontroller action="Stop" service="MySql4.1"/>
-		<servicecontroller action="Start" service="MySql5.0"/>
-		<property name="excludes" value="NotWorking"/>
-		<!--<property name="doCoverage" value="true"/>-->
-		<call target="testdb"/>  
-		
-		<echo message="Testing MySQL 5.1"/>
-		<servicecontroller action="Stop" service="MySql5.0"/>
-		<servicecontroller action="Start" service="MySql5.1"/>
-		<property name="excludes" value="NotWorking"/>
-		<call target="testdb"/>  
-	</target>
-
-	<!-- 
-	execute the test suite against a single database instance, possibly using
-	coverage
-	-->
-	<target name="testdb" description="Target to test a database with all possible configurations">
-		<copy file="testsuite/configs/${config}.config" tofile="bin/${framework}/${buildType}/MySql.Data.Tests.dll.config"/>
-		
-		<property name="nunit-exe" value="${nunit.dir}/bin/nunit-console.exe"/>
-		<property name="nunit-exe" value="${nunit.dir}/mono/bin/nunit-console.exe" if="${string::contains(framework, 'mono')}"/>
-		
-		<exec unless="${doCoverage}" program="${nunit-exe}"
-		      commandline="/exclude=${excludes} /xml=../../../results/nunit-${framework}-${buildType}.xml bin/${framework}/${buildType}/MySql.Data.Tests.dll"
-		      failonerror="true"/>
-		<exec if="${doCoverage}" program="${ncover.executable}"
-		      commandline="/c &quot;${nunit-exe}&quot; &quot;bin/${framework}/${buildType}/MySql.Data.Tests.dll /exclude=${excludes} /xml=../../../results/nunit-${framework}-${buildType}.xml&quot; /a MySql.Data /o results/ncover-${framework}-${config}.xml"
-		      failonerror="true"/>
-	</target>
-
 	<!-- Run fxcop on the current build -->	
 	<target name="fxcop" description="Runs FXCop">
 		<exec program="${fxcop.executable}" 
diff -ur mysql-connector-net-5.0.2.old/mysqlclient/Connection.cs mysql-connector-net-5.0.2/mysqlclient/Connection.cs
--- mysql-connector-net-5.0.2.old/mysqlclient/Connection.cs	2006-11-13 14:31:30.000000000 +0100
+++ mysql-connector-net-5.0.2/mysqlclient/Connection.cs	2006-11-13 14:31:40.000000000 +0100
@@ -52,11 +52,6 @@
 		/// <include file='docs/MySqlConnection.xml' path='docs/InfoMessage/*'/>
 		public event MySqlInfoMessageEventHandler InfoMessage;
 
-#if MONO
-        /// <include file='docs/MySqlConnection.xml' path='docs/StateChange/*'/>
-        public event StateChangeEventHandler StateChange;
-#endif
-
 		/// <include file='docs/MySqlConnection.xml' path='docs/DefaultCtor/*'/>
 		public MySqlConnection()
 		{
@@ -469,16 +464,6 @@
 			SetState(ConnectionState.Closed);
 		}
 
-#if MONO
-
-        protected void OnStateChange (StateChangeEventArgs stateChangeArgs)
-        {
-            if (StateChange != null)
-                StateChange(this, stateChangeArgs);
-        }
-
-#endif
-
 		#region GetSchema Support
 
 		public override DataTable GetSchema()
diff -ur mysql-connector-net-5.0.2.old/mysqlclient/Installer.cs mysql-connector-net-5.0.2/mysqlclient/Installer.cs
--- mysql-connector-net-5.0.2.old/mysqlclient/Installer.cs	2006-11-13 14:31:30.000000000 +0100
+++ mysql-connector-net-5.0.2/mysqlclient/Installer.cs	2006-11-13 14:31:40.000000000 +0100
@@ -109,7 +109,7 @@
 				ccdc.Add(new CounterCreationData(Resources.PerfMonSoftProcName,
 					Resources.PerfMonSoftProcHelp, PerformanceCounterType.NumberOfItems32));
 				PerformanceCounterCategory.Create(categoryName, Resources.PerfMonCategoryHelp,
-					PerformanceCounterCategoryType.SingleInstance, ccdc);
+					ccdc);
 			}
 		}
 
diff -ur mysql-connector-net-5.0.2.old/mysqlclient/MySqlPromotableTransaction.cs mysql-connector-net-5.0.2/mysqlclient/MySqlPromotableTransaction.cs
--- mysql-connector-net-5.0.2.old/mysqlclient/MySqlPromotableTransaction.cs	2006-11-13 14:31:30.000000000 +0100
+++ mysql-connector-net-5.0.2/mysqlclient/MySqlPromotableTransaction.cs	2006-11-13 14:31:40.000000000 +0100
@@ -59,14 +59,6 @@
             connection.CurrentTransaction = null;
         }
 
-//TODO:  remove this once Mono corrects this bug
-#if MONO
-	    Transaction IPromotableSinglePhaseNotification.Promote()
-	    {
-			throw new NotSupportedException();
-		}
-#endif		
-
         byte[] ITransactionPromoter.Promote()
         {
             throw new NotSupportedException();
diff -ur mysql-connector-net-5.0.2.old/mysqlclient/parameter.cs mysql-connector-net-5.0.2/mysqlclient/parameter.cs
--- mysql-connector-net-5.0.2.old/mysqlclient/parameter.cs	2006-11-13 14:31:30.000000000 +0100
+++ mysql-connector-net-5.0.2/mysqlclient/parameter.cs	2006-11-13 14:31:40.000000000 +0100
@@ -230,11 +230,7 @@
 #if !CF
 		[Category("Data")]
 #endif
-#if MONO
-		public override byte Precision 
-#else
         public byte Precision
-#endif
 		{
 			get { return precision; }
 			set { precision = value; }
@@ -246,11 +242,7 @@
 #if !CF
 		[Category("Data")]
 #endif
-#if MONO
-		public override byte Scale 
-#else
         public byte Scale
-#endif
 		{
 			get { return scale; }
 			set { scale = value; }
