List:Commits« Previous MessageNext Message »
From:Reggie Burnett Date:November 17 2010 9:09pm
Subject:bzr commit into connector-net-trunk branch (reggie.burnett:942)
View as plain text  
#At file:///C:/Users/Reggie/work/connector-net/trunk/ based on revid:reggie.burnett@strippednvi8sb36h2mg

  942 Reggie Burnett	2010-11-17 [merge]
      merged

    added:
      Installer/EntityFramework.wxs
      MySql.Data/Provider/MySql.Data.VS2010.csproj
      MySql.Data/Tests/MySql.Data.Tests.VS2010.csproj
      MySql.Web/Providers/MySql.Web.VS2010.csproj
      MySql.Web/Tests/MySql.Web.Tests.VS2010.csproj
    modified:
      CHANGES
      Installer/core.wxs
      Installer/main.wxs
      Installer/webproviders.wxs
      MySQLClient-VS2010.sln
      MySql.Data.Entity/Provider/MySql.Data.Entity.VS2010.csproj
      MySql.Data.Entity/Tests/MySql.Data.Entity.Tests.VS2010.csproj
      MySql.Data/Provider/Source/CharSetMap.cs
      MySql.VisualStudio/MySql.VisualStudio.VS2010.csproj
=== modified file 'CHANGES'
=== modified file 'CHANGES'
--- a/CHANGES	2010-11-09 20:35:14 +0000
+++ b/CHANGES	2010-11-17 21:09:02 +0000
@@ -1,112 +1,2 @@
-Version 6.3.6
-- Fixed TracingDriver so that it normalizes long queries before truncation so we don't get exceptions     when quoted tokens land on the 300th character (bug #57641)
-- added code that will attempt to enumerate procs via mysql.proc the first time. If we get an 1142       error then we mark that we don't have access to that table and use IS from then on. (bug #36694)
-- fixed loading of mono.posix assembly to use the right assembly (bug #56410)
-
-Version 6.3.5
-- Fix installer bug related to .NET FW 4.0 (bug #56580)
-- Added MySqlHelper.ExecuteReader that takes an external connection and array of paramters (bug #56755)
-- fixed database methods in EF4 provider services to use the database name from the connection string (bug #56589)
-- fixed problem with using bit parameters as output (bug #56756)
-- Handle MySqlCommand.CommandTimeout = 0 properly (Bug #57265)
-- Do not call AcceptChanged on tables in MySqlDataAdapter.Update(),
-  but on individual rows (Bug #57092)
-- fixed MySqlCommand.Clone so that the default command timeoout functionality is not disabled when
-  you clone a command (bug #56806)
-
-Version 6.3.4
-- Fix authorization popup after modifying stored procedure in VS (Bug #44715)
-- Dispose EventLog after use in MySql.Web.dll provider classes, to avoid wasting resources
-  (Bug #55793)
-- Fix calculation of lockAge in SessionProvider (Bug #55701)
-- Handle cases where server returns unparsable (out-of-range) double values
-  (Bug#55644)
-- Fix DataAdapter.Update() slowdown due to many superfluous DataTable.AcceptChanges() calls (Bug #55609)
-- fixed visual studio plugin so that stored procedure editing works on older versions of MySQL (bug #55170)
-- Improve performance of write operaitons (e.g insert) if compression is enabled (Bug #48243)
-- Changed timestamp columns in entity framework models to be DateTime objects instead of DateTimeOffset (bug #52550)
-
-Version 6.3.3 (beta 2)
-- fix "There is already an open DataReader..." after exceptions in DataReader.Close()
- (bug#55558)
-- Improve performance of MySqlHelper.EscapeString()
-- Improve performance of write operations (e.g insert) if compression is enabled
-  (Bug #48243)
-- Improve performance of MySqlHelper.EscapeString()
-- Fix membership provider creation failure, when default database character set is different from latin1 (Bug #53174)
-- Fix "Connection must be valid and open" exception When UpdateBatchSize > 1 
-  and MySqlDataAdapter is not using an open connection (Bug #38411)
-- Make sure MySqlDataAdapter.Update() works for custom stored procedure driven update commands 
-  that make use of UpdateRowSource.FirstReturnedRecord (Bug#54895)
-- Fix null reference exception when TransactionScope is used by multiple threads
- (bug#54681, fix contributed by Erskine Thompson)
-- Ensure exceptions are not silently eaten inside MySqlDataReader.Read()  (Bug#53439)
-- Cancel query in ThreadAbortException handler (Bug#54012)
-- Call DataTable.AcceptChanges() for affected tables at the end of MySqlAdapter.Update, 
-  to match the documented IDataAdater behavior (bug#54863)
-- Fix race condition (concurrent reading/modification of the same DataSet) in StoredProcedure.GetParameters()
-  (bug#49118)
-- Fix problems with MySqlDataAdapter insert command, when batch size is > 1, and 
-  INSERT statement has expression with parentheses (e.g arithmetical expressions) (bug #54386)
-- fix crashes on long queries, when logging is turned on (bug #53865, bug #54152)
-- try to avoid exception if Connection is garbage-collected (bug #53457)
-- when command is killed, e.g as result of timeout, error code returned from server 
-  is not necessarily 1317 (QueryInterrupted). It might as well be 1028 (FileSortAborted).
-  Fix timeout handling to handle both error codes in the same fashion (bug #53357)
-- changed installer code to skip over config folders that do not contain a machine.config (bug #52352)
-- added public MySqlHelper.ExecuteDataReader method that takes an external connection (bug #54570)
-- applied patch from 5.x series that reset the connection to the base encoding when doing a 
-  connection reset (bug #47153)
-- fixed bug that caused the web site config wizard to not appear when working with web applications
-  as opposed to websites (bug #54571)
-- changed DbCommandBuilder and added a MySqlDataObjectIdentifierConverter so we don't output
-  the databasename in our typed datasets.  This allows users to move the dataset to a new
-  database/server with no trouble (bug #33870)
-- fixed recognition of char(36) columns to be guids when used in views with entity models (bug #52085)
-- fixed a couple of installer problems (bug #53975)
-- fixed installer so that it will work if .NET 4.0 is installed by itself
-
-Version 6.3.2 (beta 1)
-- added feature where sql queries that are longer than 300 chars are normalized and a new
-  query normalized log line is issues right after query opened to give the query normalized text
-- fixed bug in sql generation when using a negated binary fragment in EF (bug #49850)
-- fixed bug in tokenization where a nonterminated string in sql will cause a CLR exception
-  rather than throwing a syntax exception (bug #51788)
-- added two requested features -- MySqlDataReader.GetFieldType(string columnname) &
-  MySqlDataReader.GetOrdinal() includes the name of the column in the exception when not found
-  (bug #47467)
-- Replaced check for Settings.Logging when logging information in the 
-  procedure cache.  This is already in 6.1 and 6.0 but got "misplaced" in 6.2
-  (bug #52475)
-- Added trace message in exception blog in MySqlConnection.Abort() method (bug #52769)
-- changed how we respond when the user selects 'functions return string=true'.  Now we no longer force the type to var string but just let the underlying type come through but we strip the binary flag (bug #52187)
-- changed mapping of latin1 from latin1 to windows-1252 (bug #51927)
-- flushed out many more entires in error code enum (bug #51988)
-- SessionProvider : Avoid SQLNullValueException if lockId returned by select is 
-  NULL (bug#52175)
-- changed how we respond when the user selects 'functions return string=true'.  Now we no longer force the type to var string but just let the underlying type come through but we strip the binary flag (bug #52187)
-- improved our procedure caching so that if you drop and recreate a proc with a different number of parameters
-  it will find the new proc as long as your are actually using the right number of parameters (bug #52562)
-
-Version 6.3.1 (alpha 2)
-- fixed bug where giving a connection string option like (option=) and then trying to read
-  the option back via the property would fail (bug #51209)
-- fixed bug where a connection could not be reused in the IDE in some circumstances (bug #41629)
-- small performance fix (bug #51149)
-- fixed issue with script execution & multi-char delimiters (bug #46429)
-- fixed bug in table editor where clicking back on the last row added can sometimes
-  cause a ArgumentOutOfRange exception
-- fixed bug where a commands batchable command text was not getting reset when the 
-  command text was reset (bug #50444)
-- fixed bug where using a currently non-batchable command in a batch would throw an exception
-  (bug #50123)
-- fixed retrieve data command in server explorer so that it works in VS2010
-- added sql server mode to allow for [] style symbols in VS wizards
-- fixed bug where binary or blob columns would prevent columns after that from appearing in the
-  query builder (bug #50171)
-- ScriptCompleted event handler now uses EventArgs.Empty instead of null
-- fixed parsing bug that was caused by special characters being jammed up beside a quoted identifier (bug #51610)
-
-version 6.3.0 (alpha 1)
-- Added the ability to enable query analysis at runtime
-- added VS2010 compatibility
+6.4.0
+<TBD>
\ No newline at end of file

=== added file 'Installer/EntityFramework.wxs'
--- a/Installer/EntityFramework.wxs	1970-01-01 00:00:00 +0000
+++ b/Installer/EntityFramework.wxs	2010-11-17 19:25:46 +0000
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+  <Fragment Id='EntityFramework'>
+    <!-- Entity framework 2.0 feature -->
+    <DirectoryRef Id='assemblies_v2'>
+      <Component Id="EF.v2" Guid="AB734C75-F5DC-491e-A2BC-52D5061881B7" DiskId="1">
+        <Condition>NETFRAMEWORK20</Condition>
+        <File Id="MySql.Data.EF" Name="MySql.Data.Entity.dll"
+              Source="..\mysql.data.entity\provider\bin\release\mysql.data.entity.dll" DiskId="1"/>
+      </Component>
+      <Component Id="EF.v2.GAC" Guid="12218CCC-B085-46af-AA5F-FB9306FE621E" DiskId="1">
+        <Condition>NETFRAMEWORK20</Condition>
+        <File Id="MySql.Data.EF.GAC" Name="MySql.Data.Entity.dll"
+              Source="..\mysql.data.entity\provider\bin\release\mysql.data.entity.dll" DiskId="1"
+              Assembly=".net" KeyPath="yes"/>
+      </Component>
+    </DirectoryRef>
+
+    <!-- Entity framework 4.0 feature -->
+    <DirectoryRef Id='assemblies_v4'>
+      <Component Id="EF.v4" Guid="E6B683F6-727A-43c9-B955-6BEE94EF61C7" DiskId="1">
+        <Condition>NETFRAMEWORK40FULL</Condition>
+        <File Id="MySql.Data.EF.v4" Name="MySql.Data.Entity.dll"
+              Source="..\mysql.data.entity\provider\bin\release-4.0\mysql.data.entity.dll" DiskId="1"/>
+      </Component>
+      <Component Id="EF.v4.GAC" Guid="A9C03468-5A59-443f-85DC-C0149EBB55C8" DiskId="1">
+        <Condition>NETFRAMEWORK40FULL</Condition>
+        <File Id="MySql.Data.EF.v4.GAC" Name="MySql.Data.Entity.dll"
+              Source="..\mysql.data.entity\provider\bin\release-4.0\mysql.data.entity.dll" DiskId="1"
+              Assembly=".net" KeyPath="yes"/>
+      </Component>
+    </DirectoryRef>
+
+    <DirectoryRef Id="Entity.T4.DBGenDir">
+      <Component Id="EF.T4" Guid="6555D339-120C-4D62-B60C-08764D8CA739">
+        <Condition>VS_2010_PATH</Condition>
+        <File Id="SSDLToMySQL" Name="SSDLToMySQL.tt" DiskId="1"
+              Source="..\MySql.Data.Entity\T4Templates\SSDLToMySQL.tt"/>
+        <File Id="GenerateMySQL.Utility" Name="GenerateMySQL.Utility.ttinclude" DiskId="1"
+              Source="..\MySql.Data.Entity\T4Templates\GenerateMySQL.Utility.ttinclude"/>
+      </Component>
+    </DirectoryRef>
+
+    <Feature Id="EntityFramework" Level="1" Title="Entity Framework Support"
+             Description="Support for the entity framework">
+      <Condition Level='0'>Not NETFRAMEWORK20 AND Not NETFRAMEWORK40FULL</Condition>
+      <ComponentRef Id="EF.v2"/>
+      <ComponentRef Id="EF.v2.GAC"/>
+      <ComponentRef Id="EF.v4"/>
+      <ComponentRef Id="EF.v4.GAC"/>
+      <ComponentRef Id="EF.T4"/>
+    </Feature>
+
+  </Fragment>
+</Wix>
+
+

=== modified file 'Installer/core.wxs'
--- a/Installer/core.wxs	2010-09-17 16:07:04 +0000
+++ b/Installer/core.wxs	2010-11-17 19:25:46 +0000
@@ -24,8 +24,9 @@
 
     <!-- .Net 2.0 Binaries -->
     <DirectoryRef Id='assemblies_v2'>
-      <Component Id="Net20" Guid="0e8af006-273c-49bb-b7c1-ec1737260a5a">
-        <File Id="MySqlData" Name="MySql.Data.dll"
+      <Component Id="C.v2" Guid="0e8af006-273c-49bb-b7c1-ec1737260a5a">
+        <Condition>NETFRAMEWORK20</Condition>
+        <File Id="MySql.Data.v2" Name="MySql.Data.dll"
               Source="..\mysql.data\provider\bin\release\mysql.data.dll" DiskId="1"/>
 
         <util:PerformanceCategory Id="PMDataCategoryId" Name=".NET Data Provider for MySQL"
@@ -38,13 +39,39 @@
 
       </Component>
       <Directory Id="MySql.Data.DummyDir" Name="GAC">
-        <Component Id="GAC20" Guid="58f70e4a-96f7-4b67-bdab-9b77a60f9c09">
-          <File Id="MySql.Data.GAC" Name="MySql.Data.dll"
+        <Component Id="C.v2.GAC" Guid="58f70e4a-96f7-4b67-bdab-9b77a60f9c09">
+          <Condition>NETFRAMEWORK20</Condition>
+          <File Id="MySql.Data.v2.GAC" Name="MySql.Data.dll"
                 Source="..\mysql.data\provider\bin\release\mysql.data.dll" DiskId="1" Assembly=".net" KeyPath="yes"/>
         </Component>
       </Directory>
     </DirectoryRef>
 
+    <!-- .Net 4.0 Binaries -->
+    <DirectoryRef Id='assemblies_v4'>
+      <Component Id="C.v4" Guid="C66D3DF6-A151-4F29-B388-A9803C89131A">
+        <Condition>NETFRAMEWORK40FULL</Condition>
+        <File Id="MySql.Data.v4" Name="MySql.Data.dll"
+              Source="..\mysql.data\provider\bin\release-4.0\mysql.data.dll" DiskId="1"/>
+
+        <util:PerformanceCategory Id="PMDataCategoryId" Name=".NET Data Provider for MySQL"
+                                  MultiInstance="no" Help="This category includes a series of counters for MySQL.">
+          <util:PerformanceCounter Name="HardProcedureQueries" Type="numberOfItems32" Help="The number of times a procedures metadata had to be queried from the server." />
+          <util:PerformanceCounter Name="SoftProcedureQueries" Type="rateOfCountsPerSecond32" Help="The number of times a procedures metadata was retrieved from the client-side cache." />
+        </util:PerformanceCategory>
+
+        <RemoveFile Id="RemoveStateFile" Name="*.InstallState" On="uninstall"/>
+
+      </Component>
+      <Directory Id="MySql.Data.DummyDir" Name="GAC">
+        <Component Id="C.v4.GAC" Guid="34B6C828-355D-405F-82BC-F18BBC13871D">
+          <Condition>NETFRAMEWORK40FULL</Condition>
+          <File Id="MySql.Data.v4.GAC" Name="MySql.Data.dll"
+                Source="..\mysql.data\provider\bin\release-4.0\mysql.data.dll" DiskId="1" Assembly=".net" KeyPath="yes"/>
+        </Component>
+      </Directory>
+    </DirectoryRef>
+
     <!-- Start menu junk -->
     <DirectoryRef Id='ShortCutDir'>
       <Component Id="StartMenuComponent" Guid="31e1c7c6-e06d-4214-82ca-58e67e5232e2">
@@ -62,78 +89,42 @@
     <Feature Id="Core.Feature" Level="1" Title="Core Components" Description="Core Components"
              ConfigurableDirectory ="INSTALLDIR" Absent="disallow" Display="2">
       <ComponentRef Id="BaseFiles"/>
-      <ComponentRef Id="Net20"/>
-      <ComponentRef Id="GAC20"/>
+      <ComponentRef Id="C.v2"/>
+      <ComponentRef Id="C.v2.GAC"/>
+      <ComponentRef Id="C.v4"/>
+      <ComponentRef Id="C.v4.GAC"/>
       <ComponentRef Id="StartMenuComponent"/>
     </Feature>
 
-    <!-- Entity framework 2.0 feature -->
-    <DirectoryRef Id='assemblies_v2'>
-      <Component Id="EF.v2" Guid="AB734C75-F5DC-491e-A2BC-52D5061881B7" DiskId="1">
-        <Condition>NETFRAMEWORK20</Condition>
-        <File Id="MySql.Data.EF" Name="MySql.Data.Entity.dll"
-              Source="..\mysql.data.entity\provider\bin\release\mysql.data.entity.dll" DiskId="1"/>
-      </Component>
-      <Component Id="EF.v2.GAC" Guid="12218CCC-B085-46af-AA5F-FB9306FE621E" DiskId="1">
-        <Condition>NETFRAMEWORK20</Condition>
-        <File Id="MySql.Data.EF.GAC" Name="MySql.Data.Entity.dll"
-              Source="..\mysql.data.entity\provider\bin\release\mysql.data.entity.dll" DiskId="1"
-              Assembly=".net" KeyPath="yes"/>
-      </Component>
-    </DirectoryRef>
-
-    <!-- Entity framework 4.0 feature -->
-    <DirectoryRef Id='assemblies_v4'>
-      <Component Id="EF.v4" Guid="E6B683F6-727A-43c9-B955-6BEE94EF61C7" DiskId="1">
-        <Condition>NETFRAMEWORK40FULL OR NETFRAMEWORK40CLIENT</Condition>
-        <File Id="MySql.Data.EF.v4" Name="MySql.Data.Entity.dll"
-              Source="..\mysql.data.entity\provider\bin\release-4.0\mysql.data.entity.dll" DiskId="1"/>
-      </Component>
-      <Component Id="EF.v4.GAC" Guid="A9C03468-5A59-443f-85DC-C0149EBB55C8" DiskId="1">
-        <Condition>NETFRAMEWORK40FULL OR NETFRAMEWORK40CLIENT</Condition>
-        <File Id="MySql.Data.EF.v4.GAC" Name="MySql.Data.Entity.dll"
-              Source="..\mysql.data.entity\provider\bin\release-4.0\mysql.data.entity.dll" DiskId="1"
-              Assembly=".net" KeyPath="yes"/>
-      </Component>
-    </DirectoryRef>
-
-    <DirectoryRef Id="Entity.T4.DBGenDir">
-      <Component Id="EF.T4" Guid="6555D339-120C-4D62-B60C-08764D8CA739">
-        <Condition>VS_2010_PATH</Condition>
-        <File Id="SSDLToMySQL" Name="SSDLToMySQL.tt" DiskId="1"
-              Source="..\MySql.Data.Entity\T4Templates\SSDLToMySQL.tt"/>
-        <File Id="GenerateMySQL.Utility" Name="GenerateMySQL.Utility.ttinclude" DiskId="1"
-              Source="..\MySql.Data.Entity\T4Templates\GenerateMySQL.Utility.ttinclude"/>
-      </Component>
-    </DirectoryRef>    
-    
-    <Feature Id="EntityFramework" Level="1" Title="Entity Framework Support"
-             Description="Support for the entity framework">
-      <Condition Level='0'>Not NETFRAMEWORK20 AND Not NETFRAMEWORK40FULL And Not NETFRAMEWORK40CLIENT</Condition>
-      <ComponentRef Id="EF.v2"/>
-      <ComponentRef Id="EF.v2.GAC"/>
-      <ComponentRef Id="EF.v4"/>
-      <ComponentRef Id="EF.v4.GAC"/>
-      <ComponentRef Id="EF.T4"/>
-    </Feature>
-
     <InstallExecuteSequence>
-      <Custom Action="SetFWVersion_v2" After="CostFinalize">NETFRAMEWORK20</Custom>
-      <Custom Action="SetFWVersion_v4" After="SetFWVersion_v2">NETFRAMEWORK40CLIENT or NETFRAMEWORK40FULL</Custom>
-      <Custom Action='ManagedDataInstallSetup' After="InstallFiles">NOT Installed</Custom>
-      <Custom Action='ManagedDataInstall' After="ManagedDataInstallSetup">NOT Installed</Custom>
-      <Custom Action='ManagedDataUnInstallSetup' Before="RemoveFiles">Installed</Custom>
-      <Custom Action='ManagedDataUnInstall' After="ManagedDataUnInstallSetup">Installed</Custom>
+      <!-- v2 custom action scheduling -->
+      <Custom Action='ManagedDataInstallSetupv2' After="InstallFiles">NETFRAMEWORK20 AND NOT Installed</Custom>
+      <Custom Action='ManagedDataInstallv2' After="ManagedDataInstallSetupv2">NETFRAMEWORK20 AND NOT Installed</Custom>
+      <Custom Action='ManagedDataUnInstallSetupv2' Before="RemoveFiles">NETFRAMEWORK20 AND Installed</Custom>
+      <Custom Action='ManagedDataUnInstallv2' After="ManagedDataUnInstallSetupv2">NETFRAMEWORK20 AND Installed</Custom>
+
+      <!-- v4 custom action scheduling -->
+      <Custom Action='ManagedDataInstallSetupv4' After="InstallFiles">NETFRAMEWORK40FULL AND NOT Installed</Custom>
+      <Custom Action='ManagedDataInstallv4' After="ManagedDataInstallSetupv4">NETFRAMEWORK40FULL AND NOT Installed</Custom>
+      <Custom Action='ManagedDataUnInstallSetupv4' Before="RemoveFiles">NETFRAMEWORK40FULL AND Installed</Custom>
+      <Custom Action='ManagedDataUnInstallv4' After="ManagedDataUnInstallSetupv4">NETFRAMEWORK40FULL AND Installed</Custom>
     </InstallExecuteSequence>
 
-    <CustomAction Id="SetFWVersion_v2" Property="FrameworkVersion" Value="v2.0.50727"/>
-    <CustomAction Id="SetFWVersion_v4" Property="FrameworkVersion" Value="v4.0.30319"/>
-    <CustomAction Id="ManagedDataInstallSetup" Property="ManagedDataInstall"
-                  Value='"[WindowsFolder]\Microsoft.NET\Framework\[FrameworkVersion]\installUtil.exe" /LogToConsole=false /LogFile=  "[#MySqlData]"'/>
-    <CustomAction Id='ManagedDataUnInstallSetup' Property="ManagedDataUnInstall"
-                  Value='"[WindowsFolder]\Microsoft.NET\Framework\[FrameworkVersion]\installUtil.exe" /LogToConsole=false /LogFile= /u "[#MySqlData]"'/>
-    <CustomAction Id="ManagedDataInstall" BinaryKey="WixCA" DllEntry="CAQuietExec" Return="check" Execute='deferred' Impersonate='no'/>
-    <CustomAction Id="ManagedDataUnInstall" BinaryKey="WixCA" DllEntry="CAQuietExec" Return="check" Execute='deferred' Impersonate='no'/>
+    <!-- v2 custom actions -->
+    <CustomAction Id="ManagedDataInstallSetupv2" Property="ManagedDataInstallv2"
+                  Value='"[WindowsFolder]\Microsoft.NET\Framework\v2.0.50727\installUtil.exe" /LogToConsole=false /LogFile=  "[#MySql.Data.v2]"'/>
+    <CustomAction Id='ManagedDataUnInstallSetupv2' Property="ManagedDataUnInstallv2"
+                  Value='"[WindowsFolder]\Microsoft.NET\Framework\v2.0.50727\installUtil.exe" /LogToConsole=false /LogFile= /u "[#MySql.Data.v2]"'/>
+    <CustomAction Id="ManagedDataInstallv2" BinaryKey="WixCA" DllEntry="CAQuietExec" Return="check" Execute='deferred' Impersonate='no'/>
+    <CustomAction Id="ManagedDataUnInstallv2" BinaryKey="WixCA" DllEntry="CAQuietExec" Return="check" Execute='deferred' Impersonate='no'/>
+
+    <!-- v4 custom actions -->
+    <CustomAction Id="ManagedDataInstallSetupv4" Property="ManagedDataInstallv4"
+                  Value='"[WindowsFolder]\Microsoft.NET\Framework\v4.0.30319\installUtil.exe" /LogToConsole=false /LogFile=  "[#MySql.Data.v4]"'/>
+    <CustomAction Id='ManagedDataUnInstallSetupv4' Property="ManagedDataUnInstallv4"
+                  Value='"[WindowsFolder]\Microsoft.NET\Framework\v4.0.30319\installUtil.exe" /LogToConsole=false /LogFile= /u "[#MySql.Data.v4]"'/>
+    <CustomAction Id="ManagedDataInstallv4" BinaryKey="WixCA" DllEntry="CAQuietExec" Return="check" Execute='deferred' Impersonate='no'/>
+    <CustomAction Id="ManagedDataUnInstallv4" BinaryKey="WixCA" DllEntry="CAQuietExec" Return="check" Execute='deferred' Impersonate='no'/>
   </Fragment>
 </Wix>
 

=== modified file 'Installer/main.wxs'
--- a/Installer/main.wxs	2010-08-30 20:17:30 +0000
+++ b/Installer/main.wxs	2010-11-10 23:14:26 +0000
@@ -17,8 +17,7 @@
     <!-- First make sure that .NET is installed -->
     <PropertyRef Id="NETFRAMEWORK20"/>
     <PropertyRef Id="NETFRAMEWORK40FULL"/>
-    <PropertyRef Id="NETFRAMEWORK40CLIENT"/>
-    <Condition Message="The .NET Framework 2.0 or 4.0 must be installed before installing this package.">Installed OR NETFRAMEWORK20 OR NETFRAMEWORK40FULL OR NETFRAMEWORK40CLIENT</Condition>
+    <Condition Message="The .NET Framework 2.0 or 4.0 must be installed before installing this package.">Installed OR NETFRAMEWORK20 OR NETFRAMEWORK40FULL</Condition>
 
     <!-- now make sure that we don't have an old version still around -->
     <Property Id="OLDVERSION">

=== modified file 'Installer/webproviders.wxs'
--- a/Installer/webproviders.wxs	2010-07-21 16:39:02 +0000
+++ b/Installer/webproviders.wxs	2010-11-17 19:25:46 +0000
@@ -1,24 +1,45 @@
 <?xml version="1.0"?>
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
   <Fragment Id='ProvidersFragment'>
+    
     <DirectoryRef Id='assemblies_v2'>
       <Directory Id="MySql.Web.DummyDir" Name="GAC">
-        <Component Id="ProvidersGAC" Guid="6b95d34b-91e1-41ff-9f3f-dcb5308a00ce">
+        <Component Id="C.Web.v2.GAC" Guid="6b95d34b-91e1-41ff-9f3f-dcb5308a00ce">
+          <Condition>NETFRAMEWORK20</Condition>
           <File Id="ProviderAssemblyGAC" Name="MySql.Web.dll" ShortName="MW"
                 Source="..\MySql.Web\providers\bin\release\mysql.web.dll" DiskId="1" Assembly=".net" KeyPath="yes"/>
         </Component>
       </Directory>
-      <Component Id="Providers" Guid="8578813e-e123-45ad-9c92-565382a058b6">
+      <Component Id="C.Web.v2" Guid="8578813e-e123-45ad-9c92-565382a058b6">
+        <Condition>NETFRAMEWORK20</Condition>
         <File Id="MySqlWeb" Name="MySql.Web.dll" DiskId="1"
               Source="..\MySql.Web\providers\bin\release\mysql.web.dll"/>
         <RemoveFile Id="RemoveWebStateFile" Name="*.InstallState" On="uninstall"/>
       </Component>
     </DirectoryRef>
 
+    <DirectoryRef Id='assemblies_v4'>
+      <Directory Id="MySql.Web.DummyDir.v4" Name="GAC">
+        <Component Id="C.Web.v4.GAC" Guid="A30C8C85-C943-4976-8C9C-4ACFBBCD0764">
+          <Condition>NETFRAMEWORK40FULL</Condition>
+          <File Id="ProviderAssemblyGAC" Name="MySql.Web.dll" ShortName="MW"
+                Source="..\MySql.Web\providers\bin\release-4.0\mysql.web.dll" DiskId="1" Assembly=".net" KeyPath="yes"/>
+        </Component>
+      </Directory>
+      <Component Id="C.Web.v4" Guid="64B61967-2AB9-4DCC-B82B-23CA348B3CCF">
+        <Condition>NETFRAMEWORK40FULL</Condition>
+        <File Id="MySqlWeb" Name="MySql.Web.dll" DiskId="1"
+              Source="..\MySql.Web\providers\bin\release-4.0\mysql.web.dll"/>
+        <RemoveFile Id="RemoveWebStateFile" Name="*.InstallState" On="uninstall"/>
+      </Component>
+    </DirectoryRef>
+
     <Feature Id='WebProviders' Display='7' Level='1' Title='Web Providers'
              Description='ASP.Net Web Providers'>
-      <ComponentRef Id='Providers'/>
-      <ComponentRef Id='ProvidersGAC'/>
+      <ComponentRef Id='C.Web.v2'/>
+      <ComponentRef Id='C.Web.v2.GAC'/>
+      <ComponentRef Id='C.Web.v4'/>
+      <ComponentRef Id='C.Web.v4.GAC'/>
     </Feature>
 
     <InstallExecuteSequence>

=== modified file 'MySQLClient-VS2010.sln'
--- a/MySQLClient-VS2010.sln	2010-10-12 19:52:38 +0000
+++ b/MySQLClient-VS2010.sln	2010-11-17 19:25:46 +0000
@@ -1,14 +1,6 @@
 
 Microsoft Visual Studio Solution File, Format Version 11.00
 # Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Web", "MySql.Web\Providers\MySql.Web.csproj", "{C28B1166-1380-445D-AEC1-8A18B990DD18}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Web.Tests", "MySql.Web\Tests\MySql.Web.Tests.csproj", "{DC704374-EC50-4167-93AA-8D262136502E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data", "MySql.Data\Provider\MySql.Data.csproj", "{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data.Tests", "MySql.Data\Tests\MySql.Data.Tests.csproj", "{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data.Entity.VS2010", "MySql.Data.Entity\Provider\MySql.Data.Entity.VS2010.csproj", "{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.VisualStudio.VS2010", "MySql.VisualStudio\MySql.VisualStudio.VS2010.csproj", "{DC3517FF-AC26-4755-9B7A-EF658FF69593}"
@@ -17,6 +9,14 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data.Entity.Tests.VS2010", "MySql.Data.Entity\Tests\MySql.Data.Entity.Tests.VS2010.csproj", "{77EC4E20-293A-48BA-8415-D0AD869D91FA}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data.VS2010", "MySql.Data\Provider\MySql.Data.VS2010.csproj", "{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Data.Tests.VS2010", "MySql.Data\Tests\MySql.Data.Tests.VS2010.csproj", "{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Web.VS2010", "MySql.Web\Providers\MySql.Web.VS2010.csproj", "{C28B1166-1380-445D-AEC1-8A18B990DD18}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySql.Web.Tests.VS2010", "MySql.Web\Tests\MySql.Web.Tests.VS2010.csproj", "{DC704374-EC50-4167-93AA-8D262136502E}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Commercial|Any CPU = Commercial|Any CPU
@@ -37,102 +37,6 @@
 		Release|x86 = Release|x86
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Commercial|Any CPU.ActiveCfg = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Commercial|Any CPU.Build.0 = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Commercial|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Commercial|Mixed Platforms.Build.0 = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Commercial|x64.ActiveCfg = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Commercial|x86.ActiveCfg = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.GPL|Any CPU.ActiveCfg = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.GPL|Any CPU.Build.0 = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.GPL|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.GPL|Mixed Platforms.Build.0 = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.GPL|x64.ActiveCfg = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.GPL|x86.ActiveCfg = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|Any CPU.Build.0 = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|Mixed Platforms.Build.0 = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|x64.ActiveCfg = Release|Any CPU
-		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|x86.ActiveCfg = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Commercial|Any CPU.ActiveCfg = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Commercial|Any CPU.Build.0 = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Commercial|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Commercial|Mixed Platforms.Build.0 = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Commercial|x64.ActiveCfg = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Commercial|x86.ActiveCfg = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.GPL|Any CPU.ActiveCfg = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.GPL|Any CPU.Build.0 = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.GPL|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.GPL|Mixed Platforms.Build.0 = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.GPL|x64.ActiveCfg = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.GPL|x86.ActiveCfg = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Release|Any CPU.Build.0 = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Release|x64.ActiveCfg = Release|Any CPU
-		{DC704374-EC50-4167-93AA-8D262136502E}.Release|x86.ActiveCfg = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Commercial|Any CPU.ActiveCfg = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Commercial|Any CPU.Build.0 = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Commercial|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Commercial|Mixed Platforms.Build.0 = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Commercial|x64.ActiveCfg = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Commercial|x86.ActiveCfg = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.GPL|Any CPU.ActiveCfg = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.GPL|Any CPU.Build.0 = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.GPL|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.GPL|Mixed Platforms.Build.0 = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.GPL|x64.ActiveCfg = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.GPL|x86.ActiveCfg = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|Any CPU.Build.0 = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|x64.ActiveCfg = Release|Any CPU
-		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|x86.ActiveCfg = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Commercial|Any CPU.ActiveCfg = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Commercial|Any CPU.Build.0 = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Commercial|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Commercial|Mixed Platforms.Build.0 = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Commercial|x64.ActiveCfg = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Commercial|x86.ActiveCfg = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.GPL|Any CPU.ActiveCfg = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.GPL|Any CPU.Build.0 = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.GPL|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.GPL|Mixed Platforms.Build.0 = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.GPL|x64.ActiveCfg = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.GPL|x86.ActiveCfg = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Release|Any CPU.Build.0 = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Release|Mixed Platforms.Build.0 = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Release|x64.ActiveCfg = Release|Any CPU
-		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Release|x86.ActiveCfg = Release|Any CPU
 		{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}.Commercial|Any CPU.ActiveCfg = Release|Any CPU
 		{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}.Commercial|Any CPU.Build.0 = Release|Any CPU
 		{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}.Commercial|Mixed Platforms.ActiveCfg = Release|Any CPU
@@ -230,6 +134,102 @@
 		{77EC4E20-293A-48BA-8415-D0AD869D91FA}.Release|Mixed Platforms.Build.0 = Release|Any CPU
 		{77EC4E20-293A-48BA-8415-D0AD869D91FA}.Release|x64.ActiveCfg = Release|Any CPU
 		{77EC4E20-293A-48BA-8415-D0AD869D91FA}.Release|x86.ActiveCfg = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Commercial|Any CPU.ActiveCfg = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Commercial|Any CPU.Build.0 = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Commercial|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Commercial|Mixed Platforms.Build.0 = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Commercial|x64.ActiveCfg = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Commercial|x86.ActiveCfg = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.GPL|Any CPU.ActiveCfg = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.GPL|Any CPU.Build.0 = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.GPL|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.GPL|Mixed Platforms.Build.0 = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.GPL|x64.ActiveCfg = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.GPL|x86.ActiveCfg = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|x64.ActiveCfg = Release|Any CPU
+		{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}.Release|x86.ActiveCfg = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Commercial|Any CPU.ActiveCfg = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Commercial|Any CPU.Build.0 = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Commercial|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Commercial|Mixed Platforms.Build.0 = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Commercial|x64.ActiveCfg = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Commercial|x86.ActiveCfg = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.GPL|Any CPU.ActiveCfg = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.GPL|Any CPU.Build.0 = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.GPL|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.GPL|Mixed Platforms.Build.0 = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.GPL|x64.ActiveCfg = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.GPL|x86.ActiveCfg = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Release|x64.ActiveCfg = Release|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Release|x86.ActiveCfg = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Commercial|Any CPU.ActiveCfg = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Commercial|Any CPU.Build.0 = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Commercial|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Commercial|Mixed Platforms.Build.0 = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Commercial|x64.ActiveCfg = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Commercial|x86.ActiveCfg = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.GPL|Any CPU.ActiveCfg = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.GPL|Any CPU.Build.0 = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.GPL|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.GPL|Mixed Platforms.Build.0 = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.GPL|x64.ActiveCfg = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.GPL|x86.ActiveCfg = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|x64.ActiveCfg = Release|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Release|x86.ActiveCfg = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Commercial|Any CPU.ActiveCfg = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Commercial|Any CPU.Build.0 = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Commercial|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Commercial|Mixed Platforms.Build.0 = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Commercial|x64.ActiveCfg = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Commercial|x86.ActiveCfg = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.GPL|Any CPU.ActiveCfg = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.GPL|Any CPU.Build.0 = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.GPL|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.GPL|Mixed Platforms.Build.0 = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.GPL|x64.ActiveCfg = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.GPL|x86.ActiveCfg = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Release|x64.ActiveCfg = Release|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Release|x86.ActiveCfg = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

=== modified file 'MySql.Data.Entity/Provider/MySql.Data.Entity.VS2010.csproj'
--- a/MySql.Data.Entity/Provider/MySql.Data.Entity.VS2010.csproj	2010-07-20 19:53:09 +0000
+++ b/MySql.Data.Entity/Provider/MySql.Data.Entity.VS2010.csproj	2010-11-17 19:25:46 +0000
@@ -17,6 +17,7 @@
     <OldToolsVersion>3.5</OldToolsVersion>
     <UpgradeBackupLocation />
     <IsWebBootstrapper>false</IsWebBootstrapper>
+    <TargetFrameworkProfile />
     <PublishUrl>publish\</PublishUrl>
     <Install>true</Install>
     <InstallFrom>Disk</InstallFrom>
@@ -31,7 +32,6 @@
     <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
-    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
@@ -110,12 +110,6 @@
     </EmbeddedResource>
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\..\MySql.Data\Provider\MySql.Data.csproj">
-      <Project>{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}</Project>
-      <Name>MySql.Data</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
     <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
       <Visible>False</Visible>
       <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
@@ -137,6 +131,12 @@
       <Install>true</Install>
     </BootstrapperPackage>
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\MySql.Data\Provider\MySql.Data.VS2010.csproj">
+      <Project>{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}</Project>
+      <Name>MySql.Data.VS2010</Name>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.

=== modified file 'MySql.Data.Entity/Tests/MySql.Data.Entity.Tests.VS2010.csproj'
--- a/MySql.Data.Entity/Tests/MySql.Data.Entity.Tests.VS2010.csproj	2010-10-04 18:08:24 +0000
+++ b/MySql.Data.Entity/Tests/MySql.Data.Entity.Tests.VS2010.csproj	2010-11-17 19:25:46 +0000
@@ -16,6 +16,8 @@
     </FileUpgradeFlags>
     <OldToolsVersion>3.5</OldToolsVersion>
     <UpgradeBackupLocation />
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <TargetFrameworkProfile />
     <PublishUrl>publish\</PublishUrl>
     <Install>true</Install>
     <InstallFrom>Disk</InstallFrom>
@@ -28,10 +30,8 @@
     <MapFileExtensions>true</MapFileExtensions>
     <ApplicationRevision>0</ApplicationRevision>
     <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
-    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
@@ -111,13 +111,13 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\..\MySql.Data\Provider\MySql.Data.csproj">
+    <ProjectReference Include="..\..\MySql.Data\Provider\MySql.Data.VS2010.csproj">
       <Project>{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}</Project>
-      <Name>MySql.Data</Name>
+      <Name>MySql.Data.VS2010</Name>
     </ProjectReference>
-    <ProjectReference Include="..\..\MySql.Data\Tests\MySql.Data.Tests.csproj">
+    <ProjectReference Include="..\..\MySql.Data\Tests\MySql.Data.Tests.VS2010.csproj">
       <Project>{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}</Project>
-      <Name>MySql.Data.Tests</Name>
+      <Name>MySql.Data.Tests.VS2010</Name>
     </ProjectReference>
     <ProjectReference Include="..\Provider\MySql.Data.Entity.VS2010.csproj">
       <Project>{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}</Project>
@@ -145,6 +145,28 @@
       <LastGenOutput>TestModel.Designer.cs</LastGenOutput>
     </EntityDeploy>
   </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include=".NETFramework,Version=v4.0">
+      <Visible>False</Visible>
+      <ProductName>Microsoft .NET Framework 4 %28x86 and x64%29</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.

=== added file 'MySql.Data/Provider/MySql.Data.VS2010.csproj'
--- a/MySql.Data/Provider/MySql.Data.VS2010.csproj	1970-01-01 00:00:00 +0000
+++ b/MySql.Data/Provider/MySql.Data.VS2010.csproj	2010-11-17 19:25:46 +0000
@@ -0,0 +1,241 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>MySql.Data.MySqlClient</RootNamespace>
+    <AssemblyName>MySql.Data</AssemblyName>
+    <FileAlignment>512</FileAlignment>
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <OldToolsVersion>2.0</OldToolsVersion>
+    <UpgradeBackupLocation />
+    <TargetFrameworkProfile />
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug-4.0\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release-4.0\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Configuration.Install" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Design" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Management" />
+    <Reference Include="System.Security" />
+    <Reference Include="System.Transactions" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>

+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Source\CharSetMap.cs" />
+    <Compile Include="Source\command.cs">
+    </Compile>
+    <Compile Include="Source\CommandBuilder.cs">
+    </Compile>
+    <Compile Include="Source\common\ContextString.cs" />
+    <Compile Include="Source\common\NamedPipeStream.cs" />
+    <Compile Include="Source\common\NativeMethods.cs" />
+    <Compile Include="Source\common\Platform.cs" />
+    <Compile Include="Source\common\SHA1.cs" />
+    <Compile Include="Source\common\SharedMemoryStream.cs" />
+    <Compile Include="Source\common\StreamCreator.cs" />
+    <Compile Include="Source\common\Version.cs" />
+    <Compile Include="Source\CompressedStream.cs" />
+    <Compile Include="Source\Connection.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="Source\Crypt.cs" />
+    <Compile Include="Source\dataadapter.cs">
+    </Compile>
+    <Compile Include="Source\datareader.cs" />
+    <Compile Include="Source\Driver.cs" />
+    <Compile Include="Source\Exception.cs" />
+    <Compile Include="Source\Field.cs" />
+    <Compile Include="Source\Installer.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="Source\ISSchemaProvider.cs" />
+    <Compile Include="Source\MySqlClientFactory.cs" />
+    <Compile Include="Source\MySqlConnectionStringBuilder.cs" />
+    <Compile Include="Source\MysqlDefs.cs" />
+    <Compile Include="Source\MySqlError.cs" />
+    <Compile Include="Source\MySqlHelper.cs" />
+    <Compile Include="Source\MySqlPool.cs" />
+    <Compile Include="Source\MySqlPoolManager.cs" />
+    <Compile Include="Source\MySqlPromotableTransaction.cs" />
+    <Compile Include="Source\MySqlStream.cs" />
+    <Compile Include="Source\NativeDriver.cs" />
+    <Compile Include="Source\parameter.cs" />
+    <Compile Include="Source\parameter_collection.cs" />
+    <Compile Include="Source\PerformanceMonitor.cs" />
+    <Compile Include="Source\PreparableStatement.cs" />
+    <Compile Include="Source\ProcedureCache.cs" />
+    <Compile Include="Source\SchemaProvider.cs" />
+    <Compile Include="Source\Statement.cs" />
+    <Compile Include="Source\StoredProcedure.cs" />
+    <Compile Include="Source\transaction.cs" />
+    <Compile Include="Source\Types\MetaData.cs" />
+    <Compile Include="Source\Types\MySqlBinary.cs" />
+    <Compile Include="Source\Types\MySqlBit.cs" />
+    <Compile Include="Source\Types\MySqlByte.cs" />
+    <Compile Include="Source\Types\MySqlConversionException.cs" />
+    <Compile Include="Source\Types\MySqlDateTime.cs" />
+    <Compile Include="Source\Types\MySqlDecimal.cs" />
+    <Compile Include="Source\Types\MySqlDouble.cs" />
+    <Compile Include="Source\Types\MySqlInt16.cs" />
+    <Compile Include="Source\Types\MySqlInt32.cs" />
+    <Compile Include="Source\Types\MySqlInt64.cs" />
+    <Compile Include="Source\Types\MySqlSingle.cs" />
+    <Compile Include="Source\Types\MySqlString.cs" />
+    <Compile Include="Source\Types\MySqlTime.cs" />
+    <Compile Include="Source\Types\MySqlUByte.cs" />
+    <Compile Include="Source\Types\MySqlUInt16.cs" />
+    <Compile Include="Source\Types\MySqlUInt32.cs" />
+    <Compile Include="Source\Types\MySqlUInt64.cs" />
+    <Compile Include="Source\Types\MySqlValue.cs" />
+    <Compile Include="Source\zlib\Adler32.cs" />
+    <Compile Include="Source\zlib\Deflate.cs" />
+    <Compile Include="Source\zlib\InfBlocks.cs" />
+    <Compile Include="Source\zlib\InfCodes.cs" />
+    <Compile Include="Source\zlib\Inflate.cs" />
+    <Compile Include="Source\zlib\InfTree.cs" />
+    <Compile Include="Source\zlib\StaticTree.cs" />
+    <Compile Include="Source\zlib\SupportClass.cs" />
+    <Compile Include="Source\zlib\Tree.cs" />
+    <Compile Include="Source\zlib\ZInputStream.cs" />
+    <Compile Include="Source\zlib\Zlib.cs" />
+    <Compile Include="Source\zlib\ZOutputStream.cs" />
+    <Compile Include="Source\zlib\ZStream.cs" />
+    <Compile Include="Source\zlib\ZStreamException.cs" />
+    <Compile Include="Properties\VersionInfo.cs" />
+    <Compile Include="Source\common\Cache.cs" />
+    <Compile Include="Source\common\MySqlTokenizer.cs" />
+    <Compile Include="Source\common\MyNetworkStream.cs" />
+    <Compile Include="Source\BulkLoader.cs" />
+    <Compile Include="Source\MySqlPacket.cs" />
+    <Compile Include="Source\MySqlScript.cs" />
+    <Compile Include="Source\Types\MySqlGuid.cs" />
+    <Compile Include="Source\ResultSet.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Properties\ReservedWords.txt" />
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <SubType>Designer</SubType>
+      <Generator>PublicResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+    <None Include="Properties\keywords.txt" />
+    <Content Include="Source\docs\MySqlCommand.xml" />
+    <Content Include="Source\docs\MySqlCommandBuilder.xml" />
+    <Content Include="Source\docs\MySqlConnection.xml" />
+    <Content Include="Source\docs\MySqlConnectionStringBuilder.xml" />
+    <Content Include="Source\docs\MySqlDataAdapter.xml" />
+    <Content Include="Source\docs\MySqlDataReader.xml" />
+    <Content Include="Source\docs\MySqlException.xml" />
+    <Content Include="Source\docs\MySqlHelper.xml" />
+    <Content Include="Source\docs\MySqlParameter.xml" />
+    <Content Include="Source\docs\MySqlParameterCollection.xml" />
+    <Content Include="Source\docs\MySqlTransaction.xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <Compile Include="Source\common\LowResolutionStopwatch.cs" />
+    <Compile Include="Source\common\QueryNormalizer.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="Source\MySqlTrace.cs" />
+    <Compile Include="Source\TimedStream.cs" />
+    <Compile Include="Source\TracingDriver.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\CHANGES">
+      <Link>CHANGES</Link>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.VisualBasic.PowerPacks.10.0">
+      <Visible>False</Visible>
+      <ProductName>Microsoft Visual Basic PowerPacks 10.0</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <PropertyGroup>
+    <PreBuildEvent>
+    </PreBuildEvent>
+    <PostBuildEvent>
+    </PostBuildEvent>
+  </PropertyGroup>
+</Project>
\ No newline at end of file

=== modified file 'MySql.Data/Provider/Source/CharSetMap.cs'
--- a/MySql.Data/Provider/Source/CharSetMap.cs	2010-08-18 19:48:34 +0000
+++ b/MySql.Data/Provider/Source/CharSetMap.cs	2010-11-17 20:59:10 +0000
@@ -141,6 +141,7 @@
             mapping.Add("latvian1", new CharacterSet("iso-8859-13", 1));
             mapping.Add("estonia", new CharacterSet("iso-8859-13", 1));
             mapping.Add("dos", new CharacterSet("ibm437", 1));
+            mapping.Add("utf8mb4", new CharacterSet("utf-8", 4));
         }
 
         internal static void InitCollections(MySqlConnection connection)

=== added file 'MySql.Data/Tests/MySql.Data.Tests.VS2010.csproj'
--- a/MySql.Data/Tests/MySql.Data.Tests.VS2010.csproj	1970-01-01 00:00:00 +0000
+++ b/MySql.Data/Tests/MySql.Data.Tests.VS2010.csproj	2010-11-17 19:25:46 +0000
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>MySql.Data.MySqlClient.Tests</RootNamespace>
+    <AssemblyName>MySql.Data.Tests</AssemblyName>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <TargetFrameworkProfile />
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>

+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug-4.0\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;NUNIT</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRules>
+    </CodeAnalysisRules>
+    <RunCodeAnalysis>false</RunCodeAnalysis>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release-4.0\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="nunit.framework" />
+    <Reference Include="System" />
+    <Reference Include="System.Configuration" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Transactions" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\Provider\Properties\VersionInfo.cs">
+      <Link>Properties\VersionInfo.cs</Link>
+    </Compile>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Source\AsyncTests.cs" />
+    <Compile Include="Source\BaseTest.cs" />
+    <Compile Include="Source\BlobTests.cs" />
+    <Compile Include="Source\CharacterSetTests.cs" />
+    <Compile Include="Source\CommandBuilderTests.cs" />
+    <Compile Include="Source\CommandTests.cs" />
+    <Compile Include="Source\ConnectionStringBuilder.cs" />
+    <Compile Include="Source\ConnectionTests.cs" />
+    <Compile Include="Source\BulkLoading.cs" />
+    <Compile Include="Source\SqlServerMode.cs" />
+    <Compile Include="Source\Logging.cs" />
+    <Compile Include="Source\ScriptExecution.cs" />
+    <Compile Include="Source\SqlTokenizer.cs" />
+    <Compile Include="Source\Tokenizer.cs" />
+    <Compile Include="Source\CultureTests.cs" />
+    <Compile Include="Source\DataAdapterTests.cs" />
+    <Compile Include="Source\DataReaderTests.cs" />
+    <Compile Include="Source\DataTypeTests.cs" />
+    <Compile Include="Source\DateTimeTests.cs" />
+    <Compile Include="Source\EventTests.cs" />
+    <Compile Include="Source\ExceptionTests.cs" />
+    <Compile Include="Source\GetSchemaTests.cs" />
+    <Compile Include="Source\InterfaceTests.cs" />
+    <Compile Include="Source\LanguageTests.cs" />
+    <Compile Include="Source\ParameterTests.cs" />
+    <Compile Include="Source\PerfMonTests.cs" />
+    <Compile Include="Source\PoolingTests.cs" />
+    <Compile Include="Source\PreparedStatements.cs" />
+    <Compile Include="Source\ProcedureParameters.cs" />
+    <Compile Include="Source\SimpleTransactions.cs" />
+    <Compile Include="Source\StoredProcedure.cs" />
+    <Compile Include="Source\StressTests.cs" />
+    <Compile Include="Source\Syntax.cs" />
+    <Compile Include="Source\Syntax2.cs" />
+    <Compile Include="Source\Threading.cs" />
+    <Compile Include="Source\TimeoutAndCancel.cs" />
+    <Compile Include="Source\Transactions.cs" />
+    <Compile Include="Source\UsageAdvisor.cs" />
+    <Compile Include="Source\Utils.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Properties\Setup.sql" />
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.VisualBasic.PowerPacks.10.0">
+      <Visible>False</Visible>
+      <ProductName>Microsoft Visual Basic PowerPacks 10.0</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\Provider\MySql.Data.VS2010.csproj">
+      <Project>{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}</Project>
+      <Name>MySql.Data.VS2010</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

=== modified file 'MySql.VisualStudio/MySql.VisualStudio.VS2010.csproj'
--- a/MySql.VisualStudio/MySql.VisualStudio.VS2010.csproj	2010-07-20 19:53:09 +0000
+++ b/MySql.VisualStudio/MySql.VisualStudio.VS2010.csproj	2010-11-17 19:25:46 +0000
@@ -414,9 +414,9 @@
     </BootstrapperPackage>
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\MySql.Data\Provider\MySql.Data.csproj">
+    <ProjectReference Include="..\MySql.Data\Provider\MySql.Data.VS2010.csproj">
       <Project>{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}</Project>
-      <Name>MySql.Data</Name>
+      <Name>MySql.Data.VS2010</Name>
     </ProjectReference>
   </ItemGroup>
   <PropertyGroup>

=== added file 'MySql.Web/Providers/MySql.Web.VS2010.csproj'
--- a/MySql.Web/Providers/MySql.Web.VS2010.csproj	1970-01-01 00:00:00 +0000
+++ b/MySql.Web/Providers/MySql.Web.VS2010.csproj	2010-11-17 19:25:46 +0000
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{C28B1166-1380-445D-AEC1-8A18B990DD18}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>MySql.Web</RootNamespace>
+    <AssemblyName>MySql.Web</AssemblyName>
+    <SignAssembly>false</SignAssembly>
+    <AssemblyOriginatorKeyFile>
+    </AssemblyOriginatorKeyFile>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <TargetFrameworkProfile />
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug-4.0\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <NoWarn>1699</NoWarn>
+    <DocumentationFile>
+    </DocumentationFile>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release-4.0\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <NoWarn>1699</NoWarn>
+    <DocumentationFile>bin\release\webdocs.xml</DocumentationFile>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.configuration" />
+    <Reference Include="System.Configuration.Install" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Management" />
+    <Reference Include="System.Web" />
+    <Reference Include="System.Web.ApplicationServices" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\MySql.Data\Provider\Properties\VersionInfo.cs">
+      <Link>Properties\VersionInfo.cs</Link>
+    </Compile>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+    </Compile>
+    <Compile Include="Source\Application.cs" />
+    <Compile Include="Source\Install.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="Source\ProfileProvider.cs" />
+    <Compile Include="Source\MembershipProvider.cs" />
+    <Compile Include="Source\RoleProvider.cs" />
+    <Compile Include="Source\Runtime.cs" />
+    <Compile Include="Source\SchemaManager.cs" />
+    <Compile Include="Source\SessionProvider.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <SubType>Designer</SubType>
+      <Generator>PublicResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Properties\schema6.sql" />
+    <None Include="Properties\schema1.sql" />
+    <None Include="Properties\schema4.sql" />
+    <None Include="Properties\schema2.sql" />
+    <None Include="Properties\schema3.sql" />
+    <None Include="Properties\schema5.sql" />
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.VisualBasic.PowerPacks.10.0">
+      <Visible>False</Visible>
+      <ProductName>Microsoft Visual Basic PowerPacks 10.0</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\MySql.Data\Provider\MySql.Data.VS2010.csproj">
+      <Project>{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}</Project>
+      <Name>MySql.Data.VS2010</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

=== added file 'MySql.Web/Tests/MySql.Web.Tests.VS2010.csproj'
--- a/MySql.Web/Tests/MySql.Web.Tests.VS2010.csproj	1970-01-01 00:00:00 +0000
+++ b/MySql.Web/Tests/MySql.Web.Tests.VS2010.csproj	2010-11-17 19:25:46 +0000
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{DC704374-EC50-4167-93AA-8D262136502E}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>MySql.Web.Tests</RootNamespace>
+    <AssemblyName>MySql.Web.Tests</AssemblyName>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <TargetFrameworkProfile />
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug-4.0\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release-4.0\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="nunit.framework" />
+    <Reference Include="System" />
+    <Reference Include="System.Configuration" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Web" />
+    <Reference Include="System.Web.ApplicationServices" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\MySql.Data\Provider\Properties\VersionInfo.cs">
+      <Link>Properties\VersionInfo.cs</Link>
+    </Compile>
+    <Compile Include="BaseTest.cs" />
+    <Compile Include="ProfileTests.cs" />
+    <Compile Include="RoleManagement.cs" />
+    <Compile Include="SchemaTests.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="TestProfile.cs" />
+    <Compile Include="UserManagement.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.VisualBasic.PowerPacks.10.0">
+      <Visible>False</Visible>
+      <ProductName>Microsoft Visual Basic PowerPacks 10.0</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\MySql.Data\Provider\MySql.Data.VS2010.csproj">
+      <Project>{E9DF5ED1-4CBD-4226-B931-9A51610AC14D}</Project>
+      <Name>MySql.Data.VS2010</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\MySql.Data\Tests\MySql.Data.Tests.VS2010.csproj">
+      <Project>{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}</Project>
+      <Name>MySql.Data.Tests.VS2010</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\Providers\MySql.Web.VS2010.csproj">
+      <Project>{C28B1166-1380-445D-AEC1-8A18B990DD18}</Project>
+      <Name>MySql.Web.VS2010</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Attachment: [text/bzr-bundle] bzr/reggie.burnett@oracle.com-20101117210902-mowsfms2wdbpi4oi.bundle
Thread
bzr commit into connector-net-trunk branch (reggie.burnett:942) Reggie Burnett17 Nov