xuechun 5 years ago
parent
commit
4bd23a30c0
100 changed files with 21207 additions and 0 deletions
  1. 17 0
      HOWTOBUILD.txt
  2. 81 0
      Migrator-vs2008.sln
  3. 81 0
      Migrator-vs2010.sln
  4. 81 0
      Migrator.sln
  5. 2 0
      build.bat
  6. 61 0
      contrib/Migrator.Web/Default.aspx
  7. 133 0
      contrib/Migrator.Web/Default.aspx.cs
  8. 3 0
      contrib/Migrator.Web/Global.asax
  9. 79 0
      contrib/Migrator.Web/Global.asax.cs
  10. 56 0
      contrib/Migrator.Web/Migrator.Web.csproj
  11. 104 0
      contrib/Migrator.Web/Web.config
  12. 6 0
      contrib/README.txt
  13. 2 0
      contrib/build.bat
  14. 115 0
      contrib/default.build
  15. 263 0
      default.build
  16. 77 0
      doc/CHANGES.txt
  17. 99 0
      doc/README.txt
  18. 13 0
      doc/TODO.txt
  19. 57 0
      doc/example/example-msbuild.proj
  20. 32 0
      doc/example/example-nant.build
  21. 21 0
      doc/example/migrations/001_AddAddressTable.cs
  22. 18 0
      doc/example/migrations/002_AddAddressColumns.cs
  23. 21 0
      doc/example/migrations/003_AddPersonTable.cs
  24. BIN
      doc/extras/VS.NET Template/Migration.zip
  25. 2 0
      doc/extras/VS.NET Template/README.txt
  26. BIN
      lib/Mono.Data.Sqlite.dll
  27. BIN
      lib/MySql.Data.dll
  28. BIN
      lib/NAnt.Core.dll
  29. BIN
      lib/NCover/CoverLib.dll
  30. 339 0
      lib/NCover/Coverage.xsl
  31. 287 0
      lib/NCover/Explorer/ActiproEULA.html
  32. BIN
      lib/NCover/Explorer/ActiproSoftware.Shared.Net11.dll
  33. BIN
      lib/NCover/Explorer/ActiproSoftware.SyntaxEditor.Net11.dll
  34. BIN
      lib/NCover/Explorer/ActiproSoftware.WinUICore.Net11.dll
  35. BIN
      lib/NCover/Explorer/CommandBars.dll
  36. 123 0
      lib/NCover/Explorer/ConsoleConfig.xsd
  37. 94 0
      lib/NCover/Explorer/ConsoleExample.config
  38. 468 0
      lib/NCover/Explorer/CoverageReport.xsl
  39. 334 0
      lib/NCover/Explorer/LicencePersonal.rtf
  40. BIN
      lib/NCover/Explorer/NCoverExplorer.Console.exe
  41. BIN
      lib/NCover/Explorer/NCoverExplorer.Core.dll
  42. BIN
      lib/NCover/Explorer/NCoverExplorer.NAntTasks.dll
  43. BIN
      lib/NCover/Explorer/NCoverExplorer.NCoverRunner.dll
  44. BIN
      lib/NCover/Explorer/NCoverExplorer.WinForms.dll
  45. BIN
      lib/NCover/Explorer/NCoverExplorer.exe
  46. 8 0
      lib/NCover/Explorer/NCoverExplorer.exe.config
  47. 303 0
      lib/NCover/Explorer/NCoverExplorerFAQ.html
  48. 874 0
      lib/NCover/Explorer/NCoverExplorerReleaseNotes.html
  49. BIN
      lib/NCover/MSVCP80.dll
  50. BIN
      lib/NCover/MSVCR80.dll
  51. 8 0
      lib/NCover/Microsoft.VC80.CRT.manifest
  52. BIN
      lib/NCover/NCover.Console.exe
  53. 6 0
      lib/NCover/NCover.Console.exe.config
  54. BIN
      lib/NCover/NCover.Framework.dll
  55. BIN
      lib/NCover/NCoverExplorer.MSBuildTasks.dll
  56. 1092 0
      lib/NCover/NCoverExplorer.MSBuildTasks.xml
  57. 429 0
      lib/NCover/NCoverFAQ.html
  58. 84 0
      lib/NUnit/NUnitTests.config
  59. 14 0
      lib/NUnit/NUnitTests.nunit
  60. BIN
      lib/NUnit/log4net.dll
  61. BIN
      lib/NUnit/nunit-console-runner.dll
  62. BIN
      lib/NUnit/nunit-console.exe
  63. 159 0
      lib/NUnit/nunit-console.exe.config
  64. BIN
      lib/NUnit/nunit-gui-runner.dll
  65. BIN
      lib/NUnit/nunit-x86.exe
  66. 173 0
      lib/NUnit/nunit-x86.exe.config
  67. BIN
      lib/NUnit/nunit.core.dll
  68. BIN
      lib/NUnit/nunit.core.extensions.dll
  69. BIN
      lib/NUnit/nunit.core.interfaces.dll
  70. BIN
      lib/NUnit/nunit.exe
  71. 173 0
      lib/NUnit/nunit.exe.config
  72. BIN
      lib/NUnit/nunit.fixtures.dll
  73. BIN
      lib/NUnit/nunit.framework.dll
  74. BIN
      lib/NUnit/nunit.framework.extensions.dll
  75. 5614 0
      lib/NUnit/nunit.framework.xml
  76. BIN
      lib/NUnit/nunit.mocks.dll
  77. BIN
      lib/NUnit/nunit.uikit.dll
  78. BIN
      lib/NUnit/nunit.util.dll
  79. 505 0
      lib/Npgsql/LICENSE.txt
  80. BIN
      lib/Npgsql/mono-1.0/Npgsql.dll
  81. BIN
      lib/Npgsql/mono-2.0/Npgsql.dll
  82. 25 0
      lib/Npgsql/net-1.1/Mono.Security.Protocol.Tls.license
  83. BIN
      lib/Npgsql/net-1.1/Mono.Security.dll
  84. BIN
      lib/Npgsql/net-1.1/Npgsql.dll
  85. 2873 0
      lib/Npgsql/net-1.1/Npgsql.xml
  86. 25 0
      lib/Npgsql/net-2.0/Mono.Security.Protocol.Tls.license
  87. BIN
      lib/Npgsql/net-2.0/Mono.Security.dll
  88. BIN
      lib/Npgsql/net-2.0/Npgsql.dll
  89. 2874 0
      lib/Npgsql/net-2.0/Npgsql.xml
  90. 25 0
      lib/Npgsql/net-3.5/Mono.Security.Protocol.Tls.license
  91. BIN
      lib/Npgsql/net-3.5/Mono.Security.dll
  92. BIN
      lib/Npgsql/net-3.5/Npgsql.dll
  93. 2874 0
      lib/Npgsql/net-3.5/Npgsql.xml
  94. BIN
      lib/Oracle.DataAccess.dll
  95. BIN
      lib/System.Data.SQLite.DLL
  96. BIN
      lib/System.Data.SqlServerCe.dll
  97. BIN
      lib/log4net.dll
  98. BIN
      lib/nant/CollectionGen.dll
  99. BIN
      lib/nant/Interop.MsmMergeTypeLib.dll
  100. BIN
      lib/nant/Interop.StarTeam.dll

+ 17 - 0
HOWTOBUILD.txt

@@ -0,0 +1,17 @@
+To build the project simply run the build.bat file in this folder like so:
+
+c:\> build
+
+This will run the nant build in default configuration. You can pass a target to the build.bat to run a specific
+target in the default.build file.
+
+To zip the project into a zip file run build passing a zip argument like so:
+
+c:\> build zip
+
+To override any of the build properties copy local.properties-exmple to local.properties and override any of the
+property values in the default.build.
+
+If you have any questions please go to the migrator google group located at:
+
+http://groups.google.com/group/migratordotnet-devel

+ 81 - 0
Migrator-vs2008.sln

@@ -0,0 +1,81 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Runners", "Runners", "{1CC77E58-4B1E-4D3F-86EA-5078883434FC}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{9844714F-717A-4C16-97A9-9995BB1B4A8B}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{8FF5F3DF-DF83-470C-ADFE-C0FF2B858F0F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extras", "Extras", "{02B014BC-CC35-466F-A2F4-C5B5AC830653}"
+	ProjectSection(SolutionItems) = preProject
+		doc\CHANGES.txt = doc\CHANGES.txt
+		default.build = default.build
+		local.properties-example = local.properties-example
+		src\MigratorDotNet.snk = src\MigratorDotNet.snk
+		doc\README.txt = doc\README.txt
+		doc\TODO.txt = doc\TODO.txt
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator-vs2008", "src\Migrator\Migrator-vs2008.csproj", "{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.Framework-vs2008", "src\Migrator.Framework\Migrator.Framework-vs2008.csproj", "{5270F048-E580-486C-B14C-E5B9F6E539D4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.Providers-vs2008", "src\Migrator.Providers\Migrator.Providers-vs2008.csproj", "{D58C68E4-D789-40F7-9078-C9F587D4363C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.Console-vs2008", "src\Migrator.Console\Migrator.Console-vs2008.csproj", "{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.MSBuild-vs2008", "src\Migrator.MSBuild\Migrator.MSBuild-vs2008.csproj", "{A145FFA9-5FE6-4636-93B8-0C110D132BF3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.NAnt-vs2008", "src\Migrator.NAnt\Migrator.NAnt-vs2008.csproj", "{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.Tests-vs2008", "src\Migrator.Tests\Migrator.Tests-vs2008.csproj", "{882B6A93-67B8-45BF-8636-5796B1B1CBF8}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{5270F048-E580-486C-B14C-E5B9F6E539D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{5270F048-E580-486C-B14C-E5B9F6E539D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{5270F048-E580-486C-B14C-E5B9F6E539D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{5270F048-E580-486C-B14C-E5B9F6E539D4}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D58C68E4-D789-40F7-9078-C9F587D4363C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D58C68E4-D789-40F7-9078-C9F587D4363C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D58C68E4-D789-40F7-9078-C9F587D4363C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D58C68E4-D789-40F7-9078-C9F587D4363C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A145FFA9-5FE6-4636-93B8-0C110D132BF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A145FFA9-5FE6-4636-93B8-0C110D132BF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A145FFA9-5FE6-4636-93B8-0C110D132BF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A145FFA9-5FE6-4636-93B8-0C110D132BF3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101}.Release|Any CPU.Build.0 = Release|Any CPU
+		{882B6A93-67B8-45BF-8636-5796B1B1CBF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{882B6A93-67B8-45BF-8636-5796B1B1CBF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{882B6A93-67B8-45BF-8636-5796B1B1CBF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{882B6A93-67B8-45BF-8636-5796B1B1CBF8}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(NestedProjects) = preSolution
+		{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31} = {1CC77E58-4B1E-4D3F-86EA-5078883434FC}
+		{A145FFA9-5FE6-4636-93B8-0C110D132BF3} = {1CC77E58-4B1E-4D3F-86EA-5078883434FC}
+		{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101} = {1CC77E58-4B1E-4D3F-86EA-5078883434FC}
+		{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D} = {9844714F-717A-4C16-97A9-9995BB1B4A8B}
+		{5270F048-E580-486C-B14C-E5B9F6E539D4} = {9844714F-717A-4C16-97A9-9995BB1B4A8B}
+		{D58C68E4-D789-40F7-9078-C9F587D4363C} = {9844714F-717A-4C16-97A9-9995BB1B4A8B}
+		{882B6A93-67B8-45BF-8636-5796B1B1CBF8} = {8FF5F3DF-DF83-470C-ADFE-C0FF2B858F0F}
+	EndGlobalSection
+EndGlobal

+ 81 - 0
Migrator-vs2010.sln

@@ -0,0 +1,81 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Runners", "Runners", "{1CC77E58-4B1E-4D3F-86EA-5078883434FC}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{9844714F-717A-4C16-97A9-9995BB1B4A8B}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{8FF5F3DF-DF83-470C-ADFE-C0FF2B858F0F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extras", "Extras", "{02B014BC-CC35-466F-A2F4-C5B5AC830653}"
+	ProjectSection(SolutionItems) = preProject
+		doc\CHANGES.txt = doc\CHANGES.txt
+		default.build = default.build
+		local.properties-example = local.properties-example
+		src\MigratorDotNet.snk = src\MigratorDotNet.snk
+		doc\README.txt = doc\README.txt
+		doc\TODO.txt = doc\TODO.txt
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator-vs2010", "src\Migrator\Migrator-vs2010.csproj", "{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.Framework-vs2010", "src\Migrator.Framework\Migrator.Framework-vs2010.csproj", "{5270F048-E580-486C-B14C-E5B9F6E539D4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.Providers-vs2010", "src\Migrator.Providers\Migrator.Providers-vs2010.csproj", "{D58C68E4-D789-40F7-9078-C9F587D4363C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.Console-vs2010", "src\Migrator.Console\Migrator.Console-vs2010.csproj", "{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.MSBuild-vs2010", "src\Migrator.MSBuild\Migrator.MSBuild-vs2010.csproj", "{A145FFA9-5FE6-4636-93B8-0C110D132BF3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.NAnt-vs2010", "src\Migrator.NAnt\Migrator.NAnt-vs2010.csproj", "{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.Tests-vs2010", "src\Migrator.Tests\Migrator.Tests-vs2010.csproj", "{882B6A93-67B8-45BF-8636-5796B1B1CBF8}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{5270F048-E580-486C-B14C-E5B9F6E539D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{5270F048-E580-486C-B14C-E5B9F6E539D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{5270F048-E580-486C-B14C-E5B9F6E539D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{5270F048-E580-486C-B14C-E5B9F6E539D4}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D58C68E4-D789-40F7-9078-C9F587D4363C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D58C68E4-D789-40F7-9078-C9F587D4363C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D58C68E4-D789-40F7-9078-C9F587D4363C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D58C68E4-D789-40F7-9078-C9F587D4363C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A145FFA9-5FE6-4636-93B8-0C110D132BF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A145FFA9-5FE6-4636-93B8-0C110D132BF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A145FFA9-5FE6-4636-93B8-0C110D132BF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A145FFA9-5FE6-4636-93B8-0C110D132BF3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101}.Release|Any CPU.Build.0 = Release|Any CPU
+		{882B6A93-67B8-45BF-8636-5796B1B1CBF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{882B6A93-67B8-45BF-8636-5796B1B1CBF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{882B6A93-67B8-45BF-8636-5796B1B1CBF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{882B6A93-67B8-45BF-8636-5796B1B1CBF8}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(NestedProjects) = preSolution
+		{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31} = {1CC77E58-4B1E-4D3F-86EA-5078883434FC}
+		{A145FFA9-5FE6-4636-93B8-0C110D132BF3} = {1CC77E58-4B1E-4D3F-86EA-5078883434FC}
+		{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101} = {1CC77E58-4B1E-4D3F-86EA-5078883434FC}
+		{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D} = {9844714F-717A-4C16-97A9-9995BB1B4A8B}
+		{5270F048-E580-486C-B14C-E5B9F6E539D4} = {9844714F-717A-4C16-97A9-9995BB1B4A8B}
+		{D58C68E4-D789-40F7-9078-C9F587D4363C} = {9844714F-717A-4C16-97A9-9995BB1B4A8B}
+		{882B6A93-67B8-45BF-8636-5796B1B1CBF8} = {8FF5F3DF-DF83-470C-ADFE-C0FF2B858F0F}
+	EndGlobalSection
+EndGlobal

+ 81 - 0
Migrator.sln

@@ -0,0 +1,81 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Runners", "Runners", "{1CC77E58-4B1E-4D3F-86EA-5078883434FC}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{9844714F-717A-4C16-97A9-9995BB1B4A8B}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{8FF5F3DF-DF83-470C-ADFE-C0FF2B858F0F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extras", "Extras", "{02B014BC-CC35-466F-A2F4-C5B5AC830653}"
+	ProjectSection(SolutionItems) = preProject
+		doc\CHANGES.txt = doc\CHANGES.txt
+		default.build = default.build
+		local.properties-example = local.properties-example
+		src\MigratorDotNet.snk = src\MigratorDotNet.snk
+		doc\README.txt = doc\README.txt
+		doc\TODO.txt = doc\TODO.txt
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator-vs2010", "src\Migrator\Migrator-vs2010.csproj", "{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.Framework-vs2010", "src\Migrator.Framework\Migrator.Framework-vs2010.csproj", "{5270F048-E580-486C-B14C-E5B9F6E539D4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.Providers-vs2010", "src\Migrator.Providers\Migrator.Providers-vs2010.csproj", "{D58C68E4-D789-40F7-9078-C9F587D4363C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.Console-vs2010", "src\Migrator.Console\Migrator.Console-vs2010.csproj", "{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.MSBuild-vs2010", "src\Migrator.MSBuild\Migrator.MSBuild-vs2010.csproj", "{A145FFA9-5FE6-4636-93B8-0C110D132BF3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.NAnt-vs2010", "src\Migrator.NAnt\Migrator.NAnt-vs2010.csproj", "{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Migrator.Tests-vs2010", "src\Migrator.Tests\Migrator.Tests-vs2010.csproj", "{882B6A93-67B8-45BF-8636-5796B1B1CBF8}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{5270F048-E580-486C-B14C-E5B9F6E539D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{5270F048-E580-486C-B14C-E5B9F6E539D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{5270F048-E580-486C-B14C-E5B9F6E539D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{5270F048-E580-486C-B14C-E5B9F6E539D4}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D58C68E4-D789-40F7-9078-C9F587D4363C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D58C68E4-D789-40F7-9078-C9F587D4363C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D58C68E4-D789-40F7-9078-C9F587D4363C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D58C68E4-D789-40F7-9078-C9F587D4363C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A145FFA9-5FE6-4636-93B8-0C110D132BF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A145FFA9-5FE6-4636-93B8-0C110D132BF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A145FFA9-5FE6-4636-93B8-0C110D132BF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A145FFA9-5FE6-4636-93B8-0C110D132BF3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101}.Release|Any CPU.Build.0 = Release|Any CPU
+		{882B6A93-67B8-45BF-8636-5796B1B1CBF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{882B6A93-67B8-45BF-8636-5796B1B1CBF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{882B6A93-67B8-45BF-8636-5796B1B1CBF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{882B6A93-67B8-45BF-8636-5796B1B1CBF8}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(NestedProjects) = preSolution
+		{FBE3A83A-D0F8-4D72-AF8D-9EF772569A31} = {1CC77E58-4B1E-4D3F-86EA-5078883434FC}
+		{A145FFA9-5FE6-4636-93B8-0C110D132BF3} = {1CC77E58-4B1E-4D3F-86EA-5078883434FC}
+		{CDD39DB7-C9C0-4ECA-AD36-1B4D0BF59101} = {1CC77E58-4B1E-4D3F-86EA-5078883434FC}
+		{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D} = {9844714F-717A-4C16-97A9-9995BB1B4A8B}
+		{5270F048-E580-486C-B14C-E5B9F6E539D4} = {9844714F-717A-4C16-97A9-9995BB1B4A8B}
+		{D58C68E4-D789-40F7-9078-C9F587D4363C} = {9844714F-717A-4C16-97A9-9995BB1B4A8B}
+		{882B6A93-67B8-45BF-8636-5796B1B1CBF8} = {8FF5F3DF-DF83-470C-ADFE-C0FF2B858F0F}
+	EndGlobalSection
+EndGlobal

+ 2 - 0
build.bat

@@ -0,0 +1,2 @@
+@lib\nant\nant.exe -buildfile:default.build %*
+pause

+ 61 - 0
contrib/Migrator.Web/Default.aspx

@@ -0,0 +1,61 @@
+<%@ Page
+	Language           = "C#"
+	AutoEventWireup    = "false"
+	Inherits           = "Migrator.Web.Default"
+	ValidateRequest    = "false"
+	EnableSessionState = "false"
+%>
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>Migrator.Web</title>
+
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta http-equiv="CACHE-CONTROL" content="NO-CACHE" />
+		<meta http-equiv="PRAGMA" content="NO-CACHE" />
+
+		<link href="Migrator.Web.css" type="text/css" rel="stylesheet" />
+		
+	</head>
+	<body>
+		<form id="Form1" method="post" runat="server">
+		<!-- Site Code goes here! -->
+			<table class="feature">
+
+				<tr>
+					<th colspan="2">
+						Run Migration
+					</th>
+				</tr
+
+				<tr>
+					<td>
+						Current Database Latest Version:
+					</td>
+					<td>
+						<asp:Label id="_LatestVersion" runat="server" />
+					</td>
+				</tr>
+
+				<tr>
+					<td>
+						Migrate To:
+					</td>
+					<td>
+						<asp:DropDownList id="_availableVersions" runat="server" />
+					</td>
+				</tr>
+
+				<tr>
+					<td colspan="2">
+						<asp:Button id="_runMigration" text="Run Migration" runat="server" />
+					</td>
+				</tr>
+
+			</table>
+
+		</form>
+	</body>
+</html>

+ 133 - 0
contrib/Migrator.Web/Default.aspx.cs

@@ -0,0 +1,133 @@
+using System;
+using System.Configuration;
+using System.Collections;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Reflection;
+using System.Web;
+using System.Web.SessionState;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using System.Web.UI.HtmlControls;
+using Migrator.Framework;
+
+namespace Migrator.Web
+{
+	/// <summary>
+	/// Web form that can be used to run migrations in a web project.
+    /// It's recommended that you have some security in place.
+	/// </summary>
+	public class Default : Page
+	{	
+
+		protected Label _LatestVersion;
+		protected DropDownList _availableVersions;
+		protected Button _runMigration;
+
+		protected void PageInit(object sender, EventArgs e)
+		{
+		}
+
+		protected void PageExit(object sender, EventArgs e)
+		{
+		}
+
+
+		private void Page_Load(object sender, EventArgs e)
+		{
+			if(!IsPostBack)
+			{
+				this.BindForm();
+			}
+		}
+		
+		private void RunMigration(object sender, EventArgs e)
+		{
+			Migrator mig = GetMigrator();
+			mig.MigrateTo(int.Parse(this._availableVersions.SelectedValue));
+			this.BindForm();
+		}
+		
+		
+		protected override void OnInit(EventArgs e)
+		{
+			InitializeComponent();
+			base.OnInit(e);
+		}
+
+		private void InitializeComponent()
+		{
+			this.Load	+= new System.EventHandler(Page_Load);
+			this.Init   += new System.EventHandler(PageInit);
+			this.Unload += new System.EventHandler(PageExit);
+			
+			this._runMigration.Click += new EventHandler(RunMigration);
+		}
+		
+		private void BindForm(){
+			Migrator mig = GetMigrator();
+			List<long> appliedMigrations = mig.AppliedMigrations;
+			long latestMigration = 0;
+			if(appliedMigrations.Count > 0) {
+				latestMigration = appliedMigrations[appliedMigrations.Count - 1];
+			} 
+			this._LatestVersion.Text = latestMigration.ToString();
+			
+			List<MigrationInfo> availableMigrations = GetMigrationsList(mig);
+			this._availableVersions.DataSource = availableMigrations;
+			this._availableVersions.DataValueField = "ID";
+			this._availableVersions.DataTextField = "ClassName";
+			this._availableVersions.DataBind();
+		}
+		
+		private Migrator GetMigrator()
+		{
+			Assembly asm = Assembly.LoadFrom(ConfigurationManager.AppSettings["MigrationAsembly"]);
+			string provider = ConfigurationManager.AppSettings["MigrationProvider"];
+			string connectString = ConfigurationManager.AppSettings["ConnectionString"];
+			
+			Migrator migrator = new Migrator(provider, connectString, asm, false);
+			return migrator;
+		}
+		
+		private List<MigrationInfo> GetMigrationsList(Migrator mig)
+        {
+			List<System.Type> migrations = mig.MigrationsTypes;
+			migrations.Reverse();
+			List<MigrationInfo> list = new List<MigrationInfo>();
+			List<System.Type>.Enumerator en = migrations.GetEnumerator();
+			while(en.MoveNext()){
+				MigrationInfo info = new MigrationInfo(en.Current);
+				list.Add(info);
+			}
+			return list;
+		}
+		
+		public class MigrationInfo
+		{
+			private Type _type;
+			
+			public MigrationInfo(Type type)
+			{
+				this._type = type;
+			}
+			
+			public Type MigrationType
+			{
+				get{ return _type; }
+			}
+			
+			public long ID
+			{
+				get{ return MigrationLoader.GetMigrationVersion(_type); }
+			}
+			
+			public string ClassName
+			{
+				get{ return _type.ToString() + " (" + ID + ")"; }
+			}
+		}
+	}
+}

+ 3 - 0
contrib/Migrator.Web/Global.asax

@@ -0,0 +1,3 @@
+<%@ Application Codebehind="Global.cs"
+	Inherits="Migrator.Web.Global"
+%>

+ 79 - 0
contrib/Migrator.Web/Global.asax.cs

@@ -0,0 +1,79 @@
+
+using System;
+using System.Collections;
+using System.ComponentModel;
+using System.Web;
+using System.Web.SessionState;
+
+namespace Migrator.Web
+{
+	/// <summary>
+	/// Summary description for Global.
+	/// </summary>
+	public class Global : HttpApplication
+	{
+		#region global
+		/// <summary>
+		/// Required designer variable.
+		/// </summary>
+		//private System.ComponentModel.IContainer components = null;
+
+		public Global()
+		{
+			InitializeComponent();
+		}
+
+		#endregion
+
+		protected void Application_Start(Object sender, EventArgs e)
+		{
+
+		}
+
+		protected void Session_Start(Object sender, EventArgs e)
+		{
+
+		}
+
+		protected void Application_BeginRequest(Object sender, EventArgs e)
+		{
+
+		}
+
+		protected void Application_EndRequest(Object sender, EventArgs e)
+		{
+
+		}
+
+		protected void Application_AuthenticateRequest(Object sender, EventArgs e)
+		{
+
+		}
+
+		protected void Application_Error(Object sender, EventArgs e)
+		{
+
+		}
+
+		protected void Session_End(Object sender, EventArgs e)
+		{
+
+		}
+
+		protected void Application_End(Object sender, EventArgs e)
+		{
+
+		}
+
+		#region Web Form Designer generated code
+		/// <summary>
+		/// Required method for Designer support - do not modify
+		/// the contents of this method with the code editor.
+		/// </summary>
+		private void InitializeComponent()
+		{
+
+		}
+		#endregion
+	}
+}

+ 56 - 0
contrib/Migrator.Web/Migrator.Web.csproj

@@ -0,0 +1,56 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <ProjectGuid>{25EE0010-081D-423F-AEE5-5B83ED235609}</ProjectGuid>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <OutputType>Library</OutputType>
+    <RootNamespace>Migrator.Web</RootNamespace>
+    <AssemblyName>Migrator.Web</AssemblyName>
+    <OutputPath>bin\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
+    <DebugSymbols>True</DebugSymbols>
+    <DebugType>Full</DebugType>
+    <Optimize>False</Optimize>
+    <CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
+    <DebugSymbols>False</DebugSymbols>
+    <DebugType>None</DebugType>
+    <Optimize>True</Optimize>
+    <CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
+    <DefineConstants>TRACE</DefineConstants>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Configuration" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Web" />
+    <Reference Include="System.Web.Services" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Default.aspx.cs">
+      <DependentUpon>Default.aspx</DependentUpon>
+    </Compile>
+    <Compile Include="Global.asax.cs">
+      <DependentUpon>Global.asax</DependentUpon>
+    </Compile>
+    <None Include="Default.aspx" />
+    <None Include="Global.asax" />
+    <None Include="Web.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\src\Migrator.Framework\Migrator.Framework.csproj">
+      <Project>{5270F048-E580-486C-B14C-E5B9F6E539D4}</Project>
+      <Name>Migrator.Framework</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\src\Migrator\Migrator.csproj">
+      <Project>{1FEE70A4-AAD7-4C60-BE60-3F7DC03A8C4D}</Project>
+      <Name>Migrator</Name>
+    </ProjectReference>
+  </ItemGroup>
+</Project>

+ 104 - 0
contrib/Migrator.Web/Web.config

@@ -0,0 +1,104 @@
+<configuration>
+
+  <system.web>
+
+    <!--  DYNAMIC DEBUG COMPILATION
+          Set compilation debug="true" to enable ASPX debugging.  Otherwise, setting this value to
+          false will improve runtime performance of this application.
+          Set compilation debug="true" to insert debugging symbols (.pdb information)
+          into the compiled page. Because this creates a larger file that executes
+          more slowly, you should set this value to true only when debugging and to
+          false at all other times. For more information, refer to the documentation about
+          debugging ASP.NET files.
+    -->
+    <compilation
+         defaultLanguage="c#"
+         debug="true"
+    />
+
+    <!--  CUSTOM ERROR MESSAGES
+          Set customErrors mode="On" or "RemoteOnly" to enable custom error messages, "Off" to disable.
+          Add <error> tags for each of the errors you want to handle.
+
+          "On" Always display custom (friendly) messages.
+          "Off" Always display detailed ASP.NET error information.
+          "RemoteOnly" Display custom (friendly) messages only to users not running
+           on the local Web server. This setting is recommended for security purposes, so
+           that you do not display application detail information to remote clients.
+    -->
+    <customErrors mode="RemoteOnly" />
+
+    <!--  AUTHENTICATION
+          This section sets the authentication policies of the application. Possible modes are "Windows",
+          "Forms", "Passport" and "None"
+
+          "None" No authentication is performed.
+          "Windows" IIS performs authentication (Basic, Digest, or Integrated Windows) according to
+           its settings for the application. Anonymous access must be disabled in IIS.
+          "Forms" You provide a custom form (Web page) for users to enter their credentials, and then
+           you authenticate them in your application. A user credential token is stored in a cookie.
+          "Passport" Authentication is performed via a centralized authentication service provided
+           by Microsoft that offers a single logon and core profile services for member sites.
+    -->
+    <authentication mode="None" />
+
+	<!--  AUTHORIZATION
+          This section sets the authorization policies of the application. You can allow or deny access
+          to application resources by user or role. Wildcards: "*" mean everyone, "?" means anonymous
+          (unauthenticated) users.
+    -->
+
+    <authorization>
+        <allow users="*" /> <!-- Allow all users -->
+            <!--  <allow     users="[comma separated list of users]"
+                             roles="[comma separated list of roles]"/>
+                  <deny      users="[comma separated list of users]"
+                             roles="[comma separated list of roles]"/>
+            -->
+    </authorization>
+
+    <!--  APPLICATION-LEVEL TRACE LOGGING
+          Application-level tracing enables trace log output for every page within an application.
+          Set trace enabled="true" to enable application trace logging.  If pageOutput="true", the
+          trace information will be displayed at the bottom of each page.  Otherwise, you can view the
+          application trace log by browsing the "trace.axd" page from your web application
+          root.
+    -->
+    <trace
+        enabled="false"
+        requestLimit="10"
+        pageOutput="false"
+        traceMode="SortByTime"
+		localOnly="true"
+    />
+
+    <!--  SESSION STATE SETTINGS
+          By default ASP.NET uses cookies to identify which requests belong to a particular session.
+          If cookies are not available, a session can be tracked by adding a session identifier to the URL.
+          To disable cookies, set sessionState cookieless="true".
+    -->
+    <sessionState
+            mode="InProc"
+            timeout="20"
+    />
+
+    <!--  GLOBALIZATION
+          This section sets the globalization settings of the application.
+    -->
+    <globalization
+            requestEncoding="utf-8"
+            responseEncoding="utf-8"
+   />
+
+ </system.web>
+ 
+ 	<appSettings>
+ 
+ 		<add key="ConnectionString" value="SERVER=localhost;Database=test;User ID=test;Password=test;" />
+		<add key="MigrationProvider" value="MySQL" />
+		<add key="MigrationAsembly" value="F:\sandbox\migratortest\MigrationTest\bin\Debug\MigrationTest.dll" />
+
+	</appSettings>
+
+</configuration>
+

+ 6 - 0
contrib/README.txt

@@ -0,0 +1,6 @@
+= Migrator DotNet Contrib
+Projects and pieces contributed to Migrator DotNet that are outside of the core concepts or usecases.
+Still interesting and might be useful.
+
+If they're useful enough, tell us to roll them into the core!
+

+ 2 - 0
contrib/build.bat

@@ -0,0 +1,2 @@
+@..\lib\nant\nant.exe -buildfile:default.build %*
+pause

+ 115 - 0
contrib/default.build

@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<project name="migratori-contrib" default="build" xmlns="http://nant.sf.net/release/0.85/nant.xsd">
+	<property name="version" value="0.8"/>
+	
+	<property name="defines" value="DOTNET2" if="${framework::get-target-framework() == 'net-2.0' or framework::get-target-framework() == 'net-3.5'}" />
+	<property name="defines" value="MONO2" if="${framework::get-target-framework() == 'mono-2.0'}" />
+	<property name="debug" value="true" />
+	
+	<!-- Paths to various parts of the build -->
+	<property name="dir.bin" value="build" />
+	<property name="dir.zip" value="${dir.bin}/zip" />
+	<property name="dir.src" value="."/>
+	<property name="dir.config" value="${dir.src}/config" />
+	<property name="dir.websrc" value="Migrator.Web" />
+	<property name="dir.web" value="build/web" />
+	<property name="dir.webbin" value="${dir.web}/bin" />
+	
+	<property name="dir.migrator" value="../build" />
+	<property name="dir.lib" value="../lib" />
+	<property name="dir.tools.ncover" value="${dir.lib}/NCover" />
+	<property name="dir.tools.nunit" value="${dir.lib}/NUnit" />
+	<property name="dir.lib.postgre" value="${dir.lib}/Npgsql/${framework::get-target-framework()}" />
+	
+	
+	<!-- Test related properties -->
+	<!-- To exclude tests, provide a comma separated set of exclude categories in your local.properties e.g. Oracle,SqlServer,Postgre -->
+	<property name="tests.exclude" value=""/>
+	<property name="tests.app.config" value="${dir.config}/app.config"/>
+	
+	<!-- Overrideable. Add your own values to a file called local.properties to have them override any above properties -->
+	<include buildfile="local.properties" failonerror="false"/>
+	
+	<!-- load the NCover NAnt tasks -->
+	<loadtasks assembly="${dir.tools.ncover}/Explorer/NCoverExplorer.NAntTasks.dll" />
+	
+	<target name="build" description="Builds all contribs" depends="prepare, build-migrator-web"/>
+
+
+	<target name="build-migrator-web" description="Builds Migrator.Web">		
+		<csc target="library" output="${dir.webbin}/Migrator.Web.dll" define="${defines}" debug="${debug}">
+			<sources>
+				<include name="${dir.config}/AssemblyInfo.cs" />
+				<include name="${dir.websrc}/**/*.cs" />
+			</sources>
+			<references>
+				<include name="System.dll" />
+				<include name="${dir.migrator}/Migrator.Framework.dll" />
+				<include name="${dir.migrator}/Migrator.dll" />
+				<include name="${dir.migrator}/Migrator.Providers.dll" />
+			</references>
+		</csc>
+		<copy todir="${dir.web}">
+			<fileset basedir="${dir.websrc}">
+				<include name="**/*.aspx"/>
+				<include name="**/*.config"/>
+			</fileset>
+		</copy>
+		<copy todir="${dir.webbin}">
+			<fileset basedir="${dir.migrator}">
+				<include name="Migrator*.dll"/>
+				<exclude name="*Test*"/>
+			</fileset>
+		</copy>
+	</target>
+	
+	<target name="rebuild" description="Rebuilds the app from scratch" depends="clean, build" />
+	
+	<target name="prepare">
+		<mkdir dir="${dir.webbin}" />
+
+		<fileset id="SharedLibs">
+			<include name="${dir.lib}/NAnt.Core.dll" />
+			<include name="${dir.lib}/log4net.dll" />
+			<include name="${dir.lib}/MySql.Data.dll" />
+			<include name="${dir.lib}/System.Data.SQLite.DLL" />
+			<include name="${dir.lib.postgre}/Npgsql.dll" />
+			<include name="${dir.lib.postgre}/Mono.Security.dll" />
+			<include name="${dir.lib}/Oracle.DataAccess.dll" />
+			<include name="${dir.lib}/System.Data.SqlServerCe.dll" />
+		</fileset>
+		<copy todir="${dir.webbin}" flatten="true">
+			<fileset refid="SharedLibs"/>
+		</copy>
+	</target>
+	
+	<target name="clean" description="Sweep it yeah!">
+		<delete dir="${dir.bin}"/>
+		<delete dir="${dir.results}"/>
+	</target>
+	
+	<target name="zip" description="Creates a zip file of each contrib including examples, source and docs" depends="build">
+		<mkdir dir="${dir.zip}" />
+		
+		
+		<!-- for the web frontend -->
+		<property name="zipcontainer" value="${dir.zip}/migratordotnet-webfe-${version}"/>
+		<mkdir dir="${zipcontainer}" />
+		<copy todir="${zipcontainer}">
+			<fileset basedir="${dir.web}">
+				<include name="**/*" />
+			</fileset>
+		</copy>
+		
+		<!-- now zip up all the contribs -->
+		<zip zipfile="migratordotnet-contribs-${version}.zip">
+			<fileset basedir="${dir.zip}">
+				<include name="**/*" />
+			</fileset>
+		</zip>
+		
+		<!-- and clean up -->
+		<delete dir="${dir.zip}"/>
+	</target>
+
+</project>

+ 263 - 0
default.build

@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<project name="migrator" default="build" xmlns="http://nant.sf.net/release/0.85/nant.xsd">
+    <property name="dotnet" value="true" if="${framework::get-target-framework() == 'net-2.0' or framework::get-target-framework() == 'net-3.5'}"/>
+    <property name="mono" value="true" if="${framework::get-target-framework() == 'mono-2.0'}"/>
+    
+    <property name="defines" value="DOTNET2" if="${property::exists('dotnet')}" />
+    <property name="defines" value="MONO2" if="${property::exists('mono')}" />
+
+    <property name="version" value="0.8"/>
+
+    <property name="debug" value="true" />
+
+    <!-- Paths to various parts of the build -->
+    <property name="dir.bin" value="build" />
+    <property name="dir.lib" value="lib" />
+    <property name="dir.results" value="results"/>
+    <property name="dir.zip" value="${dir.bin}/zip" />
+    <property name="dir.src" value="src"/>
+    <property name="dir.config" value="${dir.src}/config" />
+    <property name="dir.tests" value="${dir.src}/Migrator.Tests" />
+    <property name="dir.msbuild" value="${dir.src}/Migrator.MSBuild" />
+    <property name="dir.nant" value="${dir.src}/Migrator.NAnt" />
+    <property name="dir.framework" value="${dir.src}/Migrator.Framework" />
+    <property name="dir.providers" value="${dir.src}/Migrator.Providers" />
+    <property name="dir.core" value="${dir.src}/Migrator" />
+    <property name="dir.console" value="${dir.src}/Migrator.Console" />
+    <property name="dir.tools.ncover" value="${dir.lib}/NCover" />
+    <property name="dir.tools.nunit" value="${dir.lib}/NUnit" />
+	<property name="dir.lib.postgre" value="${dir.lib}/Npgsql/${framework::get-target-framework()}" />
+	<property name="dir.keyfile" value="${dir.src}/MigratorDotNet.snk" />
+	
+    <property name="test.project.name" value="Migrator.Tests"/>
+
+    <!-- Test related properties -->
+    <!-- To exclude tests, provide a comma separated set of exclude categories in your local.properties e.g. Oracle,SqlServer,Postgre -->
+    <property name="tests.exclude" value=""/>
+    <property name="tests.app.config" value="${dir.config}/app.config"/>
+
+    <!-- Overrideable. Add your own values to a file called local.properties to have them override any above properties -->
+    <include buildfile="local.properties" failonerror="false"/>
+
+    <!-- load the NCover NAnt tasks -->
+    <loadtasks assembly="${dir.tools.ncover}/Explorer/NCoverExplorer.NAntTasks.dll" />
+
+    <!--
+        Once we setup to build from sln, we can specify build config to target
+        which is ideal to output release assemblies over debug. the debug, release
+        targets are not used at the moment
+
+        <target name="debug">
+            <property name="build.config" value="Debug" />
+            <call target="build" />
+        </target>
+        <target name="release">
+            <property name="build.config" value="Release" />
+            <call target="build.common" />
+        </target>
+    -->
+
+    <target name="build" description="Builds the app" depends="prepare">	    
+        <csc target="library" output="${dir.bin}/Migrator.Framework.dll" define="${defines}" debug="${debug}" keyfile="${dir.keyfile}">
+            <sources>
+                <include name="${dir.config}/AssemblyInfo.cs" />
+                <include name="${dir.framework}/**/*.cs" />
+            </sources>
+            <references>
+                <include name="System.dll" />
+                <include name="System.Data.dll" />
+            </references>
+        </csc>
+        <csc target="library" output="${dir.bin}/Migrator.Providers.dll" define="${defines}" debug="${debug}" keyfile="${dir.keyfile}">
+            <sources>
+                <include name="${dir.config}/AssemblyInfo.cs" />
+                <include name="${dir.providers}/**/*.cs" />
+            </sources>
+            <references>
+                <include name="System.dll" />
+                <include name="System.Data.dll" />
+                <include name="Mono.Data.Sqlite.dll" if="${property::exists('mono')}"/>
+                <include name="${dir.bin}/System.Data.SQLite.DLL" if="${property::exists('dotnet')}"/>
+                <include name="${dir.bin}/Migrator.Framework.dll" />
+                <include name="${dir.bin}/MySql.Data.dll" />
+                <include name="${dir.bin}/Npgsql.dll" />
+                <include name="${dir.lib}/Oracle.DataAccess.dll" />
+				<include name="${dir.lib}/System.Data.SqlServerCe.dll" />
+			</references>
+		</csc>
+		<csc target="library" output="${dir.bin}/Migrator.dll" define="${defines}" debug="${debug}" keyfile="${dir.keyfile}">
+			<sources>
+				<include name="${dir.config}/AssemblyInfo.cs" />
+				<include name="${dir.core}/**/*.cs" />
+			</sources>
+			<references>
+				<include name="System.dll" />
+				<include name="System.Data.dll" />
+				<include name="System.Configuration.dll" />
+				<include name="${dir.bin}/Migrator.Framework.dll" />
+                <include name="${dir.bin}/Migrator.Providers.dll" />
+			</references>
+		</csc>
+		<csc target="library" output="${dir.bin}/Migrator.NAnt.dll" define="${defines}" debug="${debug}">
+			<sources>
+				<include name="${dir.config}/AssemblyInfo.cs" />
+				<include name="${dir.nant}/**/*.cs" />
+			</sources>
+			<references>
+				<include name="System.dll" />
+				<include name="${dir.bin}/NAnt.Core.dll" />
+				<include name="${dir.bin}/Migrator.Framework.dll" />
+				<include name="${dir.bin}/Migrator.dll" />
+			</references>
+		</csc>
+		<csc target="library" output="${dir.bin}/Migrator.MSBuild.dll" define="${defines}" debug="${debug}" if="${framework::get-target-framework() == 'net-2.0'}" keyfile="${dir.keyfile}">
+			<sources>
+				<include name="${dir.config}/AssemblyInfo.cs" />
+				<include name="${dir.msbuild}/**/*.cs" />
+			</sources>
+			<references>
+				<include name="System.dll" />
+				<include name="Microsoft.Build.Framework.dll" />
+				<include name="Microsoft.Build.Utilities.dll" />
+				<include name="${dir.bin}/Migrator.Framework.dll" />
+				<include name="${dir.bin}/Migrator.dll" />
+			</references>
+		</csc>
+		<csc target="exe" output="${dir.bin}/Migrator.Console.exe" define="${defines}" debug="${debug}" keyfile="${dir.keyfile}">
+			<sources>
+				<include name="${dir.config}/AssemblyInfo.cs" />
+				<include name="${dir.console}/**/*.cs" />
+			</sources>
+			<references>
+				<include name="System.dll" />
+				<include name="${dir.bin}/Migrator.Framework.dll" />
+				<include name="${dir.bin}/Migrator.dll" />
+			</references>
+		</csc>
+	</target>
+
+    <target name="rebuild" description="Rebuilds the app from scratch" depends="clean, build" />
+
+    <target name="build.tests" description="Builds the tests" depends="build, prepare.tests">
+        <copy file="${tests.app.config}" tofile="${dir.bin}/${test.project.name}.dll.config" />
+        <csc target="library" output="${dir.bin}/${test.project.name}.dll" define="${defines}" debug="${debug}">
+            <sources>
+                <include name="${dir.tests}/**/*.cs" />
+            </sources>
+            <references>
+                <include name="System.dll" />
+                <include name="System.Data.dll" />
+                <include name="System.Configuration.dll" />
+                <include name="${dir.lib}/System.Data.SqlServerCe.dll" />
+                <include name="${dir.bin}/Migrator.Framework.dll" />
+                <include name="${dir.bin}/Migrator.dll" />
+                <include name="${dir.bin}/Migrator.Providers.dll" />
+                <include name="${dir.tools.nunit}/nunit.mocks.dll" />
+                <include name="${dir.tools.nunit}/nunit.framework.dll" />
+            </references>
+        </csc>
+    </target>
+
+    <target name="prepare">
+        <mkdir dir="${dir.bin}" />
+        <copy file="${dir.msbuild}/Migrator.Targets" todir="${dir.bin}" />
+        <copy todir="${dir.bin}" flatten="true">
+            <fileset>
+                <include name="${dir.lib}/NAnt.Core.dll" />
+                <include name="${dir.lib}/log4net.dll" />
+                <include name="${dir.lib}/MySql.Data.dll" />
+                <include name="${dir.lib}/System.Data.SQLite.DLL" />
+                <include name="${dir.lib.postgre}/Npgsql.dll" />
+                <include name="${dir.lib.postgre}/Mono.Security.dll" />
+                <include name="${dir.lib}/Oracle.DataAccess.dll" />
+                <include name="${dir.lib}/System.Data.SqlServerCe.dll" />
+            </fileset>
+        </copy>
+    </target>
+
+    <target name="prepare.tests">
+        <mkdir dir="${dir.bin}" />
+        <mkdir dir="${dir.results}"/>
+        <copy todir="${dir.bin}" flatten="true">
+            <fileset>
+                <include name="${dir.tools.nunit}/nunit.mocks.dll" />
+                <include name="${dir.tools.nunit}/nunit.framework.dll" />
+            </fileset>
+        </copy>
+    </target>
+
+    <target name="clean" description="Sweep it yeah!">
+        <delete dir="${dir.bin}"/>
+        <delete dir="${dir.results}"/>
+    </target>
+
+    <target name="test" description="Run tests" depends="build.tests">
+        <nunit2> 
+            <formatter type="Plain" />
+            <test
+                assemblyname="${dir.bin}/Migrator.Tests.dll"
+                appconfig="${tests.app.config}">
+                <categories>
+                    <exclude name="${tests.exclude}"/>
+                </categories>
+            </test>
+        </nunit2>	
+    </target>
+
+    <target name="test.coverage" description="Run the tests with code coverage. Only works on Windows/.NET" depends="build.tests">
+
+        <ncover program="${dir.tools.ncover}/NCover.Console.exe"
+            commandLineExe="${dir.tools.nunit}/nunit-console.exe"
+            commandLineArgs="${dir.bin}/${test.project.name}.dll /exclude=${tests.exclude} /labels /nologo /noshadow"
+            coverageFile="${dir.results}/coverage.xml"
+            logFile="${dir.results}/coverage.log">
+            <assemblies basedir="${dir.bin}">
+                <include name="Migrator.*.dll" />
+                <include name="Migrator.dll" />
+                <exclude name="*.Tests.dll" />
+            </assemblies>
+        </ncover>
+
+        <ncoverexplorer program="${dir.tools.ncover}/Explorer/NCoverExplorer.Console.exe"
+            projectName="Migrator"
+            outputDir="${dir.results}"
+            satisfactoryCoverage="80"
+            reportType="ModuleClassFunctionSummary"
+            htmlReportName="CoverageSummary.html"
+            showExcluded="True">
+            <fileset>
+                <include name="${dir.results}/coverage.xml" />
+            </fileset>
+        </ncoverexplorer>
+    </target>
+
+
+    <target name="zip" description="Creates a zip file of the entire project including examples, source and docs" depends="build">
+        <mkdir dir="${dir.zip}" />
+
+        <property name="zipcontainer" value="${dir.zip}/migratordotnet-${version}"/>
+
+        <mkdir dir="${zipcontainer}" />
+        <mkdir dir="${zipcontainer}/lib" />
+
+        <copy todir="${zipcontainer}/lib">
+            <fileset basedir="${dir.bin}">
+                <include name="**/*" />
+            </fileset>
+        </copy>
+
+        <copy todir="${zipcontainer}">
+            <fileset>
+                <include name="doc/**/*" />
+            </fileset>
+        </copy>
+
+        <zip zipfile="migratordotnet-${version}.zip">
+            <fileset basedir="${dir.zip}">
+                <include name="**/*" />
+            </fileset>
+        </zip>
+        <delete dir="${dir.zip}"/>
+    </target>
+
+</project>

+ 77 - 0
doc/CHANGES.txt

@@ -0,0 +1,77 @@
+# Change history
+
+## Version 0.8.0
+- Implemented specific support for SQL Server 2005 (MAX parameter basically)
+- Implemented specific support for SQL Server CE (Thanks Gustavo Ringel)
+
+- Changed the parameter names of AddForeignKey to try and make them easier to understand
+- Made Version for MigrationAttribute non-optional
+- Changed the Migration number to a long value so datestamps could be used.
+- Added a SqlScriptFileLogger to log all of the SQL changes to a file (Thanks carl.lotz)
+	- Supported in MSBuild and NAnt tasks
+- Implemented Fluent interface using SchemaBuilder
+
+- Breaking Change!: Changed the storage of versions applied to one that keeps all the versions. This
+  will help deal with branches during development. (Thanks evonzee)
+  You will need to update your SchemaInfo table by inserting a row for all previously applied versions.
+
+- Added contribs for extra interesting code
+  - Added Migration.Web to show how to run migrations from a Web App directly.
+
+## Version 0.7.0
+- Geoff's major refactorings fork re-merged back into the trunk
+- Improved the build process allowing developers to override things in local.properties
+- Added a packaging task to generate a zip file for a build
+- SQL Server Default value now supports non-quoted functions and NULL
+- Compound Primary Key bug was unsetting NotNull from all the columns has been fixed
+- Added a Visual Studio Template that can be installed to help create new Migrations
+- Various Small bug fixes
+	- Logger set after Migrations loaded in NAnt/MSBuild tasks
+	- Patch for wrong string format in SQLTransformationProvider
+	- One of the TranformationProvider.GenerateForeignKey methods ignores constraint
+	- No warning is issued if there are no migrations found
+	- Migration.InitializeOnce outputs to console
+
+## Version 0.6.0
+- Better API documentation
+- Support declaring compound primary keys in the AddTable methods.
+- Add support for Renaming Tables and Columns
+- Add support for adding and removing Unique Constraints and Check Constraints
+- Add support for changing a column definition
+- Support compiling the migrations on the fly 
+
+- Breaking Change!: Change the Insert and Update methods to separate the column names from the column values.
+- Breaking Change!: Reversed the columns to have the table name first on ConstraintExists, PrimaryKeyExists and 
+	RemovePrimaryKey
+
+## Version 0.5.0
+Forked the project to fix a bunch of issues.
+- Major refactoring
+    - Breaking Change!: Changing to DBTypes instead of .NET Types for specifying column types
+    - Separated out Framework and Providers DLLs
+    - Made the Providers more of a Template model so they have to do less work and are more
+      declarative in nature.
+- Fixed SQL Server Provider
+- Added support for SQLite
+- Added "Multi-DB" support for DB Specific SQL code
+    - Database["ProviderName"].ExecuteSQL() will only run if you are running against "ProviderName"
+- Much more Unit Testing
+      
+See http://code.macournoyer.com/migrator for further info
+
+## Version 0.2.0
+- Added support for char type on SQL Server by Luke Melia & Daniel Berlinger
+- Fix some issues with SQL Server 2005 pointed out by Luke Melia & Daniel Berlinger
+- Added migrate NAnt task
+- Added basic schema dumper functionnality for MySql.
+- Restructured project tree
+- Applied patch from Tanner Burson to fix first run problem with SchemaInfo table creation
+
+## Version 0.1.0
+- Renamed "RemoveConstraint" to "RemoveForeignKey". We need to add Unique constraint support, but it's not in here yet.
+- Merged most of the provider unit test code to a base class.
+- Changed the hard dependencies on the ADO.NET providers to be a reflection-based load, just like NHibernate.
+- Changed the MySQL provider "RemoveForeignKey" method to call two SQL calls to the DB before the constraint would actually be deleted. This is the wierd piece, and I am not sure if it's just my OS or version of MySQL that needs this.
+- Added a few more assertions to the provider unit tests just to be sure the expectations are being met.
+- Changed the build file to handle different platforms, since the Npgsql driver is so platform-specific.
+

+ 99 - 0
doc/README.txt

@@ -0,0 +1,99 @@
+= Migrator DotNet
+Database Migrations implemented in .NET.
+Supports rolling up and rolling back of migrations.
+
+A way to integrate database change management into your regular development and automation processes.
+The migrations themselves are implemented in code and can be mostly done in a database independent way.
+
+Licensed under MPL 1.1 : http://www.mozilla.org/MPL/
+
+== Supported Database
+* MySQL (5.0, 5.1)
+* PostgreSQL
+* SQLite (tested on Mono)
+* SQL Server (2000, 2005)
+* SQL Server CE (3.5)
+
+== Untested Databases but in there
+* Oracle
+
+== Supported Modes
+* MSBuild Task
+* NAnt Task
+* Console Application
+
+
+= Development
+
+== Compiling
+To build from source:
+  nant build
+
+== Testing
+To run tests:
+  nant test
+
+You should have a database installed and setup:
+* MySql
+* SQL Server
+* Oracle
+* PostgreSQL
+* or you can use SQLite with no setup
+You can Test on each engine or change those by changing the 'exclude' properties in a nant build
+file called 'local.properties'. To change the database connection strings see config\app.config. You
+can make your own local version called 'local.config' to override these
+
+== SQL Server CE
+To use SQL Server CE, you will need the proper tools installed. The current DLL that we are testing
+against is the 3.5 version.
+As of this writing you can download the installer for the SQL CE Runtime at:
+http://www.microsoft.com/downloads/details.aspx?&FamilyID=7849b34f-67ab-481f-a5a5-4990597b0297&DisplayLang=en
+
+We have not confirmed if this will build on Mono yet. But it almost definitely won't run because SQL CE uses PInvoke
+internally.
+
+= Usage
+
+1. Add bin/Migrator.Framework.dll to you project references
+    - All of the other DLLs are only needed for actually running the migrations.
+2. Create a class for your migration like:
+    using Migrator.Framework;
+    [Migration(1)]
+    public class MyMigration : Migration
+    {
+      public override void Up()
+      {
+        // Create stuff
+      }
+      public override void Down()
+      {
+        // Remove the same stuff
+      }
+    }
+
+3. Compile your migrations and run the console (Migrator.Console.exe) or use the migrator 
+   NAnt or MSBuild tasks:
+
+   NAnt:
+    <loadtasks assembly=".../Migrator.NAnt.dll" />
+    <target name="migrate" description="Migrate the database" depends="build">
+      <property name="version" value="-1" overwrite="false" />
+        <migrate
+          provider="MySql|PostgreSQL|SqlServer"
+          connectionstring="Database=MyDB;Data Source=localhost;User Id=;Password=;"
+          migrations="bin/MyProject.dll"
+          to="${version}" />
+    </target>
+
+    MSBuild:
+    <PropertyGroup>
+        <MigratorTasksPath>$(MSBuildProjectDirectory)\migrator</MigratorTasksPath>
+    </PropertyGroup>
+
+    <Import Project="$(MigratorTasksPath)\Migrator.Targets" />
+
+    <Target name="Migrate" DependsOnTargets="Build">
+        <Migrate Provider="SqlServer" 
+            Connectionstring="Database=MyDB;Data Source=localhost;User Id=;Password=;" 
+            Migrations="bin/MyProject.dll"/>
+    </Target>

+ 13 - 0
doc/TODO.txt

@@ -0,0 +1,13 @@
+Near Term:
+
+* Think about modeling a Table object as well as the Column object
+* Think of a DSL to configure what the SQL syntax for a specific implementation looks like?
+* Separate out Providers into separate DLLs and load them like plugins?
+
+Future:
+* Look into using something like NHibernate to create our schema changes
+* Look into directly supporting other kinds of SQL objects
+  * Stored Procedures
+  * User Defined Functions
+  * Would modeling these things as objects help?
+

+ 57 - 0
doc/example/example-msbuild.proj

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+	<PropertyGroup>
+	    <MigratorTasksPath>$(MSBuildProjectDirectory)\..\..\build</MigratorTasksPath>
+	</PropertyGroup>
+	
+	<!-- Migration-related targets, properties, etc. -->
+  	<Import Project="$(MigratorTasksPath)\Migrator.Targets" />
+
+    <Target Name="Migrate">
+        <CreateProperty Value="-1"  Condition="'$(SchemaVersion)'==''">
+            <Output TaskParameter="Value" PropertyName="SchemaVersion"/>
+        </CreateProperty>
+
+        <Migrate Provider="MySql"
+            Connectionstring="Data Source=localhost;Database=test;User Id=root;Password=;"
+            Migrations="$(MSBuildProjectDirectory)\migrations\migrations.dll"
+            To="$(SchemaVersion)"/>
+    </Target>
+
+    <Target Name="Migrate-DryRun">
+        <CreateProperty Value="-1"  Condition="'$(SchemaVersion)'==''">
+            <Output TaskParameter="Value" PropertyName="SchemaVersion"/>
+        </CreateProperty>
+
+        <Migrate Provider="MySql"
+            Connectionstring="Data Source=localhost;Database=test;User Id=root;Password=;"
+            Migrations="$(MSBuildProjectDirectory)\migrations\migrations.dll"
+            To="$(SchemaVersion)"
+            DryRun="true"/>
+    </Target>
+
+    <Target Name="Migrate-Dump">
+        <CreateProperty Value="-1"  Condition="'$(SchemaVersion)'==''">
+            <Output TaskParameter="Value" PropertyName="SchemaVersion"/>
+        </CreateProperty>
+
+        <Migrate Provider="MySql"
+            Connectionstring="Data Source=localhost;Database=test;User Id=root;Password=;"
+            Migrations="$(MSBuildProjectDirectory)\migrations\migrations.dll"
+            To="$(SchemaVersion)"
+            ScriptFile="MSBuild-migrations.sql"/>
+    </Target>
+
+    <Target Name="Migrate-DryRun2">
+        <CreateProperty Value="-1"  Condition="'$(SchemaVersion)'==''">
+            <Output TaskParameter="Value" PropertyName="SchemaVersion"/>
+        </CreateProperty>
+
+        <Migrate Provider="MySql"
+            Connectionstring="Data Source=localhost;Database=test;User Id=root;Password=;"
+            Directory="$(MSBuildProjectDirectory)\migrations\"
+            To="$(SchemaVersion)"
+            DryRun="true"/>
+    </Target>
+
+</Project>

+ 32 - 0
doc/example/example-nant.build

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<project name="migrator" xmlns="http://nant.sf.net/release/0.85/nant.xsd">
+	<loadtasks assembly="../../build/Migrator.NAnt.dll" />
+	<target name="migrate" description="Migrate the database">
+		<property name="version" value="-1" overwrite="false" />
+	  	<migrate
+	    	provider="MySql"
+	    	connectionstring="Data Source=localhost;Database=test;User Id=root;Password=;"
+	    	directory="migrations"
+	    	to="${version}" />
+	</target>
+
+	<target name="migrate-dryrun" description="Migrate the database">
+		<property name="version" value="-1" overwrite="false" />
+	  	<migrate
+	    	provider="MySql"
+	    	connectionstring="Data Source=localhost;Database=test;User Id=root;Password=;"
+	    	directory="migrations"
+	    	to="${version}" 
+            dryrun="true"/>
+	</target>
+
+	<target name="migrate-dump" description="Migrate the database">
+		<property name="version" value="-1" overwrite="false" />
+	  	<migrate
+	    	provider="MySql"
+	    	connectionstring="Data Source=localhost;Database=test;User Id=root;Password=;"
+	    	directory="migrations"
+	    	to="${version}" 
+            scriptFile="nant-migrations.sql"/>
+	</target>
+</project>

+ 21 - 0
doc/example/migrations/001_AddAddressTable.cs

@@ -0,0 +1,21 @@
+using Migrator.Framework;
+using System.Data;
+
+[Migration(1)]
+public class AddAddressTable : Migration
+{
+    override public void Up()
+    {
+        Database.AddTable("Address", 
+            new Column("id", DbType.Int32, ColumnProperty.PrimaryKey),
+            new Column("street", DbType.String, 50),
+            new Column("city", DbType.String, 50),
+            new Column("state", DbType.StringFixedLength, 2),
+            new Column("postal_code", DbType.String, 10)
+        );
+    }
+    override public void Down()
+    {
+        Database.RemoveTable("Address");
+    }
+}

+ 18 - 0
doc/example/migrations/002_AddAddressColumns.cs

@@ -0,0 +1,18 @@
+using Migrator.Framework;
+using System.Data;
+
+[Migration(2)]
+public class AddAddressColumns : Migration
+{
+    override public void Up()
+    {
+        Database.AddColumn("Address", new Column("street2", DbType.String, 50));
+        Database.AddColumn("Address", new Column("street3", DbType.String, 50));
+    }
+
+    override public void Down()
+    {
+        Database.RemoveColumn("Address", "street2");
+        Database.RemoveColumn("Address", "street3");
+    }
+}

+ 21 - 0
doc/example/migrations/003_AddPersonTable.cs

@@ -0,0 +1,21 @@
+using Migrator.Framework;
+using System.Data;
+
+[Migration(3)]
+public class AddPersonTable : Migration
+{
+    override public void Up()
+    {
+        Database.AddTable("Person", 
+            new Column("id", DbType.Int32, ColumnProperty.PrimaryKey),
+            new Column("first_name", DbType.String, 50),
+            new Column("last_name", DbType.String, 50),
+            new Column("address_id", DbType.Int32, ColumnProperty.Unsigned)
+        );
+        Database.AddForeignKey("FK_PERSON_ADDRESS", "Person", "address_id", "Address", "id");
+    }
+    override public void Down()
+    {
+        Database.RemoveTable("Person");
+    }
+}

BIN
doc/extras/VS.NET Template/Migration.zip


+ 2 - 0
doc/extras/VS.NET Template/README.txt

@@ -0,0 +1,2 @@
+To install this, put the zip file in:
+C:\Documents and Settings\<user>\My Documents\Visual Studio 2008\Templates\ItemTemplates

BIN
lib/Mono.Data.Sqlite.dll


BIN
lib/MySql.Data.dll


BIN
lib/NAnt.Core.dll


BIN
lib/NCover/CoverLib.dll


+ 339 - 0
lib/NCover/Coverage.xsl

@@ -0,0 +1,339 @@
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
+  <!-- saved from url=(0022)http://www.ncover.org/ -->
+  <!-- created by Yves Lorphelin, largely inspired by the nunitsumary.xsl (see nantcontrib.sourceforge.net)-->
+	<xsl:template match="coverage">
+		<html>
+			<head>
+				<title>NCover Code Coverage Report</title>
+				<style>
+          BODY {
+          font: small verdana, arial, helvetica;
+          color:#000000;
+          }
+
+          P {
+          line-height:1.5em;
+          margin-top:0.5em; margin-bottom:1.0em;
+          }
+          H1 {
+          MARGIN: 0px 0px 5px;
+          FONT: bold larger arial, verdana, helvetica;
+
+          }
+          H2 {
+          MARGIN-TOP: 1em; MARGIN-BOTTOM: 0.5em;
+          FONT: larger verdana,arial,helvetica
+          }
+          H3 {
+          MARGIN-BOTTOM: 0.5em; FONT: bold 13px verdana,arial,helvetica
+          }
+          H4 {
+          MARGIN-BOTTOM: 0.5em; FONT: bold 100% verdana,arial,helvetica
+          }
+          H5 {
+          MARGIN-BOTTOM: 0.5em; FONT: bold 100% verdana,arial,helvetica
+          }
+          H6 {
+          MARGIN-BOTTOM: 0.5em; FONT: bold 100% verdana,arial,helvetica
+          }
+          .notVisited { background:red; }
+          .excluded { background: skyblue; }
+          .visited { background: #90ee90; }
+          .title { font-size: 12px; font-weight: bold; }
+          .assembly { font-size: normal;   font-weight: bold; font-size: 11px}
+          .class {font-size:normal; cursor: hand; color: #444444; font-size: 11px}
+          .module { color: navy; font-size: 12px; }
+          .method {cursor: hand; color: ; font-size: 10px; font-weight: bold; }
+          .subtitle { color: black; font-size: 10px; font-weight: bold; }
+          .hdrcell  {font-size:9px; background-color: #DDEEFF; }
+          .datacell {font-size:9px; background-color: #FFFFEE; text-align: right; }
+          .hldatacell {font-size:9px; background-color: #FFCCCC; text-align: right; }
+          .exdatacell {font-size:9px; background-color: #DDEEFF; text-align: right; }
+          .detailPercent {  font-size: 9px; font-weight: bold; padding-top: 1px; padding-bottom: 1px; padding-left: 3px; padding-right: 3px;}
+        </style>
+				<script language="JavaScript"><![CDATA[   
+				function toggle (field)	
+				{ field.style.display = (field.style.display == "block") ? "none" : "block"; }  
+				
+				function SwitchAll(how)
+				{	var len = document.all.length-1;
+					for(i=0;i!=len;i++)	{	
+						var block = document.all[i];
+						if (block != null && block.id != '')
+						{ block.style.display=how;}
+					}
+				}
+
+
+				function ExpandAll()
+				{SwitchAll('block');}
+		
+				function CollapseAll()
+				{SwitchAll('none');}
+				]]></script>
+			</head>
+			<body>
+				<a name="#top"></a>
+				<xsl:call-template name="header" />
+				<xsl:call-template name="ModuleSummary" />
+				<xsl:call-template name="module" />
+				<xsl:call-template name="footer" />
+				<script language="JavaScript">CollapseAll();</script>
+			</body>
+		</html>
+	</xsl:template>
+	<xsl:template name="module">
+		<xsl:for-each select="//module">
+			<xsl:sort select="@assembly" />
+			<xsl:variable name="module" select="./@assembly" />
+			<div class="assembly">
+				<a name="#{generate-id($module)}">Module 
+					<xsl:value-of select="$module" />
+				</a>
+			</div>
+			<xsl:for-each select="./method[not(./@class = preceding-sibling::method/@class)]">
+				<xsl:sort select="@class" />
+				<xsl:sort select="@name" />
+				<xsl:call-template name="ClassSummary">
+					<xsl:with-param name="module" select="$module" />
+					<xsl:with-param name="class" select="./@class" />
+				</xsl:call-template>
+			</xsl:for-each>
+		</xsl:for-each>
+		<xsl:variable name="totalMod" select="count(./method/seqpnt[@excluded='false'])" />
+		<xsl:variable name="notvisitedMod" select="count( ./method/seqpnt[ @visitcount='0'][@excluded='false'] ) div $totalMod * 100 " />
+		<xsl:variable name="visitedMod" select="count(./method/seqpnt[not(@visitcount='0')] ) div $totalMod * 100" />
+	</xsl:template>
+	<xsl:template name="Methods">
+		<xsl:param name="module" />
+		<xsl:param name="class" />
+		<xsl:for-each select="//method[(@class = $class) and (parent::module/@assembly=$module)]">
+			<xsl:sort select="@name" />
+			<xsl:variable name="total" select="count(./seqpnt[@excluded='false'])" />
+			<xsl:variable name="notvisited" select="count(./seqpnt[@visitcount='0'][@excluded='false'] ) " />
+			<xsl:variable name="visited" select="count(./seqpnt[not(@visitcount='0')])" />
+			<xsl:variable name="methid" select="generate-id(.)" />
+			<table cellpadding="3" cellspacing="0" width="90%">
+				<tr>
+					<td width="45%" class='method'>
+						<xsl:attribute name="onclick">javascript:toggle(
+							<xsl:value-of select="$methid" />)
+						</xsl:attribute>
+						<xsl:value-of select="@name" />
+					</td>
+					<td width="55%">
+						<xsl:call-template name="detailPercent">
+							<xsl:with-param name="visited" select="$visited" />
+							<xsl:with-param name="notVisited" select="$notvisited" />
+							<xsl:with-param name="total" select="$total" />
+						</xsl:call-template>
+					</td>
+				</tr>
+			</table>
+			<xsl:call-template name="seqpnt">
+				<xsl:with-param name="module" select="$module" />
+				<xsl:with-param name="class" select="$class" />
+				<xsl:with-param name="id" select="$methid" />
+			</xsl:call-template>
+		</xsl:for-each>
+	</xsl:template>
+	<xsl:template name="seqpnt">
+		<xsl:param name="module" />
+		<xsl:param name="class" />
+		<xsl:param name="id" />
+		<table cellpadding="3" cellspacing="0" border='1' width="90%" bordercolor="black" style="display: block;">
+			<xsl:attribute name="id">
+				<xsl:value-of select="$id" />
+			</xsl:attribute>
+			<tr>
+				<td class="hdrcell">Visits</td>
+				<td class="hdrcell">Line</td>
+				<td class="hdrcell">End</td>
+				<td class="hdrcell">Column</td>
+				<td class="hdrcell">End</td>
+				<td class="hdrcell">Document</td>
+			</tr>
+			<xsl:for-each select="./seqpnt">
+				<xsl:sort select="@line" />
+				<tr>
+					<td class="datacell">
+						<xsl:attribute name="class">
+							<xsl:choose>
+                <xsl:when test="@excluded = 'true'">exdatacell</xsl:when>
+                <xsl:when test="@visitcount = 0">hldatacell</xsl:when>
+								<xsl:otherwise>datacell</xsl:otherwise>
+							</xsl:choose>
+						</xsl:attribute>
+            <xsl:choose>
+              <xsl:when test="@excluded = 'true'">---</xsl:when>
+              <xsl:otherwise><xsl:value-of select="@visitcount" /></xsl:otherwise>
+            </xsl:choose>
+					</td>
+					<td class="datacell">
+						<xsl:value-of select="@line" />
+					</td>
+					<td class="datacell">
+						<xsl:value-of select="@endline" />
+					</td>
+					<td class="datacell">
+						<xsl:value-of select="@column" />
+					</td>
+					<td class="datacell">
+						<xsl:value-of select="@endcolumn" />
+					</td>
+					<td class="datacell">
+						<xsl:value-of select="@document" />
+					</td>
+				</tr>
+			</xsl:for-each>
+		</table>
+	</xsl:template>
+	<!-- Class Summary -->
+	<xsl:template name="ClassSummary">
+		<xsl:param name="module" />
+		<xsl:param name="class" />
+		<xsl:variable name="total" select="count(//seqpnt[(parent::method/parent::module/@assembly=$module) and (parent::method/@class=$class) and (@excluded='false') ])" />
+		<xsl:variable name="notvisited" select="count(//seqpnt[(parent::method/parent::module/@assembly=$module)and (parent::method/@class=$class) and (@visitcount='0') and (@excluded='false')] )" />
+		<xsl:variable name="visited" select="count(//seqpnt[(parent::method/parent::module/@assembly=$module) and (parent::method/@class=$class) and (not(@visitcount='0'))] )" />
+		<xsl:variable name="newid" select="concat (generate-id(), 'class')" />
+		<table width='90%'>
+			<tr>
+				<td width="40%" class="class">
+					<xsl:attribute name="onclick">javascript:toggle(
+						<xsl:value-of select="$newid" />)
+					</xsl:attribute>
+					<xsl:value-of select="$class" />
+				</td>
+				<td width="60%">
+					<xsl:call-template name="detailPercent">
+						<xsl:with-param name="visited" select="$visited" />
+						<xsl:with-param name="notVisited" select="$notvisited" />
+						<xsl:with-param name="total" select="$total" />
+					</xsl:call-template>
+				</td>
+			</tr>
+			<tr>
+				<table style="display: block;" width="100%">
+					<tr>
+						<td>
+							<xsl:attribute name="id">
+								<xsl:value-of select="$newid" />
+							</xsl:attribute>
+							<xsl:call-template name="Methods">
+								<xsl:with-param name="module" select="$module" />
+								<xsl:with-param name="class" select="$class" />
+							</xsl:call-template>
+						</td>
+					</tr>
+				</table>
+			</tr>
+		</table>
+		<hr size="1" width='90%' align='left' style=" border-bottom: 1px dotted #999;" />
+	</xsl:template>
+	<xsl:template name="ClassSummaryDetail">
+		<xsl:param name="module" />
+		<xsl:variable name="total" select="count(./method/seqpnt[ @excluded='false' ])" />
+		<xsl:variable name="notVisited" select="count( ./method/seqpnt[ @visitcount='0'][ @excluded='false' ] )" />
+		<xsl:variable name="visited" select="count(./method/seqpnt[not(@visitcount='0')] )" />
+		<td width="35%">
+			<div class="assembly">
+				<a href="#{generate-id($module)}">
+					<xsl:value-of select="$module" />
+				</a>
+			</div>
+		</td>
+		<td width="65%">
+			<xsl:call-template name="detailPercent">
+				<xsl:with-param name="visited" select="$visited" />
+				<xsl:with-param name="notVisited" select="$notVisited" />
+				<xsl:with-param name="total" select="$total" />
+			</xsl:call-template>
+		</td>
+	</xsl:template>
+	<!-- Modules Summary -->
+	<xsl:template name="ModuleSummary">
+		<H2>Modules summary</H2>
+		<xsl:for-each select="//module">
+			<xsl:sort select="@assembly" />
+			<table width='90%'>
+				<tr>
+					<xsl:call-template name="ModuleSummaryDetail">
+						<xsl:with-param name="module" select="./@assembly" />
+					</xsl:call-template>
+				</tr>
+			</table>
+		</xsl:for-each>
+		<hr size="1" />
+	</xsl:template>
+	<xsl:template name="ModuleSummaryDetail">
+		<xsl:param name="module" />
+		<xsl:variable name="total" select="count(./method/seqpnt[@excluded='false'])" />
+		<xsl:variable name="notVisited" select="count( ./method/seqpnt[ @visitcount='0' ][ @excluded='false' ] )" />
+		<xsl:variable name="visited" select="count(./method/seqpnt[not(@visitcount='0')] )" />
+		<td width="30%">
+			<div class="assembly">
+				<a href="#{generate-id($module)}">
+					<xsl:value-of select="$module" />
+				</a>
+			</div>
+		</td>
+		<td width="70%">
+			<xsl:call-template name="detailPercent">
+				<xsl:with-param name="visited" select="$visited" />
+				<xsl:with-param name="notVisited" select="$notVisited" />
+				<xsl:with-param name="total" select="$total" />
+			</xsl:call-template>
+		</td>
+	</xsl:template>
+	<!-- General Header -->
+	<xsl:template name="header">
+		<h1>
+			<b>NCover</b> Code Coverage Report
+		</h1>
+		<table>
+			<tr>
+				<td class="class">
+					<a onClick="ExpandAll();">Expand</a>
+				</td>
+				<td> | </td>
+				<td class="class">
+					<a onClick="CollapseAll();">Collapse</a>
+				</td>
+			</tr>
+		</table>
+		<hr size="1" />
+	</xsl:template>
+	<xsl:template name="footer">
+		<hr size="1" />
+		<a class="detailPercent" href="#{top}">Top</a>
+	</xsl:template>
+	<!-- draw % table-->
+	<xsl:template name="detailPercent">
+		<xsl:param name="visited" />
+		<xsl:param name="notVisited" />
+		<xsl:param name="total" />
+		<table width="100%" class="detailPercent">
+			<tr>
+        <xsl:if test="($notVisited=0) and ($visited=0)">
+          <td class="excluded" width="100%">Excluded</td>
+        </xsl:if>
+        <xsl:if test="not($notVisited=0)">
+					<td class="notVisited">
+						<xsl:attribute name="width">
+							<xsl:value-of select="concat($notVisited div $total * 100,'%')" />
+						</xsl:attribute>
+						<xsl:value-of select="concat (format-number($notVisited div $total * 100,'#.##'),'%')" />
+					</td>
+				</xsl:if>
+				<xsl:if test="not ($visited=0)">
+					<td class="visited">
+						<xsl:attribute name="width">
+							<xsl:value-of select="concat($visited div $total * 100,'%')" />
+						</xsl:attribute>
+						<xsl:value-of select="concat (format-number($visited div $total * 100,'#.##'), '%')" />
+					</td>
+				</xsl:if>
+			</tr>
+		</table>
+	</xsl:template>
+</xsl:stylesheet>

+ 287 - 0
lib/NCover/Explorer/ActiproEULA.html

@@ -0,0 +1,287 @@
+<html>
+<head>
+	<title>End-User License Agreement (EULA)</title>
+	<style>
+		BODY { font-family: Verdana, sans-serif; }
+		LI { margin-top: 10pt; }
+	</style>
+</head>
+<body>
+
+
+<h2>END-USER LICENSE AGREEMENT FOR ACTIPRO SOFTWARE LLC SOFTWARE</h2>
+
+<hr><b>
+IMPORTANT - READ CAREFULLY: This Actipro Software LLC ("Actipro") End-User License Agreement ("EULA") 
+is a legal agreement between you (“Licensee”), a developer of software applications, and Actipro for the Actipro software product 
+accompanying this EULA, which includes computer software and may include associated source code, media, printed materials, 
+and "on-line" or electronic documentation ("SOFTWARE PRODUCT"). By installing, copying, or otherwise using the SOFTWARE PRODUCT, 
+you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, do not install, use, distribute 
+in any manner, or replicate in any manner, any part, file or portion of the SOFTWARE PRODUCT.
+</b><hr>
+
+<p>
+The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold.  
+</p>
+
+<p>
+The Licensee is considered to be an authorized licensee (“Authorized”) if the Licensee has legitimately obtained a registered license for the SOFTWARE PRODUCT from Actipro or an authorized Actipro reseller.
+</p>
+
+<p>
+<b>RIGOROUS ENFORCEMENT OF INTELLECTUAL PROPERTY RIGHTS.</b> 
+If the licensed right of use for this SOFTWARE PRODUCT is purchased by the Licensee with any intent to reverse engineer, 
+decompile, create derivative works, and the exploitation or unauthorized transfer of, any Actipro intellectual property and 
+trade secrets, to include any exposed methods or source code where provided, no licensed right of use shall exist, and any products 
+created as a result shall be judged illegal by definition of all applicable law. Any sale or resale of intellectual property or 
+created derivatives so obtained will be prosecuted to the fullest extent of all local, federal and international law. 
+</p>
+
+<p>
+<b>GRANT OF LICENSE.</b> This EULA, if legally executed as defined herein, licenses and so grants the Licensee the following rights: 
+</p>
+
+<p>
+<b>Evaluation.</b> If the downloaded SOFTWARE PRODUCT is designated as an Evaluation Release (“Evaluation Release”),
+the Licensee is granted a license for a period of only fifteen (15) days after installation of the Evaluation Release 
+of the SOFTWARE PRODUCT ("Evaluation Period"). After the Evaluation Period, the Licensee must either: 
+<ol>
+<li>Delete the SOFTWARE PRODUCT and all related files from ALL computers onto which it was installed or copied, or</li>
+<li>Contact Actipro or one of its authorized resellers to purchase the SOFTWARE PRODUCT.</li>
+</ol>
+</p>
+
+<p>
+The Licensee may use the Evaluation Release of the SOFTWARE PRODUCT for evaluation purposes only.  
+The Licensee may not distribute ANY of the files, in any form or manner, provided with the Evaluation Release of the 
+SOFTWARE PRODUCT to ANY PARTIES. 
+</p>
+
+<p>
+<b>Development.</b> Actipro grants the Licensee the non-exclusive license to install and use multiple copies of the 
+SOFTWARE PRODUCT or any prior version for the sole purpose of developing any number of end user applications that 
+operate in conjunction with the SOFTWARE PRODUCT.  If the Licensee is not Authorized, the Licensee may not use the 
+SOFTWARE PRODUCT beyond the Evaluation Period.
+</p>
+
+<p>
+If the Licensee has purchased a single developer license (“Single Developer License”), the Licensee is Authorized 
+to use the SOFTWARE PRODUCT indefinitely beyond the Evaluation Period.  A Single Developer License for the SOFTWARE PRODUCT 
+may not be shared or used concurrently by more than one individual developer.  In a project that uses the SOFTWARE PRODUCT, 
+each individual developer on the project requires a separate Single Developer License, regardless of whether they directly 
+use the component or not.  Single Developer Licenses may also be obtained in team discount packs. 
+</p>
+
+<p>
+If the Licensee has purchased a site license (“Site License”), each of the developers at a single physical location is 
+considered Authorized according to the terms and conditions of the Single Developer License.  Each additional physical 
+location requires an additional Site License to be considered Authorized.
+</p>
+
+<p>
+If the Licensee has purchased an enterprise license (“Enterprise License”), all developers in the Licensee's organization, 
+regardless of location, are considered Authorized according to the terms and conditions of the Single Developer License.  
+</p>
+
+<p>
+If the Licensee has purchased a blueprint license (“Blueprint License”), each of the Authorized developers for the SOFTWARE PRODUCT is 
+considered Authorized to access source code for the SOFTWARE PRODUCT ("Source Code").
+The Blueprint License must be purchased at the same time as a Site License or Enterprise License.
+Source Code may exclude Actipro proprietary licensing code.  
+The sale of Blueprint Licenses is considered final and neither the SOFTWARE PRODUCT nor Source Code may be returned under any circumstances.
+</p>
+
+<p>
+<b>Duplication and Distribution.</b> The SOFTWARE PRODUCT may include certain files ("Redistributables") intended for distribution 
+by the Licensee to the users of programs the Licensee creates. Redistributables include, for example, those files identified in 
+printed or electronic documentation as redistributable files, or those files pre-selected for deployment by an install utility 
+provided with the SOFTWARE PRODUCT (if any).  In any event, the Redistributables for the SOFTWARE PRODUCT are only those files 
+specifically designated as such by Actipro.
+</p>
+
+<p>
+Subject to all of the terms and conditions in this EULA, if the Licensee is Authorized, Actipro grants the Licensee the non-exclusive, 
+royalty-free license to duplicate the Redistributables and to distribute them solely in conjunction with software products 
+developed by the Licensee that use them.  The Licensee may not supply any means by which end users could incorporate the 
+SOFTWARE PRODUCT or portions thereof into their own products.
+</p>
+
+<p>
+<b>Source Code.</b> If the Licensee has purchased a Blueprint License and is Authorized, the Licensee is provided Source Code 
+for the SOFTWARE PRODUCT.  The following stipulations and restrictions apply to Source Code: 
+<ol>
+<li>Source Code shall be considered as part the SOFTWARE PRODUCT and all requirements stated above still apply, 
+		meaning that developers at a separate site from the one which purchased the Blueprint License are NOT able to work on 
+		any project created that uses the Source Code, unless that site has also purchased a Blueprint License.
+		The only exception is when an Enterprise License has been purchased along with the Blueprint License, 
+		in which case the Source Code may be used by developers at any site.</li>
+<li>Actipro grants the Licensee the non-exclusive license to view and modify the Source Code for the sole purposes of education and troubleshooting.  
+		If the Licensee troubleshoots the Source Code, the Licensee may compile the corrected source code and use and distribute the 
+		resulting object code solely as a replacement for the corresponding Redistributables the Source Code compiles into.</li>
+<li>The Licensee may NOT distribute or sell the Source Code, or portions or modifications or derivative works thereof, to any third party 
+		not Authorized by the Licensee’s Blueprint License(s), without explicit permission by Actipro.</li>
+<li>The Licensee may not compete against Actipro by repackaging, recompiling, or renaming the SOFTWARE PRODUCT for which the 
+		Licensee purchased Source Code.  Any derivative works based on the Source Code are illegal to be created or sold if they compete 
+		in any way with the SOFTWARE PRODUCT or other Actipro products.</li>
+<li>Any object code that is created by using the Source Code or derivative code based on the Source Code must be obfuscated.</li>
+<li>Any object code that is created by using the Source Code or derivative code based on the Source Code may NOT bear "ActiproSoftware" 
+		or the name of the SOFTWARE PRODUCT in the object code assembly name.</li>
+<li>All Source Code must be kept in its proper "ActiproSoftware" namespace.</li>
+<li>Actipro shall retain all rights, title and interest in and to all corrections, modifications and derivative works of the Source Code 
+		created by the Licensee, including all copyrights subsisting therein, to the extent such corrections, modifications or 
+		derivative works contain copyrightable code or expression derived from the Source Code.</li>
+<li>The Licensee acknowledges that the Source Code contains valuable and proprietary trade secrets of Actipro, and agrees to expend 
+		every effort to insure its confidentiality.</li>
+<li>Source Code may be obtained by coordinating with Actipro during the support period for the Blueprint License, typically one year 
+		in duration, starting on the date of purchase of the Blueprint License.</li>
+</ol>
+</p>
+
+<p>
+<b>Storage/Network Use.</b> The Licensee may also store or install a copy of the SOFTWARE PRODUCT on a storage device, 
+such as a network server, used only to install or run the SOFTWARE PRODUCT on the the Licensee’s other computers over an internal network; 
+however, the Licensee must acquire and dedicate a Single Developer License for each separate individual developer who wishes to use 
+the SOFTWARE PRODUCT. 
+</p>
+
+<p>
+<b>DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.</b>
+</p>
+
+<p>
+<b>Not for Resale Software.</b>  If the SOFTWARE PRODUCT is labeled and provided as "Not for Resale" or "NFR", then, notwithstanding 
+other sections of this EULA, the Licensee may not resell, distribute, or otherwise transfer for value or benefit in any manner, 
+the SOFTWARE PRODUCT or any derivative work using the SOFTWARE PRODUCT.  The Licensee may not transfer, rent, lease, lend, copy, 
+modify, translate, sublicense, time-share or electronically transmit the SOFTWARE PRODUCT, media or documentation. 
+This also applies to any and all intermediate files, source code, and compiled executables. 
+</p>
+
+<p>
+<b>Limitations on Reverse Engineering, Decompilation, and Disassembly.</b>  The Licensee may not reverse engineer, decompile, 
+create derivative works, modify, translate, or disassemble the SOFTWARE PRODUCT, and only to the extent that such activity is 
+expressly permitted by applicable law notwithstanding this limitation.  The Licensee agrees to take all reasonable, legal and 
+appropriate measures to prohibit the illegal dissemination of the SOFTWARE PRODUCT or any of its constituent parts and redistributables 
+to the fullest extent of all applicable local, US Codes and International Laws and Treaties regarding anti-circumvention, including 
+but not limited to, the Geneva and Berne World Intellectual Property Organization (WIPO) Diplomatic Conferences. 
+</p>
+
+<p>
+<b>Rental.</b>  The Licensee may not rent, lease, or lend the SOFTWARE PRODUCT. 
+</p>
+
+<p>
+<b>Separation of Components, Their Constituent Parts and Redistributables.</b>  The SOFTWARE PRODUCT is licensed as a single product.  
+The SOFTWARE PRODUCT and its constituent parts and any provided redistributables may not be reverse engineered, decompiled, disassembled, 
+nor placed for distribution, sale, or resale as individual creations by the Licensee or any individual not expressly given 
+such permission by Actipro.  The provision of Source Code, if included with the SOFTWARE PRODUCT, does not constitute transfer of any 
+legal rights to such code, and resale or distribution of all or any portion of all Source Code and intellectual property will be prosecuted 
+to the fullest extent of all applicable local, federal and international laws.  All Actipro libraries, Source Code, Redistributables and 
+other files remain Actipro's exclusive property.  The Licensee may not distribute any files, except those that Actipro has expressly 
+designated as Redistributable. 
+</p>
+
+<p>
+<b>Installation and Use.</b>  The license granted in this EULA for the Licensee to create his/her own compiled programs and distribute 
+the Licensee’s programs and the Redistributables (if any), is subject to all of the following conditions: 
+<ol>
+<li>All copies of the programs the Licensee creates must bear a valid copyright notice, either their own or the Actipro copyright 
+		notice that appears on the SOFTWARE PRODUCT.</li>
+<li>The Licensee may not remove or alter any Actipro copyright, trademark or other proprietary rights notice contained in any portion 
+		of Actipro libraries, source code, Redistributables or other files that bear such a notice.</li>
+<li>Actipro provides no warranty at all to any person, and the Licensee will remain solely responsible to anyone receiving the 
+		Licensee’s programs for support, service, upgrades, or technical or other assistance, and such recipients will have no right 
+		to contact Actipro for such services or assistance.</li>
+<li>The Licensee will indemnify and hold Actipro, its related companies and its suppliers, harmless from and against any claims or 
+		liabilities arising out of the use, reproduction or distribution of the Licensee’s programs.</li>
+<li>The Licensee’s programs containing the SOFTWARE PRODUCT must be written using a licensed, registered copy of the SOFTWARE PRODUCT.</li>
+<li>The Licensee’s programs must add primary and substantial functionality, and may not be merely a set or subset of any of the libraries, 
+		Source Code, Redistributables or other files of the SOFTWARE PRODUCT.</li>
+<li>The Licensee may not use Actipro's or any of its suppliers' names, logos, or trademarks to market the Licensee’s programs, 
+		unless expressly given such permission by Actipro.</li>
+</ol>
+</p>
+
+<p>
+<b>Support Services.</b>  Actipro may provide the Licensee with support services related to the SOFTWARE PRODUCT ("Support Services").  
+Use of Support Services is governed by Actipro policies and programs described in the user manual, in on-line documentation and/or other 
+Actipro provided materials.  Any supplemental software code provided to the Licensee as part of the Support Services shall be considered 
+part of the SOFTWARE PRODUCT and subject to the terms and conditions of this EULA.  With respect to technical information the Licensee 
+provides to Actipro as part of the Support Services, Actipro may use such information for its business purposes, including for product 
+support and development. 
+</p>
+
+<p>
+<b>Software Transfer.</b>  The Licensee may NOT permanently or temporarily transfer ANY of the Licensee’s rights under this EULA to any 
+individual or entity.  Regardless of any modifications which the Licensee makes and regardless of how the Licensee might compile, link, 
+and/or package the Licensee’s programs, under no circumstances may the libraries, redistributables, and/or other files of the 
+SOFTWARE PRODUCT (including any portions thereof) be used for developing programs by anyone other than the Licensee. Only the Licensee 
+as the licensed end user has the right to use the libraries, redistributables, or other files of the SOFTWARE PRODUCT (or any portions thereof) 
+for developing programs created with the SOFTWARE PRODUCT.  In particular, the Licensee may not share copies of the Source Code or 
+Redistributables with other co-developers. 
+</p>
+
+<p>
+<b>Termination.</b>  Without prejudice to any other rights or remedies, Actipro will terminate this EULA upon the Licensee’s failure to 
+comply with all the terms and conditions of this EULA.  In such event, the Licensee must destroy all copies of the SOFTWARE PRODUCT and 
+all of its component parts including any related documentation, and must remove ANY and ALL use of such technology immediately from any 
+applications using technology contained in the SOFTWARE PRODUCT developed by the Licensee, whether in native, altered or compiled state. 
+</p>
+
+<p>
+<b>UPGRADES.</b>  If the SOFTWARE PRODUCT is labeled as an upgrade, the Licensee must be properly licensed to use the SOFTWARE PRODUCT 
+identified by Actipro as being eligible for the upgrade in order to use the SOFTWARE PRODUCT.  A SOFTWARE PRODUCT labeled as an upgrade 
+replaces and/or supplements the SOFTWARE PRODUCT that formed the basis for the Licensee’s eligibility for the upgrade, and together 
+constitute a single SOFTWARE PRODUCT.  The Licensee may use the resulting upgraded SOFTWARE PRODUCT only in accordance with all the 
+terms of this EULA. 
+</p>
+
+<p>
+<b>COPYRIGHT.</b>  All title and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images, demos, source code, 
+intermediate files, packages, photographs, animations, video, audio, music, text, and "applets" incorporated into the SOFTWARE PRODUCT), 
+the accompanying printed materials, and any copies of the SOFTWARE PRODUCT are owned by Actipro or its subsidiaries.  
+The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions.  Therefore, the Licensee must treat the 
+SOFTWARE PRODUCT like any other copyrighted material except that the Licensee may install the SOFTWARE PRODUCT for use by the Licensee.  
+The Licensee may not copy any printed materials accompanying the SOFTWARE PRODUCT. 
+</p>
+
+<p>
+<b>GENERAL PROVISIONS.</b>  This EULA may only be modified in writing signed by the Licensee and an authorized officer of Actipro.  
+If any provision of this EULA is found void or unenforceable, the remainder will remain valid and enforceable according to its terms. 
+</p>
+
+<p>
+<b>MISCELLANEOUS.</b>  If the Licensee acquired this product in the United States, this EULA is governed by the laws of the State of Ohio. 
+</p>
+
+<p>
+If this SOFTWARE PRODUCT was acquired outside the United States, then the Licensee, agrees and ascends to the adherence to all 
+applicable international treaties regarding copyright and intellectual property rights which shall also apply.  
+In addition, the Licensee agrees that any local law(s) to the benefit and protection of Actipro ownership of, and interest in, 
+its intellectual property and right of recovery for damages thereto will also apply. 
+</p>
+
+<p>
+Should you have any questions concerning this EULA, or if you desire to contact Actipro for any reason, please contact us via our 
+support web pages at <a href="http://www.actiprosoftware.com">http://www.actiprosoftware.com</a>. 
+</p>
+
+<p><b>
+NO WARRANTIES. ACTIPRO EXPRESSLY DISCLAIMS ANY WARRANTY FOR THE SOFTWARE PRODUCT. THE PRODUCT AND ANY RELATED DOCUMENTATION IS PROVIDED 
+"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, 
+FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. THE ENTIRE RISK ARISING OUT OF USE OR PERFORMANCE OF THE PRODUCT REMAINS WITH THE LICENSEE. 
+</b></p>
+
+<p><b>
+LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL ACTIPRO OR ITS SUPPLIERS BE LIABLE 
+FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF 
+BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR 
+INABILITY TO USE THE SOFTWARE PRODUCT OR THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES, EVEN IF ACTIPRO HAS BEEN ADVISED OF 
+THE POSSIBILITY OF SUCH DAMAGES. 
+</b></p>
+
+<p>
+Copyright (c) 2002-2007 Actipro Software LLC.  All rights reserved.
+</p>
+
+</body>
+</html>

BIN
lib/NCover/Explorer/ActiproSoftware.Shared.Net11.dll


BIN
lib/NCover/Explorer/ActiproSoftware.SyntaxEditor.Net11.dll


BIN
lib/NCover/Explorer/ActiproSoftware.WinUICore.Net11.dll


BIN
lib/NCover/Explorer/CommandBars.dll


+ 123 - 0
lib/NCover/Explorer/ConsoleConfig.xsd

@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!-- NCoverExplorer (c) 2007 Grant Drake.  -->
+<!-- Schema for configuration file to be passed to NCoverExplorer-Console.exe using /config: switch  -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+  <xs:element name="ConsoleSetting">
+    <xs:complexType>
+      <xs:sequence>
+		<!-- Title name to appear on the report (equivalent to /project:xx). Default is blank. -->
+		<xs:element name="ProjectName" type="xs:string" minOccurs="0" maxOccurs="1" />
+        <!-- Threshold for acceptance criteria for coverage reports detailing acceptable coverage levels. Default is 95% -->
+        <xs:element name="SatisfactoryCoverageThreshold" type="xs:decimal" minOccurs="0" maxOccurs="1" />
+        <!-- Threshold for acceptance criteria for coverage reports detailing acceptable coverage as #seqPts rather than %. Default is 0. -->
+        <xs:element name="SatisfactoryUnvisitedSequencePoints" type="xs:decimal" minOccurs="0" maxOccurs="1" />
+        <!-- Threshold for acceptance criteria for coverage reports detailing acceptable function coverage levels. Default is 80% -->
+        <xs:element name="SatisfactoryFunctionThreshold" type="xs:decimal" minOccurs="0" maxOccurs="1" />
+        <!-- Filtering to be applied to the results. Use integer (starting from 0=None) or named value. Default is "None". -->
+        <xs:element name="TreeFilterStyle" minOccurs="0" maxOccurs="1">
+          <xs:simpleType>
+            <xs:restriction base="xs:string">
+              <xs:enumeration value="None" />
+              <xs:enumeration value="HideUnvisited" />
+              <xs:enumeration value="HideFullyCovered" />
+              <xs:enumeration value="HideThresholdCovered" />
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:element>
+        <!-- Sorting to be applied to the results. Use integer (starting from 0=Name) or named value. Default is "Name". -->
+        <xs:element name="TreeSortStyle" minOccurs="0" maxOccurs="1">
+          <xs:simpleType>
+            <xs:restriction base="xs:string">
+              <xs:enumeration value="Name" />
+              <xs:enumeration value="ClassLine" />
+              <xs:enumeration value="CoveragePercentageAscending" />
+              <xs:enumeration value="CoveragePercentageDescending" />
+              <xs:enumeration value="UnvisitedSequencePointsAscending" />
+              <xs:enumeration value="UnvisitedSequencePointsDescending" />
+              <xs:enumeration value="VisitCountAscending" />
+              <xs:enumeration value="VisitCountDescending" />
+              <xs:enumeration value="FunctionCoverageAscending" />
+              <xs:enumeration value="FunctionCoverageDescending" />
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:element>
+        <!-- Coverage exclusions to exclude specified assemblies, namespaces, classes and/or methods. -->
+        <xs:element name="CoverageExclusions" minOccurs="0" maxOccurs="1">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element ref="CoverageExclusion" maxOccurs="unbounded" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <!-- Module specific coverage thresholds if wanting more granular coverage tolerances. -->
+        <xs:element name="ModuleThresholds" minOccurs="0" maxOccurs="1">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element ref="ModuleThreshold" maxOccurs="unbounded" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <!-- Names of the coverage files to merge/report on. Wildcards can be used. -->
+        <xs:element name="CoverageFileNames" minOccurs="1" maxOccurs="1">
+          <xs:complexType>
+            <xs:sequence>
+			  <xs:element name="CoverageFileName" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <!-- Report to be generated by running NCoverExplorer.Console. Default is "None". -->
+        <xs:element name="ReportType" minOccurs="0" maxOccurs="1">
+          <xs:simpleType>
+            <xs:restriction base="xs:string">
+              <xs:enumeration value="None" />
+              <xs:enumeration value="ModuleSummary" />
+              <xs:enumeration value="ModuleNamespaceSummary" />
+              <xs:enumeration value="ModuleClassSummary" />
+              <xs:enumeration value="ModuleClassFunctionSummary" />
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:element>
+		<!-- File name for the output HTML report if wanting to generate one. -->
+		<xs:element name="HtmlReportFileName" type="xs:string" minOccurs="0" maxOccurs="1" />
+		<!-- File name for the output XML report if wanting to generate one. -->
+		<xs:element name="XmlReportFileName" type="xs:string" minOccurs="0" maxOccurs="1" />
+		<!-- File name for the output merged coverage.xml file if any resulting from merging the inputs. -->
+		<xs:element name="MergeFileName" type="xs:string" minOccurs="0" maxOccurs="1" />
+		<!-- Whether to show the excluded elements in the footer of the output report if being generated. Default is false. -->
+		<xs:element name="ShowExcludedFooter" type="xs:boolean" minOccurs="0" maxOccurs="1" />
+		<!-- Whether to return a failure exit code if any module is below the minimum coverage threshold. Default is false. -->
+		<xs:element name="FailIfBelowMinimum" type="xs:boolean" minOccurs="0" maxOccurs="1" />
+		<!-- Whether to return a failure exit code if total coverage is below the minimum coverage threshold. Default is false. -->
+		<xs:element name="FailIfBelowCombinedMinimum" type="xs:boolean" minOccurs="0" maxOccurs="1" />
+		<!-- For use with the FailIfXXX options - the minimum coverage threshold if not specifying at the module level. -->
+		<xs:element name="MinimumCoverage" type="xs:decimal" minOccurs="0" maxOccurs="1" />
+		<!-- Whether to suppress virtually all console output when running. Default is false. -->
+		<xs:element name="NoLog" type="xs:boolean" minOccurs="0" maxOccurs="1" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="CoverageExclusion">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="ExclusionType" minOccurs="1" maxOccurs="1">
+          <xs:simpleType>
+            <xs:restriction base="xs:string">
+              <xs:enumeration value="Assembly" />
+              <xs:enumeration value="Namespace" />
+              <xs:enumeration value="Class" />
+              <xs:enumeration value="Method" />
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:element>
+        <xs:element name="Pattern" type="xs:string" minOccurs="1" maxOccurs="1" />
+        <xs:element name="IsRegex" type="xs:boolean" minOccurs="0" maxOccurs="1" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ModuleThreshold">
+    <xs:complexType>
+      <xs:attribute name="ModuleName" use="required" type="xs:string" />
+      <xs:attribute name="SatisfactoryCoverage" use="required" type="xs:decimal" />
+    </xs:complexType>
+  </xs:element>
+</xs:schema>

+ 94 - 0
lib/NCover/Explorer/ConsoleExample.config

@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Example configuration file to be passed to NCoverExplorer-Console.exe using /config: switch  -->
+<!-- If not supplied, then the same defaults will be used as the NCoverExplorer GUI. -->
+<ConsoleSetting xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <!-- Name attribute is title to appear on the report (equivalent to /project:xx). Default is blank. -->
+  <ProjectName>Example.Project</ProjectName>
+
+  <!-- Names of the coverage files to merge/report on. Wildcards can be used. -->
+  <CoverageFileNames>
+    <CoverageFileName>*.Coverage.xml</CoverageFileName>
+  </CoverageFileNames>
+
+  <!-- Report to be generated by running NCoverExplorer.Console. Default is "None". Other possible values are:
+	  "ModuleSummary", "ModuleNamespaceSummary",
+	  "ModuleClassSummary", "ModuleClassFunctionSummary"
+  -->
+  <ReportType>ModuleClassSummary</ReportType>
+  <!-- Filename for the output html report if wanting to generate one. -->
+  <HtmlReportFileName>C:\MyCoverageReport.html</HtmlReportFileName>
+  <!-- Filename for the output xml report (for use by cc.net) if wanting to generate one. -->
+  <XmlReportFileName>C:\MyCoverageReport.xml</XmlReportFileName>
+  
+  <!-- File name for the output merged coverage.xml file if any resulting from merging the inputs. -->
+  <!--<MergeFileName>C:\MyCoverageMerged.xml</MergeFileName>-->
+  
+  <!-- Whether to show the excluded elements in the footer of the output report if being generated. Default is false. -->
+  <!--<ShowExcludedFooter>True</ShowExcludedFooter>-->
+  
+  <!-- Whether to suppress virtually all console output when running. Default is false. -->
+  <!--<NoLog>True</NoLog>-->
+
+  <!-- Threshold for acceptance criteria for coverage reports detailing acceptable coverage levels. Default is 95% -->
+  <!--<SatisfactoryCoverageThreshold>95</SatisfactoryCoverageThreshold>-->
+  
+  <!-- Threshold for acceptance criteria for coverage reports detailing acceptable coverage as #seqPts rather than %. Default is 0. -->
+  <!--<SatisfactoryUnvisitedSequencePoints>2</SatisfactoryUnvisitedSequencePoints> -->
+  
+  <!-- Threshold for acceptance criteria for coverage reports detailing acceptable function coverage levels. Default is 80% -->
+  <!--<SatisfactoryFunctionThreshold>80</SatisfactoryFunctionThreshold> -->
+   
+  <!-- Threshold for acceptance criteria for coverage reports detailing acceptable function coverage levels. Default is 80% -->
+  <!--<SatisfactoryFunctionThreshold>80</SatisfactoryFunctionThreshold> -->
+ 
+  <!-- Filtering to be applied to the results. Use integer or named value. Default is "None". Possible values:
+	"None" (0),
+	"HideUnvisited" (1), 
+	"HideFullyCovered" (2),
+	"HideThresholdCovered" (3)
+   -->
+  <TreeFilterStyle>None</TreeFilterStyle>
+  
+  <!-- Sorting to be applied to the results. Use integer or named value. Default is "Name". Possible values:
+	"Name" (0),
+	"ClassLine" (1), 
+	"CoveragePercentageAscending" (2), "CoveragePercentageDescending" (3),
+	"UnvisitedSequencePointsAscending" (4), "UnvisitedSequencePointsDescending" (5), 
+	"VisitCountAscending" (6), "VisitCountDescending" (7)
+	"FunctionCoverageAscending" (8), "FunctionCoverageDescending" (9),
+   -->
+  <TreeSortStyle>Name</TreeSortStyle>
+  
+  <!-- Coverage exclusions to exclude specified assemblies, namespaces and/or classes. -->
+  <CoverageExclusions>
+    <CoverageExclusion>
+      <ExclusionType>Assembly</ExclusionType>
+      <!-- Valid values are [Assembly], [Namespace] and [Class]. -->
+      <Pattern>*.Tests</Pattern>
+      <IsRegex>false</IsRegex>
+      <!-- Only required with a value of "true" if you do have a regular expression based pattern -->
+    </CoverageExclusion>
+    <CoverageExclusion>
+      <ExclusionType>Namespace</ExclusionType>
+      <Pattern>*.My*</Pattern>
+    </CoverageExclusion>
+  </CoverageExclusions>
+  
+  <!-- Module specific coverage thresholds if any, -->
+  <!--<ModuleThresholds>
+    <ModuleThreshold ModuleName="NCoverExplorer.Core.dll" SatisfactoryCoverage="30" />
+  </ModuleThresholds>-->
+   
+  <!-- Whether to return a failure exit code if any module is below the minimum coverage threshold. Default is false. -->
+  <!--<FailIfBelowMinimum>True</FailIfBelowMinimum> -->
+  
+  <!-- Whether to return a failure exit code if total coverage is below the minimum coverage threshold. Default is false. -->
+  <!--<FailIfBelowCombinedMinimum>True</FailIfBelowCombinedMinimum> -->
+  
+  <!-- For use with the FailIfXXX options - the minimum coverage threshold if not specifying at the module level. -->
+  <!--<MinimumCoverage>True</MinimumCoverage> -->
+  
+  <!-- Whether to suppress virtually all console output when running. Default is false. -->
+  <!--<NoLog>True</NoLog> -->
+  
+</ConsoleSetting>

+ 468 - 0
lib/NCover/Explorer/CoverageReport.xsl

@@ -0,0 +1,468 @@
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
+	<!-- Created for NCoverExplorer by Grant Drake (see http://www.kiwidude.com/blog/)	-->
+	<xsl:output method="html" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/>
+	
+	<xsl:template match="/">
+		<html>
+			<head>
+				<xsl:comment>Generated by NCoverExplorer (see http://www.kiwidude.com/blog/)</xsl:comment>
+				<title>NCoverExplorer - Merged Report</title>
+				<style>
+					body 						{ font: small verdana, arial, helvetica; color:#000000;	}
+					.coverageReportTable		{ font-size: 9px; }
+					.reportHeader 				{ padding: 5px 8px 5px 8px; font-size: 12px; border: 1px solid; margin: 0px;	}
+					.titleText					{ font-weight: bold; font-size: 12px; white-space: nowrap; padding: 0px; margin: 1px; }
+					.subtitleText 				{ font-size: 9px; font-weight: normal; padding: 0px; margin: 1px; white-space: nowrap; }
+					.projectStatistics			{ font-size: 10px; border-left: #649cc0 1px solid; white-space: nowrap;	width: 40%;	}
+					.heading					{ font-weight: bold; }
+					.mainTableHeaderLeft 		{ border: #dcdcdc 1px solid; font-weight: bold;	padding-left: 5px; }
+					.mainTableHeader 			{ border-bottom: 1px solid; border-top: 1px solid; border-right: 1px solid;	text-align: center;	}
+					.mainTableGraphHeader 		{ border-bottom: 1px solid; border-top: 1px solid; border-right: 1px solid;	text-align: left; font-weight: bold; }
+					.mainTableCellItem 			{ background: #ffffff; border-left: #dcdcdc 1px solid; border-right: #dcdcdc 1px solid; padding-left: 10px; padding-right: 10px; font-weight: bold; font-size: 10px; }
+					.mainTableCellData 			{ background: #ffffff; border-right: #dcdcdc 1px solid;	text-align: center;	white-space: nowrap; }
+					.mainTableCellPercent 		{ background: #ffffff; font-weight: bold; white-space: nowrap; text-align: right; padding-left: 10px; }
+					.mainTableCellGraph 		{ background: #ffffff; border-right: #dcdcdc 1px solid; padding-right: 5px; }
+					.mainTableCellBottom		{ border-bottom: #dcdcdc 1px solid;	}
+					.childTableHeader 			{ border-top: 1px solid; border-bottom: 1px solid; border-left: 1px solid; border-right: 1px solid;	font-weight: bold; padding-left: 10px; }
+					.childTableCellIndentedItem { background: #ffffff; border-left: #dcdcdc 1px solid; border-right: #dcdcdc 1px solid; padding-right: 10px; font-size: 10px; }		
+					.exclusionTableCellItem 	{ background: #ffffff; border-left: #dcdcdc 1px solid; border-right: #dcdcdc 1px solid; padding-left: 10px; padding-right: 10px; }
+					.projectTable				{ background: #a9d9f7; border-color: #649cc0; }
+					.primaryTable				{ background: #d7eefd; border-color: #a4dafc; }
+					.secondaryTable 			{ background: #f9e9b7; border-color: #f6d376; }
+					.secondaryChildTable 		{ background: #fff6df; border-color: #f5e1b1; }
+					.exclusionTable				{ background: #fadada; border-color: #f37f7f; }
+					.graphBarNotVisited			{ font-size: 2px; border:#9c9c9c 1px solid; background:#df0000; }
+					.graphBarSatisfactory		{ font-size: 2px; border:#9c9c9c 1px solid;	background:#f4f24e; }
+					.graphBarVisited			{ background: #00df00; font-size: 2px; border-left:#9c9c9c 1px solid; border-top:#9c9c9c 1px solid; border-bottom:#9c9c9c 1px solid; }
+					.graphBarVisitedFully		{ background: #00df00; font-size: 2px; border:#9c9c9c 1px solid; }
+				</style>
+			</head>
+			<body>
+				<table class="coverageReportTable" cellpadding="2" cellspacing="0">
+					<tbody>
+					<xsl:apply-templates select="//coverageReport" />
+					</tbody>
+				</table>
+			</body>
+		</html>
+	</xsl:template>
+	
+	<!-- Main Project Section -->
+	<xsl:template match="//coverageReport">
+		<xsl:variable name="reportType" select="./@reportTitle" />
+		<xsl:variable name="threshold">
+			<xsl:choose>
+				<xsl:when test="$reportType = 'Module Class Function Summary'"><xsl:value-of select="./project/@acceptableFunction" /></xsl:when>
+				<xsl:otherwise><xsl:value-of select="./project/@acceptable" /></xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:variable name="unvisitedTitle">
+			<xsl:choose>
+				<xsl:when test="$reportType = 'Module Class Function Summary'">Unvisited Functions</xsl:when>
+				<xsl:otherwise>Unvisited SeqPts</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+ 		<xsl:variable name="coverageTitle">
+			<xsl:choose>
+				<xsl:when test="$reportType = 'Module Class Function Summary'">Function Coverage</xsl:when>
+				<xsl:otherwise>Coverage</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+   
+		<xsl:call-template name="header" />
+    
+		<xsl:call-template name="projectSummary">
+			<xsl:with-param name="threshold" select="$threshold" />
+			<xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
+			<xsl:with-param name="coverageTitle" select="$coverageTitle" />
+			<xsl:with-param name="reportType" select="$reportType" />
+		</xsl:call-template>
+        
+		<xsl:call-template name="moduleSummary">
+			<xsl:with-param name="threshold" select="$threshold" />
+			<xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
+			<xsl:with-param name="coverageTitle" select="$coverageTitle" />
+		</xsl:call-template>
+    
+		<xsl:if test="$reportType = 'Module Namespace Summary'">
+			<xsl:call-template name="moduleNamespaceSummary">
+				<xsl:with-param name="threshold" select="$threshold" />
+			</xsl:call-template>
+		</xsl:if>
+    
+		<xsl:if test="($reportType = 'Module Class Summary') or ($reportType = 'Module Class Function Summary')">
+			<xsl:call-template name="classModuleSummary">
+				<xsl:with-param name="threshold" select="$threshold" />
+				<xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
+				<xsl:with-param name="coverageTitle" select="$coverageTitle" />
+			</xsl:call-template>
+		</xsl:if>
+    
+		<xsl:if test="count(./exclusions/exclusion) != 0">
+			<xsl:call-template name="exclusionsSummary" />
+		</xsl:if>
+    
+		<xsl:call-template name="footer" />  
+  </xsl:template>
+
+	
+	<!-- Report Header -->
+	<xsl:template name="header">
+				<tr>
+					<td class="projectTable reportHeader" colspan="5">
+						<table width="100%">
+							<tbody>
+								<tr>
+									<td valign="top">
+										<h1 class="titleText">NCoverExplorer Coverage Report - <xsl:value-of select="./project/@name" />&#160;&#160;</h1>
+										<table cellpadding="1" class="subtitleText">
+											<tbody>
+												<tr>
+													<td class="heading">Report generated on:</td>
+													<td><xsl:value-of select="./@date" />&#160;at&#160;<xsl:value-of select="./@time" /></td>
+												</tr>
+												<tr>
+													<td class="heading">NCoverExplorer version:</td>
+													<td><xsl:value-of select="./@version" /></td>
+												</tr>
+												<tr>
+													<td class="heading">Filtering / Sorting:</td>
+													<td><xsl:value-of select="./project/@filteredBy" />&#160;/&#160;<xsl:value-of select="./project/@sortedBy" /></td>
+												</tr>
+											</tbody>
+										</table>
+									</td>
+									<td class="projectStatistics" align="right" valign="top">
+										<table cellpadding="1">
+											<tbody>
+												<tr>
+													<td rowspan="4" valign="top" nowrap="true" class="heading">Project Statistics:</td>
+													<td align="right" class="heading">Files:</td>
+													<td align="right"><xsl:value-of select="./project/@files" /></td>
+													<td rowspan="4">&#160;</td>
+													<td align="right" class="heading">NCLOC:</td>
+													<td align="right"><xsl:value-of select="./project/@nonCommentLines" /></td>
+												</tr>
+												<tr>
+													<td align="right" class="heading">Classes:</td>
+													<td align="right"><xsl:value-of select="./project/@classes" /></td>
+													<td align="right" class="heading">&#160;</td>
+													<td align="right">&#160;</td>
+												</tr>
+												<tr>
+													<td align="right" class="heading">Functions:</td>
+													<td align="right"><xsl:value-of select="./project/@members" /></td>
+													<td align="right" class="heading">Unvisited:</td>
+													<td align="right"><xsl:value-of select="./project/@unvisitedFunctions" /></td>
+												</tr>
+												<tr>
+													<td align="right" class="heading">Seq Pts:</td>
+													<td align="right"><xsl:value-of select="./project/@sequencePoints" /></td>
+													<td align="right" class="heading">Unvisited:</td>
+													<td align="right"><xsl:value-of select="./project/@unvisitedPoints" /></td>
+												</tr>
+											</tbody>
+										</table>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</td>
+				</tr>
+	</xsl:template>
+	
+	<!-- Project Summary -->
+	<xsl:template name="projectSummary">
+		<xsl:param name="threshold" />
+		<xsl:param name="unvisitedTitle" />
+		<xsl:param name="coverageTitle" />
+		<xsl:param name="reportType" />
+				<tr>
+					<td colspan="5">&#160;</td>
+				</tr>
+				<tr>
+					<td class="projectTable mainTableHeaderLeft">Project</td>
+					<td class="projectTable mainTableHeader">Acceptable</td>
+					<td class="projectTable mainTableHeader"><xsl:value-of select="$unvisitedTitle" /></td>
+					<td class="projectTable mainTableGraphHeader" colspan="2"><xsl:value-of select="$coverageTitle" /></td>
+				</tr>
+			<xsl:call-template name="coverageDetail">
+				<xsl:with-param name="name">
+					<xsl:choose>
+						<xsl:when test="string-length(./project/@name) > 0"><xsl:value-of select="./project/@name" /></xsl:when>
+						<xsl:otherwise>&#160;</xsl:otherwise>
+					</xsl:choose>
+				</xsl:with-param>
+				<xsl:with-param name="unvisitedPoints">
+					<xsl:choose>
+						<xsl:when test="$reportType = 'Module Class Function Summary'"><xsl:value-of select="./project/@unvisitedFunctions" /></xsl:when>
+						<xsl:otherwise><xsl:value-of select="./project/@unvisitedPoints" /></xsl:otherwise>
+					</xsl:choose>
+				</xsl:with-param>
+				<xsl:with-param name="sequencePoints">
+					<xsl:choose>
+						<xsl:when test="$reportType = 'Module Class Function Summary'"><xsl:value-of select="./project/@members" /></xsl:when>
+						<xsl:otherwise><xsl:value-of select="./project/@sequencePoints" /></xsl:otherwise>
+					</xsl:choose>
+				</xsl:with-param>
+				<xsl:with-param name="coverage">
+					<xsl:choose>
+						<xsl:when test="$reportType = 'Module Class Function Summary'"><xsl:value-of select="./project/@functionCoverage" /></xsl:when>
+						<xsl:otherwise><xsl:value-of select="./project/@coverage" /></xsl:otherwise>
+					</xsl:choose>
+				</xsl:with-param>
+				<xsl:with-param name="threshold" select="$threshold" />
+				<xsl:with-param name="showThreshold">True</xsl:with-param>
+			</xsl:call-template>
+	</xsl:template>
+		
+	<!-- Modules Summary -->
+	<xsl:template name="moduleSummary">
+		<xsl:param name="threshold" />
+		<xsl:param name="unvisitedTitle" />
+		<xsl:param name="coverageTitle" />
+				<tr>
+					<td colspan="5">&#160;</td>
+				</tr>
+				<tr>
+					<td class="primaryTable mainTableHeaderLeft">Modules</td>
+					<td class="primaryTable mainTableHeader">Acceptable</td>
+					<td class="primaryTable mainTableHeader"><xsl:value-of select="$unvisitedTitle" /></td>
+					<td class="primaryTable mainTableGraphHeader" colspan="2"><xsl:value-of select="$coverageTitle" /></td>
+				</tr>				
+		<xsl:for-each select="./modules/module">
+			<xsl:call-template name="coverageDetail">
+				<xsl:with-param name="name" select="./@name" />
+				<xsl:with-param name="unvisitedPoints" select="./@unvisitedPoints" />
+				<xsl:with-param name="sequencePoints" select="./@sequencePoints" />
+				<xsl:with-param name="coverage" select="./@coverage" />
+				<xsl:with-param name="threshold" select="./@acceptable" />
+				<xsl:with-param name="showThreshold">True</xsl:with-param>
+			</xsl:call-template>
+		</xsl:for-each>
+	</xsl:template>
+		
+	<!-- Namespaces per Module Summary -->
+	<xsl:template name="moduleNamespaceSummary">
+		<xsl:param name="threshold" />
+		<xsl:for-each select="./modules/module">
+				<tr>
+					<td colspan="5">&#160;</td>
+				</tr>
+				<tr>
+					<td class="secondaryTable mainTableHeaderLeft">Module</td>
+					<td class="secondaryTable mainTableHeader">Acceptable</td>
+					<td class="secondaryTable mainTableHeader">Unvisited SeqPts</td>
+					<td class="secondaryTable mainTableGraphHeader" colspan="2">Coverage</td>
+				</tr>				
+			<xsl:call-template name="coverageDetailSecondary">
+				<xsl:with-param name="name" select="./@name" />
+				<xsl:with-param name="unvisitedPoints" select="./@unvisitedPoints" />
+				<xsl:with-param name="sequencePoints" select="./@sequencePoints" />
+				<xsl:with-param name="coverage" select="./@coverage" />
+				<xsl:with-param name="threshold" select="./@acceptable" />
+			</xsl:call-template>
+				<tr>
+					<td class="secondaryChildTable childTableHeader" colspan="5">Namespaces</td>
+				</tr>				
+			<xsl:for-each select="./namespace">
+				<xsl:call-template name="coverageIndentedDetail">
+					<xsl:with-param name="name" select="./@name" />
+					<xsl:with-param name="unvisitedPoints" select="./@unvisitedPoints" />
+					<xsl:with-param name="sequencePoints" select="./@sequencePoints" />
+					<xsl:with-param name="coverage" select="./@coverage" />
+					<xsl:with-param name="threshold" select="./../@acceptable" />
+				</xsl:call-template>
+			</xsl:for-each>
+		</xsl:for-each>
+	</xsl:template>
+		
+	<!-- Classes per Namespace per Module Summary -->
+	<xsl:template name="classModuleSummary">
+		<xsl:param name="threshold" />
+		<xsl:param name="unvisitedTitle" />
+		<xsl:param name="coverageTitle" />
+		<xsl:for-each select="./modules/module">
+				<tr>
+					<td colspan="5">&#160;</td>
+				</tr>
+				<tr>
+					<td class="secondaryTable mainTableHeaderLeft">Module</td>
+					<td class="secondaryTable mainTableHeader">Acceptable</td>
+					<td class="secondaryTable mainTableHeader"><xsl:value-of select="$unvisitedTitle" /></td>
+					<td class="secondaryTable mainTableGraphHeader" colspan="2"><xsl:value-of select="$coverageTitle" /></td>
+				</tr>				
+			<xsl:call-template name="coverageDetailSecondary">
+				<xsl:with-param name="name" select="./@name" />
+				<xsl:with-param name="unvisitedPoints" select="./@unvisitedPoints" />
+				<xsl:with-param name="sequencePoints" select="./@sequencePoints" />
+				<xsl:with-param name="coverage" select="./@coverage" />
+				<xsl:with-param name="threshold" select="./@acceptable" />
+			</xsl:call-template>
+				<tr>
+					<td class="secondaryChildTable childTableHeader" colspan="5">Namespace / Classes</td>
+				</tr>				
+			<xsl:for-each select="./namespace">
+				<xsl:call-template name="coverageIndentedDetail">
+					<xsl:with-param name="name" select="./@name" />
+					<xsl:with-param name="unvisitedPoints" select="./@unvisitedPoints" />
+					<xsl:with-param name="sequencePoints" select="./@sequencePoints" />
+					<xsl:with-param name="coverage" select="./@coverage" />
+					<xsl:with-param name="threshold" select="../@acceptable" />
+					<xsl:with-param name="styleTweak">padding-left:20px;font-weight:bold</xsl:with-param>
+				</xsl:call-template>
+				<xsl:for-each select="./class">
+					<xsl:call-template name="coverageIndentedDetail">
+						<xsl:with-param name="name" select="./@name" />
+						<xsl:with-param name="unvisitedPoints" select="./@unvisitedPoints" />
+						<xsl:with-param name="sequencePoints" select="./@sequencePoints" />
+						<xsl:with-param name="coverage" select="./@coverage" />
+						<xsl:with-param name="threshold" select="../../@acceptable" />
+						<xsl:with-param name="styleTweak">padding-left:30px</xsl:with-param>
+						<xsl:with-param name="scale">160</xsl:with-param>
+					</xsl:call-template>
+				</xsl:for-each>
+			</xsl:for-each>
+		</xsl:for-each>
+	</xsl:template>
+	
+	<!-- Coverage detail row in main grid displaying a name, statistics and graph bar -->
+	<xsl:template name="coverageDetail">
+		<xsl:param name="name" />
+		<xsl:param name="unvisitedPoints" />
+		<xsl:param name="sequencePoints" />
+		<xsl:param name="coverage" />
+		<xsl:param name="threshold" />
+		<xsl:param name="showThreshold" />
+				<tr>
+			<xsl:choose>
+				<xsl:when test="$showThreshold='True'">
+					<td class="mainTableCellBottom mainTableCellItem"><xsl:value-of select="$name" /></td>
+					<td class="mainTableCellBottom mainTableCellData"><xsl:value-of select="concat(format-number($threshold,'#0.0'), ' %')" /></td>
+				</xsl:when>
+				<xsl:otherwise>
+					<td class="mainTableCellBottom mainTableCellItem" colspan="2"><xsl:value-of select="$name" /></td>
+				</xsl:otherwise>
+			</xsl:choose>
+					<td class="mainTableCellBottom mainTableCellData"><xsl:value-of select="$unvisitedPoints" /></td>
+					<td class="mainTableCellBottom mainTableCellPercent"><xsl:value-of select="concat(format-number($coverage,'#0.0'), ' %')" /></td>
+					<td class="mainTableCellBottom mainTableCellGraph">
+						<xsl:call-template name="detailPercent">
+							<xsl:with-param name="notVisited" select="$unvisitedPoints" />
+							<xsl:with-param name="total" select="$sequencePoints" />
+							<xsl:with-param name="threshold" select="$threshold" />
+							<xsl:with-param name="scale" select="200" />
+						</xsl:call-template>
+					</td>
+				</tr>
+	</xsl:template>
+	
+	<!-- Coverage detail row in secondary grid header displaying a name, statistics and graph bar -->
+	<xsl:template name="coverageDetailSecondary">
+		<xsl:param name="name" />
+		<xsl:param name="unvisitedPoints" />
+		<xsl:param name="sequencePoints" />
+		<xsl:param name="coverage" />
+		<xsl:param name="threshold" />
+				<tr>
+					<td class="mainTableCellItem"><xsl:value-of select="$name" /></td>
+					<td class="mainTableCellData"><xsl:value-of select="concat(format-number($threshold,'#0.0'), ' %')" /></td>
+					<td class="mainTableCellData"><xsl:value-of select="$unvisitedPoints" /></td>
+					<td class="mainTableCellPercent"><xsl:value-of select="concat(format-number($coverage,'#0.0'), ' %')" /></td>
+					<td class="mainTableCellGraph">
+						<xsl:call-template name="detailPercent">
+							<xsl:with-param name="notVisited" select="$unvisitedPoints" />
+							<xsl:with-param name="total" select="$sequencePoints" />
+							<xsl:with-param name="threshold" select="$threshold" />
+							<xsl:with-param name="scale" select="200" />
+						</xsl:call-template>
+					</td>
+				</tr>
+	</xsl:template>
+	
+	<!-- Coverage detail row with indented item name and shrunk graph bar -->
+	<xsl:template name="coverageIndentedDetail">
+		<xsl:param name="name" />
+		<xsl:param name="unvisitedPoints" />
+		<xsl:param name="sequencePoints" />
+		<xsl:param name="coverage" />
+		<xsl:param name="threshold" />
+		<xsl:param name="styleTweak">padding-left:20px</xsl:param>
+		<xsl:param name="scale">180</xsl:param>
+				<tr>
+					<td class="mainTableCellBottom childTableCellIndentedItem" colspan="2"><xsl:attribute name="style"><xsl:value-of select="$styleTweak"/></xsl:attribute><xsl:value-of select="$name" /></td>
+					<td class="mainTableCellBottom mainTableCellData"><xsl:value-of select="$unvisitedPoints" /></td>
+					<td class="mainTableCellBottom mainTableCellPercent"><xsl:value-of select="concat(format-number($coverage,'#0.0'), ' %')" /></td>
+					<td class="mainTableCellBottom mainTableCellGraph">
+						<xsl:call-template name="detailPercent">
+							<xsl:with-param name="notVisited" select="$unvisitedPoints" />
+							<xsl:with-param name="total" select="$sequencePoints" />
+							<xsl:with-param name="threshold" select="$threshold" />
+							<xsl:with-param name="scale" select="$scale" />
+						</xsl:call-template>
+					</td>
+				</tr>
+	</xsl:template>
+		
+	<!-- Exclusions Summary -->
+	<xsl:template name="exclusionsSummary">
+			<tr>
+					<td colspan="5">&#160;</td>
+				</tr>
+				<tr>
+					<td class="exclusionTable mainTableHeaderLeft" colspan="3">Excluded From Coverage Results</td>
+					<td class="exclusionTable mainTableGraphHeader" colspan="2">All Code Within</td>
+				</tr>
+		<xsl:for-each select="./exclusions/exclusion">
+				<tr>
+					<td class="mainTableCellBottom exclusionTableCellItem" colspan="3"><xsl:value-of select="@name" /></td>
+					<td class="mainTableCellBottom mainTableCellGraph" colspan="2"><xsl:value-of select="@category" /></td>
+				</tr>
+		</xsl:for-each>
+	</xsl:template>
+	
+	<!-- Footer -->
+	<xsl:template name="footer">
+				<tr>
+					<td colspan="5">&#160;</td>
+				</tr>
+	</xsl:template>
+	
+	<!-- Draw % Green/Red/Yellow Bar -->
+	<xsl:template name="detailPercent">
+		<xsl:param name="notVisited" />
+		<xsl:param name="total" />
+		<xsl:param name="threshold" />
+		<xsl:param name="scale" />
+		<xsl:variable name="visited" select="$total - $notVisited" />
+		<xsl:variable name="coverage" select="$visited div $total * 100"/>
+		<table cellpadding="0" cellspacing="0">
+			<tbody>
+				<tr>
+					<xsl:if test="$notVisited = 0">
+						<td class="graphBarVisitedFully" height="14">
+							<xsl:attribute name="width">
+								<xsl:value-of select="$scale" />
+							</xsl:attribute>.</td>
+					</xsl:if>
+					<xsl:if test="($visited != 0) and ($notVisited != 0)">
+						<td class="graphBarVisited" height="14">
+							<xsl:attribute name="width">
+								<xsl:value-of select="format-number($coverage div 100 * $scale, '0') - 1" />
+							</xsl:attribute>.</td>
+					</xsl:if>
+					<xsl:if test="$notVisited != 0">
+						<td height="14">
+							<xsl:attribute name="class">
+								<xsl:if test="$coverage &gt;= $threshold">graphBarSatisfactory</xsl:if>
+								<xsl:if test="$coverage &lt; $threshold">graphBarNotVisited</xsl:if>
+							</xsl:attribute>
+							<xsl:attribute name="width">
+								<xsl:value-of select="format-number($notVisited div $total * $scale, '0')" />
+							</xsl:attribute>.</td>
+					</xsl:if>
+				</tr>
+			</tbody>
+		</table>
+	</xsl:template>
+</xsl:stylesheet>

+ 334 - 0
lib/NCover/Explorer/LicencePersonal.rtf

@@ -0,0 +1,334 @@
+{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang2057\deflangfe2057{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
+{\f36\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f37\fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Verdana;}{\f38\froman\fcharset238\fprq2 Times New Roman CE;}{\f39\froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\f41\froman\fcharset161\fprq2 Times New Roman Greek;}{\f42\froman\fcharset162\fprq2 Times New Roman Tur;}{\f43\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f44\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\f45\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f46\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f48\fswiss\fcharset238\fprq2 Arial CE;}{\f49\fswiss\fcharset204\fprq2 Arial Cyr;}{\f51\fswiss\fcharset161\fprq2 Arial Greek;}
+{\f52\fswiss\fcharset162\fprq2 Arial Tur;}{\f53\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f54\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\f55\fswiss\fcharset186\fprq2 Arial Baltic;}{\f56\fswiss\fcharset163\fprq2 Arial (Vietnamese);}
+{\f398\fswiss\fcharset238\fprq2 Tahoma CE;}{\f399\fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f401\fswiss\fcharset161\fprq2 Tahoma Greek;}{\f402\fswiss\fcharset162\fprq2 Tahoma Tur;}{\f403\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}
+{\f404\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f405\fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f406\fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f407\fswiss\fcharset222\fprq2 Tahoma (Thai);}{\f408\fswiss\fcharset238\fprq2 Verdana CE;}
+{\f409\fswiss\fcharset204\fprq2 Verdana Cyr;}{\f411\fswiss\fcharset161\fprq2 Verdana Greek;}{\f412\fswiss\fcharset162\fprq2 Verdana Tur;}{\f415\fswiss\fcharset186\fprq2 Verdana Baltic;}{\f416\fswiss\fcharset163\fprq2 Verdana (Vietnamese);}}
+{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
+\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\qj \li0\ri0\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 
+\af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\s1\qc \li0\ri0\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs20\alang1025 
+\ltrch\fcs0 \b\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 1;}{\s2\qj \li0\ri0\sa120\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs20\alang1025 
+\ltrch\fcs0 \b\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 2;}{\s7\ql \fi-720\li720\ri0\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel6\adjustright\rin0\lin720\itap0 \rtlch\fcs1 
+\ab\af1\afs24\alang1025 \ltrch\fcs0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 7;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
+\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv 
+\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{
+\s15\qj \li0\ri0\sa220\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 \ssemihidden footnote text;}{\*\cs16 
+\additive \rtlch\fcs1 \af0 \ltrch\fcs0 \super \sbasedon10 \ssemihidden footnote reference;}{
+\s17\qj \li2880\ri0\widctlpar\phpg\posxc\posyb\absh-1980\absw7920\dxfrtext180\dfrmtxtx180\dfrmtxty0\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2880\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
+\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext17 envelope address;}{\s18\qj \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs16\alang1025 \ltrch\fcs0 
+\scaps\fs16\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext18 envelope return;}{\s19\qj \li0\ri0\widctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 
+\ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext19 header;}{\s20\qj \li0\ri0\widctlpar\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
+\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext20 footer;}{\*\cs21 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \sbasedon10 page number;}{\s22\qj \li0\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 
+\rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon23 \snext22 Num Continue;}{\s23\qj \li0\ri0\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 
+\af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext23 Body Text;}{\s24\qj \li0\ri0\sa120\widctlpar\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls3\outlinelevel0\adjustright\rin0\lin0\itap0 
+\rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext22 Legal2_L1;}{\s25\qj \fi720\li0\ri0\sa120\widctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl1\outlinelevel1\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon24 \snext22 Legal2_L2;}{
+\s26\qj \fi1440\li0\ri0\sa120\widctlpar\jclisttab\tx1800\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl2\outlinelevel2\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 
+\sbasedon25 \snext22 Legal2_L3;}{\s27\qj \fi2160\li0\ri0\sa120\widctlpar\jclisttab\tx2880\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl3\outlinelevel3\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
+\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon26 \snext22 Legal2_L4;}{\s28\qj \fi2880\li0\ri0\sa120\widctlpar\jclisttab\tx3600\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl4\outlinelevel4\adjustright\rin0\lin0\itap0 \rtlch\fcs1 
+\af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon27 \snext22 Legal2_L5;}{\s29\qj \fi3600\li0\ri0\sa120\widctlpar
+\jclisttab\tx4320\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl5\outlinelevel5\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon28 \snext22 Legal2_L6;}{
+\s30\qj \fi4320\li0\ri0\sa120\widctlpar\jclisttab\tx5040\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl6\outlinelevel6\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 
+\sbasedon29 \snext22 Legal2_L7;}{\s31\qj \fi720\li0\ri0\sa120\widctlpar\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl7\outlinelevel7\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
+\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon30 \snext22 Legal2_L8;}{\s32\qj \fi1440\li0\ri0\sa120\widctlpar\jclisttab\tx2160\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl8\outlinelevel8\adjustright\rin0\lin0\itap0 \rtlch\fcs1 
+\af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon31 \snext22 Legal2_L9;}{\*\cs33 \additive \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\caps\cf2 \sbasedon10 zzmpTCEntryL1;}{\*\cs34 \additive \rtlch\fcs1 \ab\af0 
+\ltrch\fcs0 \b\cf2 \sbasedon10 zzmpTCEntryL2;}{\*\cs35 \additive \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf2 \sbasedon10 zzmpTCEntryL3;}{\*\cs36 \additive \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf2 \sbasedon10 zzmpTCEntryL4;}{\*\cs37 \additive \rtlch\fcs1 \af0 
+\ltrch\fcs0 \cf2 \sbasedon10 zzmpTCEntryL5;}{\*\cs38 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \cf2 \sbasedon10 zzmpTCEntryL6;}{\*\cs39 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \cf2 \sbasedon10 zzmpTCEntryL7;}{\*\cs40 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 
+\cf2 \sbasedon10 zzmpTCEntryL8;}{\*\cs41 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \cf2 \sbasedon10 zzmpTCEntryL9;}{\s42\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 
+\af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext42 Normal (Web);}{\*\cs43 \additive \rtlch\fcs1 \af37\afs17 \ltrch\fcs0 \f37\fs17 \sbasedon10 bodytext1;}{\*\cs44 \additive \rtlch\fcs1 \af0 
+\ltrch\fcs0 \ul\cf2 \sbasedon10 Hyperlink;}{\s45\qj \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af1\afs20\alang1025 \ltrch\fcs0 \b\f1\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 
+\sbasedon0 \snext45 Body Text 2;}{\*\cs46 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf12 \sbasedon10 FollowedHyperlink;}{\*\cs47 \additive \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0 \sbasedon10 text1;}{\*\cs48 \additive \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b 
+\sbasedon10 \styrsid684987 Strong;}{\s49\qj \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af36\afs16\alang1025 \ltrch\fcs0 \f36\fs16\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 
+\sbasedon0 \snext49 \slink50 \ssemihidden \styrsid4745031 Balloon Text;}{\*\cs50 \additive \rtlch\fcs1 \af36\afs16 \ltrch\fcs0 \f36\fs16\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \slink49 \slocked \styrsid4745031 Balloon Text Char;}}
+{\*\latentstyles\lsdstimax156\lsdlockeddef0{\lsdlockedexcept Normal;heading 1;heading 2;heading 3;heading 4;heading 5;heading 6;heading 7;heading 8;heading 9;toc 1;toc 2;toc 3;toc 4;toc 5;toc 6;toc 7;toc 8;toc 9;caption;Title;Subtitle;Strong;Emphasis;}}
+{\*\listtable{\list\listtemplateid1586421402{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'00;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li360
+\jclisttab\tx360\lin360 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03\'00.\'01;}{\levelnumbers\'01\'03;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li1260\jclisttab\tx1260\lin1260 
+}{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'05\'00.\'01.\'02;}{\levelnumbers\'01\'03\'05;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-720\li2520\jclisttab\tx2520\lin2520 }{\listlevel
+\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'07\'00.\'01.\'02.\'03;}{\levelnumbers\'01\'03\'05\'07;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-720\li3420\jclisttab\tx3420\lin3420 }{\listlevel
+\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03(\'04);}{\levelnumbers\'02;}\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af1\hich\af1\dbch\af0\fbias0 \fi-1080\li4680\jclisttab\tx4680\lin4680 }{\listlevel
+\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0b\'00.\'01.\'02.\'03.\'04.\'05;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1080\li5580
+\jclisttab\tx5580\lin5580 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0d\'00.\'01.\'02.\'03.\'04.\'05.\'06;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\rtlch\fcs1 \af0 \ltrch\fcs0 
+\fbias0 \fi-1440\li6840\jclisttab\tx6840\lin6840 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0f\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07;}{\levelnumbers
+\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1440\li7740\jclisttab\tx7740\lin7740 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'11\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1800\li9000\jclisttab\tx9000\lin9000 }{\listname Legal22;}\listid187183174}{\list\listtemplateid-1494708814
+{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af1\afs22 \ltrch\fcs0 
+\b\i0\strike0\outl0\shad0\embo0\impr0\caps\v0\f1\fs22\ulnone\cf0\nosupersub\animtext0\striked0\fbias0 \s24\jclisttab\tx360 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'03\'00.\'01;}{\levelnumbers\'01\'03;}\rtlch\fcs1 \ab0\ai0\af1\afs22 \ltrch\fcs0 \b0\i0\strike0\outl0\shad0\embo0\impr0\caps0\v0\f1\fs22\ulnone\cf0\nosupersub\animtext0\striked0\fbias0 \s25\fi720\jclisttab\tx1080 }{\listlevel\levelnfc4\levelnfcn4
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03(\'02);}{\levelnumbers\'02;}\rtlch\fcs1 \ab0\ai0\af0\afs20 \ltrch\fcs0 
+\b0\i0\strike0\outl0\shad0\embo0\impr0\caps0\v0\f0\fs20\ulnone\cf0\nosupersub\animtext0\striked0\fbias0 \s26\fi1440\jclisttab\tx1800 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'03(\'03);}{\levelnumbers\'02;}\rtlch\fcs1 \ab0\ai0\af0\afs20 \ltrch\fcs0 \b0\i0\strike0\outl0\shad0\embo0\impr0\caps0\v0\f0\fs20\ulnone\cf0\nosupersub\animtext0\striked0\fbias0 \s27\fi2160\jclisttab\tx2880 }{\listlevel\levelnfc0\levelnfcn0\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03(\'04);}{\levelnumbers\'02;}\rtlch\fcs1 \ab0\ai0\af0\afs24 \ltrch\fcs0 
+\b0\i0\strike0\outl0\shad0\embo0\impr0\scaps0\caps0\v0\f0\fs24\ulnone\cf0\nosupersub\animtext0\striked0\fbias0 \s28\fi2880\jclisttab\tx3600 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af0\afs24 \ltrch\fcs0 \b0\i0\strike0\outl0\shad0\embo0\impr0\scaps0\caps0\v0\f0\fs24\ulnone\cf0\nosupersub\animtext0\striked0\fbias0 \s29\fi3600\jclisttab\tx4320 }{\listlevel\levelnfc2\levelnfcn2
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af0\afs24 \ltrch\fcs0 
+\b0\i0\strike0\outl0\shad0\embo0\impr0\scaps0\caps0\v0\f0\fs24\ulnone\cf0\nosupersub\animtext0\striked0\fbias0 \s30\fi4320\jclisttab\tx5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'03(\'07);}{\levelnumbers\'02;}\rtlch\fcs1 \ab0\ai0\af0\afs24 \ltrch\fcs0 \b0\i0\strike0\outl0\shad0\embo0\impr0\scaps0\caps0\v0\f0\fs24\ulnone\cf0\nosupersub\animtext0\striked0\fbias0 \s31\fi720\jclisttab\tx1440 }{\listlevel\levelnfc2\levelnfcn2
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03(\'08);}{\levelnumbers\'02;}\rtlch\fcs1 \ab0\ai0\af0\afs24 \ltrch\fcs0 
+\b0\i0\strike0\outl0\shad0\embo0\impr0\scaps0\caps0\v0\f0\fs24\ulnone\cf0\nosupersub\animtext0\striked0\fbias0 \s32\fi1440\jclisttab\tx2160 }{\listname Legal2;}\listid589778925}{\list\listtemplateid1095382408{\listlevel\levelnfc0\levelnfcn0\leveljc0
+\leveljcn0\levelfollow0\levelstartat3\levelspace0\levelindent0{\leveltext\'01\'00;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-405\li405\jclisttab\tx405\lin405 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0
+\levelstartat2\levelspace0\levelindent0{\leveltext\'03\'00.\'01;}{\levelnumbers\'01\'03;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-405\li688\jclisttab\tx688\lin688 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'05\'00.\'01.\'02;}{\levelnumbers\'01\'03\'05;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-720\li1286\jclisttab\tx1286\lin1286 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\'07\'00.\'01.\'02.\'03;}{\levelnumbers\'01\'03\'05\'07;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-720\li1569\jclisttab\tx1569\lin1569 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\'09\'00.\'01.\'02.\'03.\'04;}{\levelnumbers\'01\'03\'05\'07\'09;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-720\li1852\jclisttab\tx1852\lin1852 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'0b\'00.\'01.\'02.\'03.\'04.\'05;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1080\li2495\jclisttab\tx2495\lin2495 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'0d\'00.\'01.\'02.\'03.\'04.\'05.\'06;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1080\li2778\jclisttab\tx2778\lin2778 }{\listlevel\levelnfc0\levelnfcn0\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0f\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1440\li3421\jclisttab\tx3421\lin3421 }
+{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'11\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 
+\fi-1440\li3704\jclisttab\tx3704\lin3704 }{\listname ;}\listid899175523}{\list\listtemplateid-53593918{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat4\levelspace0\levelindent0{\leveltext\'01\'00;}{\levelnumbers\'01;}
+\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03\'00.\'01;}{\levelnumbers\'01\'03;}\rtlch\fcs1 \af0 
+\ltrch\fcs0 \fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'05\'00.\'01.\'02;}{\levelnumbers\'01\'03\'05;}\rtlch\fcs1 \af0 \ltrch\fcs0 
+\fbias0 \fi-720\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'07\'00.\'01.\'02.\'03;}{\levelnumbers\'01\'03\'05\'07;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 
+\fi-720\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'09\'00.\'01.\'02.\'03.\'04;}{\levelnumbers\'01\'03\'05\'07\'09;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 
+\fi-720\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0b\'00.\'01.\'02.\'03.\'04.\'05;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\rtlch\fcs1 \af0 
+\ltrch\fcs0 \fbias0 \fi-1080\li1080\jclisttab\tx1080\lin1080 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0d\'00.\'01.\'02.\'03.\'04.\'05.\'06;}{\levelnumbers
+\'01\'03\'05\'07\'09\'0b\'0d;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1080\li1080\jclisttab\tx1080\lin1080 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'0f\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1440\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\'11\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1440\li1440\jclisttab\tx1440\lin1440 }{\listname ;}\listid1303119334}
+{\list\listtemplateid-1282876056{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat6\levelspace0\levelindent0{\leveltext\'01\'00;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\fbias0 \fi-360\li360\jclisttab\tx360\lin360 
+}{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03\'00.\'01;}{\levelnumbers\'01\'03;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listlevel\levelnfc0
+\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'05\'00.\'01.\'02;}{\levelnumbers\'01\'03\'05;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-720\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc0\levelnfcn0
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'07\'00.\'01.\'02.\'03;}{\levelnumbers\'01\'03\'05\'07;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-720\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'09\'00.\'01.\'02.\'03.\'04;}{\levelnumbers\'01\'03\'05\'07\'09;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-720\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0b\'00.\'01.\'02.\'03.\'04.\'05;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1080\li1080\jclisttab\tx1080\lin1080 }{\listlevel\levelnfc0
+\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0d\'00.\'01.\'02.\'03.\'04.\'05.\'06;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1080\li1080\jclisttab\tx1080\lin1080 
+}{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0f\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 
+\fi-1440\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'11\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08;}{\levelnumbers
+\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1440\li1440\jclisttab\tx1440\lin1440 }{\listname ;}\listid1717701764}}{\*\listoverridetable{\listoverride\listid589778925\listoverridecount0\ls1}{\listoverride\listid899175523
+\listoverridecount0\ls2}{\listoverride\listid589778925\listoverridecount0\ls3}{\listoverride\listid1303119334\listoverridecount0\ls4}{\listoverride\listid1717701764\listoverridecount0\ls5}}{\*\rsidtbl \rsid11936\rsid88914\rsid265398\rsid684987\rsid1250516
+\rsid1846192\rsid2128574\rsid2506696\rsid3227523\rsid3348545\rsid3741615\rsid3868789\rsid3882300\rsid4082071\rsid4201573\rsid4354079\rsid4739009\rsid4745031\rsid5123650\rsid5189883\rsid5206122\rsid5249949\rsid5272592\rsid5397688\rsid5708036\rsid5796271
+\rsid5834546\rsid5907843\rsid5924216\rsid6182972\rsid6253249\rsid6776828\rsid6902420\rsid7296646\rsid7562558\rsid7621291\rsid7692188\rsid7735196\rsid7879489\rsid8065525\rsid8198028\rsid8260678\rsid8284163\rsid8537681\rsid8550639\rsid8985796\rsid9054116
+\rsid9119910\rsid9445259\rsid9722996\rsid9767071\rsid9795825\rsid9837062\rsid9900246\rsid9908984\rsid9969717\rsid10094441\rsid10252196\rsid10296700\rsid10425897\rsid10430804\rsid10703085\rsid10712577\rsid10769984\rsid10892103\rsid11489578\rsid11875457
+\rsid11883158\rsid12134897\rsid12517589\rsid12536041\rsid12598188\rsid12654351\rsid13001579\rsid13334799\rsid13654851\rsid13966861\rsid13969160\rsid14229932\rsid14902293\rsid14902778\rsid15223633\rsid15497150\rsid16004039\rsid16137090\rsid16201318
+\rsid16217207\rsid16322833\rsid16322878\rsid16406037}{\*\generator Microsoft Word 11.0.8134;}{\info{\title iKNOWLEDGE, INC}{\author Palmer & Dodge LLP}{\operator Grant Drake}{\creatim\yr2007\mo1\dy28\hr18\min29}{\revtim\yr2007\mo7\dy22\hr20}
+{\printim\yr2006\mo5\dy31\hr11\min1}{\version5}{\edmins35}{\nofpages4}{\nofwords1407}{\nofchars8024}{\*\company Palmer & Dodge LLP}{\nofcharsws9413}{\vern24611}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/word
+ml}{\xmlns2 urn:schemas-microsoft-com:office:smarttags}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect 
+\widowctrl\ftnbj\aenddoc\donotembedsysfont0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\formshade\horzdoc\dgmargin
+\dghspace100\dgvspace180\dghorigin1440\dgvorigin1440\dghshow0\dgvshow0\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\nolnhtadjtbl\nojkernpunct\rsidroot3741615 \fet0{\*\wgrffmtfilter 013f}\ilfomacatclnup0{\*\docvar {Document}{DOCUMENT}}
+{\*\docvar {zzmpFixedCurrentTOCScheme}{Legal2}}{\*\docvar {zzmpFixedCurScheme}{Legal2}}{\*\ftnsep \ltrpar \pard\plain \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 
+\ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16322878 \chftnsep 
+\par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\qj \li0\ri0\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 
+\ltrch\fcs0 \insrsid16322878 \chftnsep 
+\par (continued...)
+\par }}{\*\ftncn \ltrpar \pard\plain \ltrpar\qr \li0\ri0\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 
+\ltrch\fcs0 \insrsid16322878 (continued...)
+\par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\qj \li0\ri0\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 
+\ltrch\fcs0 \insrsid16322878 \chftnsep 
+\par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\qj \li0\ri0\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 
+\ltrch\fcs0 \insrsid16322878 \chftnsepc 
+\par }}\ltrpar \sectd \ltrsect\binfsxn261\binsxn261\psz1\sbknone\linex0\footery432\endnhere\sectlinegrid272\sectdefaultcl\sectrsid3868789\sftnbj {\footerr \ltrpar \pard\plain \ltrpar\s20\qc \li0\ri0\widctlpar
+\tqc\tx4680\tqr\tx9360\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3868789 -}{\field{\*\fldinst {
+\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \cs21\f1\fs22\insrsid3868789\charrsid16004039  PAGE }}{\fldrslt {\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \cs21\f1\fs22\lang1024\langfe1024\noproof\insrsid1846192 1}}}\sectd \linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 
+\af0 \ltrch\fcs0 \insrsid3868789 -
+\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}
+{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8
+\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar
+\s2\qc \li0\ri0\sa120\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid684987 \rtlch\fcs1 \ab\af0\afs20\alang1025 \ltrch\fcs0 \b\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\rtlch\fcs1 
+\af1\afs22 \ltrch\fcs0 \f1\fs22\ul\insrsid15497150 KIWI}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\ul\insrsid1846192 NOVA }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\ul\insrsid9767071\charrsid9767071 LTD 
+\par }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\ul\insrsid5272592 PERSONAL}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\ul\insrsid13001579  }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\ul\insrsid9767071 LICENCE}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\ul\insrsid9767071\charrsid9767071  AND SUPPORT AGREEMENT}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\ul\insrsid13966861\charrsid9767071 
+\par }\pard\plain \ltrpar\qj \li0\ri0\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9767071 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\lang2057\langfe1033\langnp2057\insrsid9767071\charrsid9767071 
+\par }\pard\plain \ltrpar\s45\qj \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14229932 \rtlch\fcs1 \ab\af1\afs20\alang1025 \ltrch\fcs0 \b\f1\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 
+\af1\afs22 \ltrch\fcs0 \fs22\insrsid9767071\charrsid9767071 NOTICE TO USER: PLEASE READ THIS }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid4739009 AGREEMENT}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9767071\charrsid9767071  CAREFULLY. }{
+\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid12598188 BY CLICKING \'93I ACCEPT\'94 AND/OR }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9767071\charrsid9767071 BY DOWNLOADING AND/OR USING ALL OR ANY PORTION OF THE SOFTWARE }{\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \fs22\insrsid12598188 YOU }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9969717\charrsid9767071 (\'93LICEN}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9969717 S}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9969717\charrsid9767071 
+EE\'94)}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9969717  }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid12598188 ACCEPT}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9767071\charrsid9767071  THE FOLLOWING TERMS FROM }{\rtlch\fcs1 
+\af1\afs22 \ltrch\fcs0 \fs22\insrsid1846192 KIWINOVA }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9767071\charrsid9767071 LTD OF }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid1846192 24 AEGEAN APARTMENTS}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\fs22\insrsid9767071\charrsid9767071 ,}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid1846192  19 WESTERN GATEWAY,}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9767071\charrsid9767071  LONDON }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\fs22\insrsid15497150 E16 1}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid1846192 AR}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9767071\charrsid9767071  (\'93}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid1846192 KIWINOVA}{\rtlch\fcs1 
+\af1\afs22 \ltrch\fcs0 \fs22\insrsid12598188 \'94). }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid11489578 YOU}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid12598188  AGREE TO BE BOUND}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\fs22\insrsid9767071\charrsid9767071  BY ALL THE TERMS AND CONDITIONS OF THIS }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid4739009 AGREEMENT}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9767071\charrsid9767071 
+.  YOU AGREE THAT IT IS ENFORCEABLE AS IF IT WERE A WRITTEN NEGOTIATED }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid4739009 AGREEMENT}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9969717  SIGNED BY}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\fs22\insrsid16406037  YOU}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9767071\charrsid9767071 . IF }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9969717 YOU}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9767071\charrsid9767071 
+ DO NOT AGREE TO THE TERMS OF THIS }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid4739009 AGREEMENT}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9767071\charrsid9767071  DO NOT }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid11489578 CLICK \'93
+I ACCEPT\'94 AND DO NOT DOWNLOAD OR }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid9767071\charrsid9767071 USE THE SOFTWARE. }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid14229932\charrsid9767071 
+\par }\pard \ltrpar\s45\qj \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \fs22\insrsid12598188\charrsid9767071 
+\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 \b\caps\f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid13966861\charrsid9767071 \hich\af1\dbch\af0\loch\f1 1.\tab}}\pard\plain \ltrpar
+\s24\qj \fi-567\li567\ri0\sa120\keepn\widctlpar\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\ls3\outlinelevel0\adjustright\rin0\lin567\itap0\pararsid6776828 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
+\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 \b\f1\fs22\insrsid13966861\charrsid9767071 DEFINITIONS}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid14902293 \hich\af1\dbch\af0\loch\f1 1.1\tab}}\pard\plain \ltrpar\s25\qj \fi-567\li567\ri0\sa120\widctlpar
+\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin567\itap0\pararsid5189883 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\insrsid14902293 \'93Agreement\'94 means this Licence and Support Agreement.
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid13966861\charrsid9767071 \hich\af1\dbch\af0\loch\f1 1.2\tab}}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid13966861\charrsid9767071 \'93Documentation\'94 means the electronic user information }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid14902778\charrsid9767071 supplied }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid13966861\charrsid9767071 with the Software}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10252196 .
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid10252196\charrsid9767071 \hich\af1\dbch\af0\loch\f1 1.3\tab}}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid10252196\charrsid9767071 \'93Effective Date\'94 means the date }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid16406037 on which the Licensee accepts this Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid7562558 .
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid10252196\charrsid9767071 \hich\af1\dbch\af0\loch\f1 1.4\tab}}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid10252196\charrsid9767071 \'93Minimum Requirements\'94 means a min}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid12598188 imum technical specification of}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10252196\charrsid9767071 
+ the PC or laptop on which the Software is used which is required to enable the Software to function}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid12598188 , as set out in the Documentation}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid10252196\charrsid9767071 .}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10252196 
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid12598188\charrsid9767071 \hich\af1\dbch\af0\loch\f1 1.5\tab}}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid12598188\charrsid9767071 \'93Software\'94 means the }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid12598188 object code form }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid12598188\charrsid9767071 of }{\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\insrsid12598188 the }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843 personal}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid12598188  version of the software product entitled Testdriven.net}{\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\insrsid12598188\charrsid9767071 .}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid12598188 
+\par }\pard\plain \ltrpar\s22\qj \li0\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5907843 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 
+\ltrch\fcs0 \insrsid5907843\charrsid5907843 
+\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 \b\caps\f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid13966861\charrsid9767071 \hich\af1\dbch\af0\loch\f1 2.\tab}}\pard\plain \ltrpar
+\s24\qj \li0\ri0\sa120\keepn\widctlpar\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\ls3\outlinelevel0\adjustright\rin0\lin0\itap0\pararsid6776828 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 \b\f1\fs22\insrsid13966861\charrsid9767071 GRANT OF RIGHTS; RESTRICTIONS
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid13966861\charrsid9767071 \hich\af1\dbch\af0\loch\f1 2.1\tab}}\pard\plain \ltrpar\s25\qj \fi-567\li567\ri0\sa120\widctlpar
+\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin567\itap0\pararsid5189883 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 Subject to all the terms and conditions of this }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid14902293 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 , }{
+\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 KiwiNova}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071  hereby grants Licensee a}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid12598188  perpetual}{
+\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 , worldwide, none}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid9767071 xclusive, nontransferable licenc}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid13966861\charrsid9767071 e to install and use the Software on }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid265398 one}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071  PC or laptop for}{\rtlch\fcs1 
+\af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid265398  Licensee\rquote s}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071  own use only. This licen}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid9767071 c}{\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 e is in respect of use of the Software by the Licensee only and no subsidiaries or holding company of the Licensee may use the Software.
+\par {\*\bkmkstart OEMS_OBLIGATIONS}{\*\bkmkstart OEM_SYSTEM_SUPPORT}{\*\bkmkstart TECHNICAL_SUPPORT_SERVICES}{\*\bkmkend OEMS_OBLIGATIONS}{\*\bkmkend OEM_SYSTEM_SUPPORT}{\*\bkmkend TECHNICAL_SUPPORT_SERVICES}{\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 
+\af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid13966861\charrsid9767071 \hich\af1\dbch\af0\loch\f1 2.2\tab}Except as expressly permitted in this }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid14902293 Agreement}{
+\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 , Licensee shall not, and shall not permit others to: (i)\~
+modify, translate, create derivative copies of or copy the Software (other than one backup copy which reproduces all proprietary notices), in whole or in part; (ii)\~
+reverse engineer, decompile, disassemble or otherwise reduce the Software to source code form; (iii)\~distribute, sublicense, assign, share, timeshare, sell, rent, lease, grant a security interest in, use for service bureau purposes, or othe
+rwise transfer the Software or Licensee\rquote s right to use the Software;  (iv)\~remove or modify any copyright, trademark, or other proprietary notices of }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 KiwiNova}{\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\insrsid15497150\charrsid9767071  }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 affixed to the media containing the Software or contained within the Software; or (v) use
+ the Software in any manner not expressly authorised by this }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid14902293 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 .  }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid13966861 
+\par }\pard\plain \ltrpar\s22\qj \li0\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid265398 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 
+\ltrch\fcs0 \insrsid265398\charrsid265398 
+\par {\*\bkmkstart TERM_AND_TERMINATION}{\*\bkmkend TERM_AND_TERMINATION}{\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 \b\f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid10425897\charrsid9767071 \hich\af1\dbch\af0\loch\f1 3
+\tab}}\pard\plain \ltrpar\s24\qj \fi-567\li567\ri0\sa120\keepn\widctlpar\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\ls2\outlinelevel0\adjustright\rin0\lin567\itap0\pararsid10425897 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
+\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 \b\f1\fs22\insrsid10425897\charrsid9767071 PROPRIETARY RIGHTS{\*\bkmkstart _REF426272673}{\*\bkmkend _REF426272673}
+\par }\pard\plain \ltrpar\s23\qj \fi-567\li567\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin567\itap0\pararsid10425897 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897 4.1\tab }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 KiwiNova}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid15497150\charrsid9767071  }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid10425897\charrsid9767071 has sole and exclusive ownership of all right, title, and interest in and to the Software, including all copyright and any other intellectual property rights therein.  This }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid10425897 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897\charrsid9767071  conveys a limited }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897 licence}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid10425897\charrsid9767071  to use the Software and shall not be construed to convey title to or ownership of the Software to Licensee.  All rights in and to the Software not expressly granted to Licensee are reserved by }{\rtlch\fcs1 
+\af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 KiwiNova}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897\charrsid9767071 .}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897 
+\par }\pard\plain \ltrpar\s25\qj \fi-567\li567\ri0\sa120\widctlpar\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin567\itap0\pararsid10425897 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
+\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897 4.2\tab For the avoidance of doubt, the Software does not include:
+\par }\pard \ltrpar\s25\qj \fi-1276\li1276\ri0\sa120\widctlpar\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin1276\itap0\pararsid10425897 {\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897 \tab 4.2.1\tab }{
+\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid16137090 Actipro Software}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid15497150  which }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid16137090 is}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid15497150  provided }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897 by }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid7735196\charrsid7735196 http://}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid16137090 
+actiprosoftware.com}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid7735196\charrsid7735196 /}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid7735196  }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897 
+on the terms and conditions set out at: }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid16137090 ActiproEULA}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid7735196 .}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid16137090 html}{\rtlch\fcs1 
+\af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897 
+\par }\pard\plain \ltrpar\s22\qj \fi-1276\li1276\ri0\sa240\widctlpar\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1276\itap0\pararsid10425897 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
+\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10425897 \tab }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897 4.2.4}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897\charrsid16322833 
+\tab }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid15497150 CommandBars}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897  which is distributed with permission from }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid15497150 
+Lutz Roeder }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897\charrsid13969160 <}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid15497150 roeder}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897\charrsid13969160 @}{\rtlch\fcs1 
+\af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid15497150 aisto}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid7692188\charrsid7692188 .com}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897\charrsid13969160 >}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid10425897 
+\par }\pard\plain \ltrpar\s23\qj \fi-567\li567\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin567\itap0\pararsid11489578 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid10425897 
+\par {\*\bkmkstart TRADEMARK}{\*\bkmkstart CALCULATION_OF_FEES}{\*\bkmkend TRADEMARK}{\*\bkmkend CALCULATION_OF_FEES}{\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 
+\b\f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid13966861\charrsid4082071 \hich\af1\dbch\af0\loch\f1 4\tab}}\pard\plain \ltrpar\s24\qj \fi-567\li567\ri0\sa120\keepn\widctlpar
+\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\ls2\outlinelevel0\adjustright\rin0\lin567\itap0\pararsid5189883 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af1\afs22 
+\ltrch\fcs0 \b\f1\fs22\insrsid13966861\charrsid4082071 TERM AND TERMINATION{\*\bkmkstart _REF426272235}{\*\bkmkend _REF426272235}
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid13966861\charrsid4082071 \hich\af1\dbch\af0\loch\f1 4.1\tab}}\pard\plain \ltrpar\s25\qj \fi-600\li600\ri0\sa120\widctlpar
+\jclisttab\tx600\wrapdefault\aspalpha\aspnum\faauto\ls4\ilvl1\outlinelevel1\adjustright\rin0\lin600\itap0\pararsid5907843 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid4082071 This }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid14902293\charrsid4082071 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid4082071 
+ shall commence on the Effective Date and continue in effect for consecutive annual periods, unless and until terminated in accordance with clause }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843 4}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid13966861\charrsid4082071 .2}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid9969717 , or unless terminated by Mutant on the provision of not less than thirty (30) days notice to the Licensee}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid9908984 , such notice to be provided to the Licensee via }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 KiwiNova}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid9908984 \rquote s website}{\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid4082071 . 
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid13966861\charrsid9767071 \hich\af1\dbch\af0\loch\f1 4.2\tab}}\pard \ltrpar\s25\qj \fi-567\li567\ri0\sa120\widctlpar
+\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\ls4\ilvl1\outlinelevel1\adjustright\rin0\lin567\itap0\pararsid5189883 {\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 If either party breaches this }{\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\insrsid14902293 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071  in any material respect, the other party may give written notice to the breaching party of its intent to terminate,
+ and if such breach is not cured within thirty (30) days after the breaching party\rquote s receipt of such notice, this }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid14902293 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid13966861\charrsid9767071  shall terminate without any further notice required (but no cure period is required for any breach that cannot be cured).
+\par {\*\bkmkstart OBLIGATIONS_ON_TERMINATION}{\*\bkmkend OBLIGATIONS_ON_TERMINATION}{\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid13966861\charrsid9767071 
+\hich\af1\dbch\af0\loch\f1 4.3\tab}Upon any termination of this }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid14902293 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 , (a)\~the rights and }{\rtlch\fcs1 
+\af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid9767071 licence}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 s granted to Licensee herein shall terminate; (b)\~Licensee shall cease all use of the Software; (c)\~Licensee shall }{
+\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid16322833 delete }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 all copies of the Software and Documentation in Licensee\rquote s possession or under its control; and (d)\~
+Licensee shall certify in writing to }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 KiwiNova}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071  its compliance with the foregoing.{\*\bkmkstart _REF426272371}
+{\*\bkmkend _REF426272371}  Clauses\~1, }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid16406037 2.2, }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843 3}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 , }{
+\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843 4}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 .3, }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843 5}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid13966861\charrsid9767071 , }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843 6 }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 and }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843 7}{
+\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071  shall survive any termination of this }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid14902293 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid13966861\charrsid9767071 .}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861 
+\par }\pard\plain \ltrpar\s24\qj \li0\ri0\sa120\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0\pararsid5907843 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 \b\f1\fs22\insrsid5907843 {\*\bkmkstart OWNERSHIP_OF_RIGHTS}{\*\bkmkstart _REF426271959}{\*\bkmkstart CONFIDENTIALITY}{\*\bkmkend OWNERSHIP_OF_RIGHTS}{\*\bkmkend _REF426271959}{\*\bkmkend CONFIDENTIALITY}
+\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 \b\f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid13966861\charrsid9767071 \hich\af1\dbch\af0\loch\f1 5\tab}}\pard \ltrpar\s24\qj \fi-360\li360\ri0\sa120\keepn\widctlpar
+\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\ls4\outlinelevel0\adjustright\rin0\lin360\itap0\pararsid5189883 {\rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 \b\f1\fs22\insrsid13966861\charrsid9767071 REPRESENTATIONS AND WARRANTIES
+\par }\pard\plain \ltrpar\s25\qj \fi-567\li567\ri0\sa120\widctlpar\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin567\itap0\pararsid6776828 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
+\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843 5.1}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 \tab }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid5907843 LICENSEE ACKNOWLEDGES AND}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843\charrsid5907843  AGREES THAT }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid7735196 KIWI}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid1846192 NOVA}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843\charrsid5907843  HAS PROVIDED NO EXPRESS OR IMPLIED WARRANTIES, ORAL OR WRITTEN, TO }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843 LICENSEE }{
+\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843\charrsid5907843 REGARDING THE SOFTWARE OR DOCUMENTATION AND THAT THEY ARE PROVIDED \'93AS IS\'94 WITHOUT WARRANTY OF ANY KIND.  }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843 
+TO THE MAXIMUM EXTENT PERMITTED BY LAW }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid7735196 KIWI}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 NOVA}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843\charrsid5907843  HEREBY }
+{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843 EXCLUDES AND }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843\charrsid5907843 
+DISCLAIMS ALL WARRANTIES WITH REGARD TO THE SOFTWARE AND DOCUMENTATION, EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843\charrsid9767071 THE IMPLIED}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid5907843\charrsid5907843  WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843\charrsid9767071 AND ANY WARRANTIES ARISING BY STATUTE OR OTHERWISE IN LAW 
+OR FROM COURSE OF DEALING, COURSE }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid16406037 OF PERFORMANCE, OR USE OF TRADE}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843\charrsid5907843 .}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid5907843 
+\par }\pard\plain \ltrpar\s22\qj \fi-567\li567\ri0\sa240\widctlpar\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin567\itap0\pararsid6776828 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
+\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid5907843 5.2}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071   \tab 
+The Licensee hereby represents that it shall (i) comply with all applicable local and foreign laws and regulations which may govern the use of the Software, and (ii) use the Software only for lawful purposes and in accordance with the terms of this }{
+\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid14902293 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 .
+\par {\*\bkmkstart INDEMNIFICATION}{\*\bkmkstart NO_CONSEQUENTIAL_DAMAGES}{\*\bkmkend INDEMNIFICATION}{\*\bkmkend NO_CONSEQUENTIAL_DAMAGES}{\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 
+\b\f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid13966861\charrsid9767071 \hich\af1\dbch\af0\loch\f1 6\tab}}\pard\plain \ltrpar\s24\qj \fi-360\li360\ri0\sa120\keepn\widctlpar
+\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\ls4\outlinelevel0\adjustright\rin0\lin360\itap0\pararsid5189883 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af1\afs22 
+\ltrch\fcs0 \b\f1\fs22\insrsid13966861\charrsid9767071 LIMITATION OF LIABILITY}{\rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 \b\f1\fs22\insrsid16004039 /INDEMNITY}{\rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 \b\f1\fs22\insrsid13966861\charrsid9767071 
+\par {\*\bkmkstart LIMITATION_ON_LIABILITY}{\*\bkmkstart EQUITABLE_REMEDIES}{\*\bkmkend LIMITATION_ON_LIABILITY}{\*\bkmkend EQUITABLE_REMEDIES}{\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid7296646 \hich\af1\dbch\af0\loch\f1 6.1\tab}}\pard\plain \ltrpar\s25\qj \fi-567\li567\ri0\sa120\widctlpar
+\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\ls4\ilvl1\outlinelevel1\adjustright\rin0\lin567\itap0\pararsid5189883 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\insrsid7296646 SAVE IN RESPECT OF DEATH OR PERSONAL INJURY, FOR WHICH THE LIABILITY OF THE PARTIES SHALL BE UNLIMITED, }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid16322833\charrsid9767071 IN NO EVENT SHALL }{\rtlch\fcs1 
+\af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 KIWINOVA}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid16322833\charrsid9767071  BE LIABLE FOR ANY SPECIAL, }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid7296646 DIRECT, }{\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\insrsid16322833\charrsid9767071 INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOS
+S OF PROFITS AND GOODWILL, BUSINESS OR BUSINESS BENEFIT, OR THE COST OF PROCUREMENT OF SUBSTITUTE PRODUCTS BY LICENSEE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  IN NO CIRCUMSTANCES SHALL }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid1846192 KIWINOVA}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid16322833\charrsid9767071  BE LIABLE FOR ANY FAILURE OF THE SOFTWARE
+ TO PERFORM IN ACCORDANCE WITH THE DOCUMENTATION, OR AT ALL, RESULTING FROM A FAILURE BY THE LICENSEE TO COMPLY WITH THE MINIMUM REQUIREMENTS.  ADDITIONALLY, LICENSEE ACKNOWLEDGES TH}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid16322833\charrsid16004039 AT WHILST THE SOFTWARE MAY BE USED IN COMBINATION WITH THIRD PARTY SOFTWARE, }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 KIWINOVA}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid16322833\charrsid16004039  BEARS NO LIABILITY, HOWSOEVER ARISING, FOR ANY LOSS, DAMAGE OR COST THAT ARISES FROM A FAILURE OF THE SOFTWARE TO INTEGRATE WITH LICENSEE OR THIRD PARTY SOFTWARE.}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid13966861\charrsid16004039 
+\par }\pard\plain \ltrpar\s22\qj \fi-567\li567\ri0\sa240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin567\itap0\pararsid16004039 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid16004039\charrsid16004039 8.3\tab }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid16004039 LICENSEE HEREBY INDEMNIFIES }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 KIWINOVA}{
+\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid16004039  IN FULL AND ON DEMAND IN RESPECT OF ALL COSTS, DAMAGES AND LIABILITIES ARISING FROM ANY BREACH BY THE LICENSEE OF ANY TERM OF THIS AGREEMENT.}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid16004039\charrsid16004039 
+\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 \b\f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid13966861\charrsid16004039 \hich\af1\dbch\af0\loch\f1 7\tab}}\pard\plain \ltrpar
+\s24\qj \fi-360\li360\ri0\sa120\keepn\widctlpar\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\ls4\outlinelevel0\adjustright\rin0\lin360\itap0\pararsid5189883 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
+\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 \b\f1\fs22\insrsid13966861\charrsid16004039 GENERAL}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid16004039 
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid13966861\charrsid16004039 \hich\af1\dbch\af0\loch\f1 7.1\tab}}\pard\plain \ltrpar\s25\qj \fi-567\li567\ri0\sa120\widctlpar
+\jclisttab\tx567\wrapdefault\aspalpha\aspnum\faauto\ls4\ilvl1\outlinelevel1\adjustright\rin0\lin567\itap0\pararsid5189883 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid16004039 Licensee shall not assign}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071  this }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid14902293 Agreement}{\rtlch\fcs1 
+\af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 , in whole or in part, without the written consent of }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 KiwiNova}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 .
+
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid4082071\charrsid9767071 \hich\af1\dbch\af0\loch\f1 7.2\tab}}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid4082071\charrsid9767071 Licensee consents to the use by }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 KiwiNova}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071\charrsid9767071  of Licensee\rquote 
+s name in customer lists and other publicity, including interviews, case studies, and conference discussions, provided that such publicity accurately describes the nature of the relationship between Licensee and }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid1846192 KiwiNova}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071\charrsid9767071 .}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid4082071\charrsid9767071 \hich\af1\dbch\af0\loch\f1 7.3\tab}}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid4082071\charrsid9767071 This }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071\charrsid9767071 
+ and its performance shall be governed by and construed in accordance with and the parties hereby submit to the exclusive jurisdiction of the laws of {\*\xmlopen\xmlns2{\factoidname country-region}}England{\*\xmlclose} and {\*\xmlopen\xmlns2{\factoidname 
+place}}{\*\xmlopen\xmlns2{\factoidname country-region}}Wales{\*\xmlclose}{\*\xmlclose}.}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid4082071\charrsid9767071 \hich\af1\dbch\af0\loch\f1 7.4\tab}}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid4082071\charrsid9767071 Licensee agrees that because of the unique nature of the Software and }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 KiwiNova}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid4082071\charrsid9767071 \rquote s proprietary rights therein, a demonstrated breach of this }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071\charrsid9767071 
+ by Licensee would irreparably harm }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 KiwiNova}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071\charrsid9767071  and monetary damages would be inadequate compensation. 
+ Therefore, Licensee agrees that }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 KiwiNova}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071\charrsid9767071 
+ shall be entitled to preliminary and permanent injunctive relief, as determined by any court of competent jurisdiction to enforce the provisions of this }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 Agreement}{\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\insrsid4082071\charrsid9767071 .}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid4082071\charrsid9767071 \hich\af1\dbch\af0\loch\f1 7.5\tab}}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid4082071\charrsid9767071 If any provision of this }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071\charrsid9767071 
+ or the Software thereof is declared void, illegal, or unenforceable, the remainder of this }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071\charrsid9767071 
+ will be valid and enforceable to the extent permitted by applicable law.  In such event, the parties agree to use their best efforts to replace the invali
+d or unenforceable provision by a provision that, to the extent permitted by the applicable law, achieves the purposes intended under the invalid or unenforceable provision}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 .
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid4082071\charrsid9767071 \hich\af1\dbch\af0\loch\f1 7.6\tab}}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid4082071\charrsid9767071 Any failure by any party to this }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071\charrsid9767071 
+ to enforce at any time any term or condition under this }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071\charrsid9767071  will not be considered a waiver of that party
+\rquote s right thereafter to enforce each and every term and condition of this }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 Agreement.
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid4082071\charrsid9767071 \hich\af1\dbch\af0\loch\f1 7.7\tab}}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid4082071\charrsid9767071 Neither party will be responsible for delays resulting from circumstances beyond the reasona
+ble control of such party, provided that the nonperforming party uses reasonable efforts to avoid or remove such causes of nonperformance and continues performance hereunder with reasonable dispatch whenever such causes are removed}{\rtlch\fcs1 
+\af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 .
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\langnp1033\langfenp1033\insrsid11883158 \hich\af1\dbch\af0\loch\f1 7.8\tab}}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid11883158 T}{\rtlch\fcs1 
+\af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071\charrsid9767071 his }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid11883158  }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid4082071\charrsid9767071 (i)\~
+constitutes the entire agreement and understanding between the parties with respect to the subject matter hereof and supersedes all prior agreements, oral and written, made with respect to the subject matter hereof, and (ii)\~
+cannot be altered except by agreement in writing executed by an authorised representative of each party.  No purchase order and/or standard terms of purchase provided by Licensee shall supersede this }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid4082071 Agreement}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071\charrsid9767071 .}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid4082071 
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\expnd0\expndtw-2\lang1033\langfe1033\langnp1033\langfenp1033\insrsid4082071\charrsid9767071 \hich\af1\dbch\af0\loch\f1 7.9\tab}}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\expnd0\expndtw-2\insrsid4082071\charrsid9767071 Nothing in this Agreement shall give, directly or indirectly, any third party any enforceable benefit or any right of action against }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\expnd0\expndtw-2\insrsid1846192 KiwiNova}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\expnd0\expndtw-2\insrsid4082071\charrsid9767071  and such third parties shall not be entitled to enforce any term of this Agreement against }{\rtlch\fcs1 
+\af1\afs22 \ltrch\fcs0 \f1\fs22\expnd0\expndtw-2\insrsid1846192 KiwiNova}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\expnd0\expndtw-2\insrsid4082071\charrsid9767071 .}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid13966861\charrsid9767071 .
+\par }\pard\plain \ltrpar\qj \li0\ri0\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9767071 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\insrsid8065525\charrsid9767071 If you have any questions regarding this Licence and Support Agreement or if you wish to discuss the terms and conditions contained herein please contact }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid1846192 KiwiNova}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid9767071\charrsid9767071  Ltd}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid8065525\charrsid9767071  using the contact details at}{\rtlch\fcs1 \af1\afs22 
+\ltrch\fcs0 \f1\fs22\insrsid9445259  http://www.}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid7735196 kiwidude.com}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid8065525\charrsid9767071  or at }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 
+\f1\fs22\insrsid1846192 24 Aegean Apartments}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid7735196 , }{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 19 Western Gateway}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid7735196 
+, London E16 1}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid1846192 AR}{\rtlch\fcs1 \af1\afs22 \ltrch\fcs0 \f1\fs22\insrsid8065525\charrsid9767071 .
+\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af1\afs22 \ltrch\fcs0 \b\f1\fs22\insrsid13966861\charrsid9767071 
+\par }}

BIN
lib/NCover/Explorer/NCoverExplorer.Console.exe


BIN
lib/NCover/Explorer/NCoverExplorer.Core.dll


BIN
lib/NCover/Explorer/NCoverExplorer.NAntTasks.dll


BIN
lib/NCover/Explorer/NCoverExplorer.NCoverRunner.dll


BIN
lib/NCover/Explorer/NCoverExplorer.WinForms.dll


BIN
lib/NCover/Explorer/NCoverExplorer.exe


+ 8 - 0
lib/NCover/Explorer/NCoverExplorer.exe.config

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+  <startup>
+	  <supportedRuntime version="v2.0.50727" />
+	  <supportedRuntime version="v1.1.4322" />
+	  <requiredRuntime version="v1.1.4322" />
+  </startup>
+</configuration>

+ 303 - 0
lib/NCover/Explorer/NCoverExplorerFAQ.html

@@ -0,0 +1,303 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+    <head>
+		<script type="text/javascript">
+			<!--
+			function Toggle(id)
+			{
+				var e = document.getElementById(id);
+				if(e.style.display == 'none')
+					e.style.display = 'block';
+				else
+					e.style.display = 'none';
+			}			
+				
+			function SwitchAll(how)
+			{	var len = document.all.length-1;
+				for(i=0;i!=len;i++)	{	
+					var block = document.all[i];
+					if (block != null && block.id != '')
+					{ block.style.display=how;}
+				}
+			}
+
+			function ExpandAll()
+			{SwitchAll('block');}
+	
+			function CollapseAll()
+			{SwitchAll('none');}
+			// -->
+		</script>
+        <title>NCoverExplorer FAQ</title>
+        <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
+        <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
+        <style> 
+			body { font-size: 10pt; font-family: Verdana; }
+			p.title { font-size: 20pt; font-weight: bold; }
+			.action { color: maroon; font-size: 10pt; font-weight: bold; cursor:pointer }
+			.question { font-weight: bold; cursor:pointer }
+			.answer { margin: 15px; }
+			pre { font-size: 10pt; font-family: Courier; }
+			pre.usage { background-color: #F0F0F0; }
+			.subtitle { color: maroon; font-weight: bold; }
+			.quote { background-color: #F0F0F0; margin-left: 36pt;}
+			.method { color: maroon; font-size: 10pt; font-weight: bold; }
+			.hdrcell { background-color: #DDEEFF; font-size: 10pt; }
+			.datacell { background-color: #FFFFEE; text-align: right; font-size: 10pt; }
+			.hldatacell { background-color: #FFCCCC; text-align: right; font-size: 10pt; }
+			.box { border: 1px solid; padding: 10px; }
+			.treeviewBlack { color: black; }
+			.treeviewGrey { color: grey; }
+			.treeviewRed { color: red; }
+			.treeviewBlue { color: blue; }
+			.sourceBlue { background-color: #E0EDFD; color: black; }
+			.sourceRed { background-color: #E6B0A5; color: black; }
+        </style>
+    </head>
+    <body>
+        <P class="title">NCoverExplorer FAQ</P>
+        <P>The latest version of this document is located <A href="http://www.kiwidude.com/dotnet/NCoverExplorerFAQ.html">here</A>.
+        <BR/>For the latest NCoverExplorer news and updates, visit my <A href="http://www.kiwidude.com/blog/">blog</A>.</P>
+        <P class="action"><a onClick="ExpandAll();">Expand All</a>&nbsp;|&nbsp;<a onClick="CollapseAll();">Collapse All</a></P>
+        <a class="question" onclick="return Toggle('answer1')">1. What is NCoverExplorer?</a><br/>
+        <div id="answer1" style="display:none">
+			<P class="answer">This tool allows you to open a coverage.xml file produced by 
+				<A href="http://ncover.org"/>NCover</A> and navigate the source code. The 
+				source code is highlighted to clearly show which statements were visited
+				and not visited. You can filter, sort and report on the coverage results.
+			</P>
+		</div>
+        <a class="question" onclick="return Toggle('answer2')">2. What versions of the .NET Framework does it work with?</a><br/>
+        <div id="Div1" style="display:none">
+			<P class="answer">NCoverExplorer as of version 1.3.4 requires either .NET 1.1 or .Net 2.0 (it is compiled against
+			.Net 1.1).
+			</P>
+        </div>
+        <a class="question" onclick="return Toggle('answer2')">2. What versions of NCover does it work with?</a><br/>
+        <div id="answer2" style="display:none">
+			<P class="answer">NCoverExplorer has been tested with both NCover 1.3.3 and up to the latest NCover 1.5.7. It will NOT
+				work with NCover 1.4.6.	Note that NCover 1.5.x only works with .NET 2.0 and requires at least NCoverExplorer 1.3.5
+				and/or a TestDriven.Net build > 2.0.1786 due to a limitation in NCover or else you will get duplicate nodes in your 
+				coverage results.
+			</P>
+        </div>
+        <a class="question" onclick="return Toggle('answer3')">3. Can I integrate it with my Visual Studio.Net version XXX IDE?</a><br/>
+        <div id="answer3" style="display:none">
+			<P class="answer">Jamie Cansdale now offers a "Test with... Coverage" feature
+				in the latest version of his excellent <A href="http://www.testdriven.net/">TestDriven.Net</A>
+				tool. This will automatically launch NCoverExplorer to display the results
+				of running unit test(s) under code coverage with NCover. Note that as of build 1341
+				TestDriven.Net now works using both the latest version of NCover (1.5.x) and the earlier NCover 1.3.3 version.
+			</P>
+ 		</div>
+        <a class="question" onclick="return Toggle('answer4')">4. Can I integrate it without TestDriven.Net?</a><br/>
+        <div id="answer4" style="display:none">
+			<P class="answer">My solution I used at work was a combination of NAnt and NAntRunner 
+				(the VS.Net add-in) to perform something similar. I have NAnt tasks to:
+				<UL>
+					<LI>
+						Perform the build.
+					</LI>
+					<LI>
+						Execute NCover while running unit tests (either all unit tests or those for
+						a specific fixture using the /fixture feature of <A href="http://nunit.org/">NUnit</A>).
+					</LI>
+					<LI>
+						Launch NCoverExplorer displaying the output coverage.xml file.
+					</LI>
+				</UL>
+			</P>
+ 			<P class="answer">As of NCoverExplorer 1.3.5 you now have another option. There is now an included GUI for
+ 				running NCover directly from within NCoverExplorer and displaying the results.
+			</P>
+		</div>
+        <a class="question" onclick="return Toggle('answer5')">5. How does it compare to Visual Studio Team System?</a><br/>
+		<div id="answer5" style="display:none">
+			<P class="answer">VSTS features of unit testing and code coverage will only be included with the premium bundles
+				of the Visual Studio product range - and as such will most likely be priced above what many
+				developers and businesses are prepared to pay. For "everyone else" in the market it would seem likely
+				that they will continue to utilise open source alternatives.
+			</P>
+			<P class="answer">Even if you are one of the fortunate developers who can afford VSTS, it still must
+				be measured feature-wise against the open source alternatives which in a lot of cases have now been established
+				for many years. Developers and managers will weigh up for themselves how important those features are
+				as well as other factors such as Microsoft support etc. The nice thing for many of us is that we have a choice...
+			</P>
+ 			<P class="answer">We have had a number of people e-mail us and say they prefer TestDriven.Net and NCoverExplorer
+ 				over the VSTS alternative and want to switch off the VSTS ability - that's rather gratifying from our perspective!
+			</P>
+ 		</div>
+        <a class="question" onclick="return Toggle('answer6')">6. Why didn't you integrate NCoverExplorer directly into the IDE like VSTS or SharpDevelop?</a><br/>
+		<div id="answer6" style="display:none">
+			<P class="answer">A number of reasons. At first glance having your code colour coded within the VS.Net IDE may sound
+				great. However think about what we are trying to achieve - improving our <B>test</B> code to increase our coverage.
+				That means in many cases you want to be editing the unit tests themselves, not the pretty coloured code under test.
+				This then requires either a photographic memory or a penchant for continually resizing your IDE/tab groups, as well as an ability
+				to not find the colours distracting while editing and refactoring code... not my first choice.
+			</P>
+			<P class="answer">You may instead find it more convenient to have a separate application window which can be positioned 
+				on a second screen (you all have at least two don't you?) or ALT-Tab switched between. As of release 1.3.1 
+				NCoverExplorer allows direct code navigation from method coverage in NCoverExplorer to it's corresponding line 
+				in the source code file within the VS.Net IDE.
+			</P>
+			<P class="answer">From a technical perspective an add-in is a non-trivial task - particularly if trying to support all 
+				the variants of the VS.Net IDE. To do it natively requires VSIP skills which is a trip to the dark side. 
+				I won't say "never" however and	if I find some spare time (or you want to volunteer to help me!) then it might 
+				happen one day...
+			</P>
+ 		</div>
+        <a class="question" onclick="return Toggle('answer7')">7. What do the tree node colours mean?</a><br/>
+		<div id="answer7" style="display:none">
+			<P class="answer">The default settings when NCoverExplorer is installed are as follows:
+				<UL>
+					<LI>
+						<SPAN class="treeviewGrey">Grey text</SPAN> - the namespace/class/method has zero coverage. (Icon will be greyed also)
+					</LI>
+					<LI>
+						<SPAN class="treeviewRed">Red text</SPAN> - the namespace/class/method has partial coverage.
+					</LI>
+					<LI>
+						<SPAN class="treeviewBlue">Blue text</SPAN> - the namespace/class/method coverage has partial coverage exceeding a satisfaction threshold (default 95%).
+					</LI>
+					<LI>
+						<SPAN class="treeviewBlack">Black text</SPAN> - the namespace/class/method has 100% coverage.
+					</LI>
+				</UL>
+			</P>
+ 		</div>
+        <a class="question" onclick="return Toggle('answer8')">8. What do the source code highlighting colours mean?<a><br/>
+		<div id="answer8" style="display:none">
+			<P class="answer">The default settings when NCoverExplorer is installed are as follows:
+				<UL>
+					<LI>
+						<SPAN class="sourceBlue">Blue background</SPAN>  - this section of code was visited (a tooltip tells you how many times).
+					</LI>
+					<LI>
+						<SPAN class="sourceRed">Red background</SPAN>  - this section of code was not visited.
+					</LI>
+				</UL>
+				You can change these settings in the View->Options dialog. For instance you may prefer to underline the unvisited code.
+			</P>
+ 		</div>
+        <a class="question" onclick="return Toggle('answer9')">9. What is that "Satisfaction Threshold" all about?</a><br/>
+		<div id="answer9" style="display:none">
+			<P class="answer">Depending on your coverage strategy, the code being tested and the extent of your usage of reflection,
+				mock objects and/or dependency injection you may determine it unfeasible to try
+				to reach 100% coverage everywhere. Some teams readily accept the diminishing returns
+				that can apply and instead set a specific blanket coverage goal such as “85%”.
+			</P>
+			<P class="answer">Assuming you have such a situation and there was no threshold capability, 
+				you would be stuck forever looking at a "danger red" node in the tree every time you open NCoverExplorer. 
+				With this feature enabled (by setting a threshold less than 100% in the View->Options dialog) you see 
+				a more calming mellow “blue” instead...
+			</P>
+			<P class="answer">As of release 1.3.1 you can now also specify the tolerance as a number of unvisited lines.
+				If either of the two threshold conditions are met the node will be coloured appropriately. Note that
+				a visit count of zero will always show as uncovered regardless of your tolerance.
+			</P>
+			<P class="answer">Of course just because you exceed the percentage doesn't mean that the 5% of code unvisited 
+				isn't the most critical!
+			</P>
+		</div>
+        <a class="question" onclick="return Toggle('answer10')">10. I have a killer idea for XYZ feature - can you add it for me?</a><br/>
+        <div id="answer10" style="display:none">
+			<P class="answer">Please leave a comment on my <A href="http://www.kiwidude.com/blog/">blog</A> or in the
+				<A href="http://ncover.org/SITE/forums/default.aspx">NCoverExplorer forums</A> and I will see what I can do. 
+				NCoverExplorer is by no means my "day job" so no promises can be made but if the idea is indeed a good one which 
+				will benefit many others I'm sure I can find time...
+			</P>
+		</div>
+        <a class="question" onclick="return Toggle('answer11')">11. Where can I download the latest version?</a><br/>
+        <div id="answer11" style="display:none">
+			<P class="answer">To download NCoverExplorer <b>without</b> TestDriven.Net, you can find it
+				<A href="http://www.kiwidude.com/dotnet/DownloadPage.html">here</A>.
+			</P>
+			<P class="answer">Download it as part of the install with TestDriven.Net from <A href="http://www.testdriven.net/">here</A>.
+			</P>
+		</div>
+        <a class="question" onclick="return Toggle('answer12')">12. What are the keyboard shortcuts?</a><br/>
+        <div id="answer12" style="display:none">
+			<P class="answer">The following shortcuts exist currently:
+				<PRE class="usage">
+					<SPAN class="treeviewBlue">CTRL+A</SPAN>  - Collapse all nodes recursively.
+					<SPAN class="treeviewBlue">CTRL+E</SPAN>  - Edit in VS.Net at the current caret position.
+					<SPAN class="treeviewBlue">CTRL+F</SPAN>  - Display the Find Class dialog.
+					<SPAN class="treeviewBlue">CTRL+L</SPAN>  - Expand all nodes recursively.
+					<SPAN class="treeviewBlue">CTRL+N</SPAN>  - Run NCover (via configuration dialog).
+					<SPAN class="treeviewBlue">CTRL+O</SPAN>  - Open coverage xml file.
+					<SPAN class="treeviewBlue">CTRL+P</SPAN>  - Print current source code class file.
+					<SPAN class="treeviewBlue">CTRL+Q</SPAN>  - Expand all covered child nodes.
+					<SPAN class="treeviewBlue">CTRL+S</SPAN>  - Save coverage xml file as displayed (without excluded nodes).
+					<SPAN class="treeviewBlue">F2</SPAN>      - Display the options dialog.
+					<SPAN class="treeviewBlue">F4</SPAN>      - Display the statistics summary dialog.
+					<SPAN class="treeviewBlue">F5</SPAN>      - Reload the current source code file.
+					<SPAN class="treeviewBlue">F6</SPAN>      - Display the reports dialog.
+					<SPAN class="treeviewBlue">DEL</SPAN>     - Exclude node and children from coverage tree and recalculate coverage.
+					<SPAN class="treeviewBlue">INS</SPAN>     - Include node and children into coverage tree and recalculate coverage.
+					<BR/>
+					<SPAN class="treeviewBlue">ALT+1</SPAN>   - Filter (hide) all 100% coverage nodes.
+					<SPAN class="treeviewBlue">ALT+2</SPAN>   - Filter (hide) all unvisited (0%) nodes.
+					<SPAN class="treeviewBlue">ALT+3</SPAN>   - Filter (hide) all nodes exceeding satisfactory coverage threshold.
+					<SPAN class="treeviewBlue">ALT+0</SPAN>   - Remove all filters.
+					<BR/>
+					<SPAN class="treeviewBlue">CTRL+1</SPAN>  - Display sequence point coverage report (covered%).
+					<SPAN class="treeviewBlue">CTRL+2</SPAN>  - Display sequence point coverage report (covered%) (unvisited seqpnt#).
+					<SPAN class="treeviewBlue">CTRL+3</SPAN>  - Display sequence point coverage report (unvisited seqpnt#).
+					<SPAN class="treeviewBlue">CTRL+4</SPAN>  - Display function coverage report (visits).
+					<SPAN class="treeviewBlue">CTRL+5</SPAN>  - Display function coverage coverage report (covered%).
+					<SPAN class="treeviewBlue">CTRL+6</SPAN>  - Display function coverage coverage report (covered%) (unvisited function#).
+					<SPAN class="treeviewBlue">CTRL+7</SPAN>  - Display function coverage coverage report (unvisited function#).
+					<BR/>
+					<SPAN class="treeviewBlue">CTRL+SHIFT+1</SPAN>  - Sort by name (default).
+					<SPAN class="treeviewBlue">CTRL+SHIFT+2</SPAN>  - Sort by name down to class level, with methods sorted by line number.
+					<SPAN class="treeviewBlue">CTRL+SHIFT+3</SPAN>  - Sort by coverage percentage ascending.
+					<SPAN class="treeviewBlue">CTRL+SHIFT+4</SPAN>  - Sort by coverage percentage ascending.
+					<SPAN class="treeviewBlue">CTRL+SHIFT+5</SPAN>  - Sort by #unvisited sequence points ascending.
+					<SPAN class="treeviewBlue">CTRL+SHIFT+6</SPAN>  - Sort by #unvisited sequence points ascending.
+					<SPAN class="treeviewBlue">CTRL+SHIFT+7</SPAN>  - Sort by max function visit count ascending.
+					<SPAN class="treeviewBlue">CTRL+SHIFT+8</SPAN>  - Sort by max function visit count ascending.
+					<SPAN class="treeviewBlue">CTRL+SHIFT+9</SPAN>  - Sort by max function coverage percentage ascending.
+					<SPAN class="treeviewBlue">CTRL+SHIFT+0</SPAN>  - Sort by max function coverage percentage descending.
+					<BR/>
+					<SPAN class="treeviewBlue">ALT+RIGHT</SPAN>     - Next unvisited line in the current class.
+					<SPAN class="treeviewBlue">ALT+LEFT</SPAN>      - Previous unvisited line in the current class.
+					<SPAN class="treeviewBlue">ALT+UP</SPAN>        - Next unvisited class in the current namespace.
+					<SPAN class="treeviewBlue">ALT+DOWN</SPAN>      - Previous unvisited class in the current namespace.
+				</PRE>
+			</P>
+		</div>
+        <a class="question" onclick="return Toggle('answer13')">13. Where are my personal settings stored?</a><br/>
+        <div id="answer13" style="display:none">
+			<P class="answer">C:\Documents and Settings\[User Name]\Application Data\KiwiNova\NCoverExplorer\NCoverExplorer.config
+			</P>
+		</div>
+        <a class="question" onclick="return Toggle('answer14')">14. Where can I download the custom NAnt/MSBuild tasks from?</a><br/>
+        <div id="answer14" style="display:none">
+			<P class="answer">A zip file containing the task source code, compiled assemblies and examples can be found
+				<A href="http://www.kiwidude.com/dotnet/DownloadPage.html">here</A>
+			</P>
+		</div>
+        <a class="question" onclick="return Toggle('answer15')">15. I get an "Illegal characters in path" exception - why?</a><br/>
+        <div id="answer15" style="display:none">
+			<P class="answer">NCover 1.4.6 has a bug whereby the filenames that it writes into the xml file contain
+				undesirable characters. Please use either NCover 1.3.3 or NCover 1.5.x. For more details refer to this blog entry
+				<A href="http://www.kiwidude.com/blog/2006/04/illegal-characters-ncover-versions.html">here</A>
+			</P>
+		</div>
+        <a class="question" onclick="return Toggle('answer16')">16. I get a "System.Format" exception - why?</a><br/>
+        <div id="answer16" style="display:none">
+			<P class="answer">One user reported a bizarre issue where on their machines a simple int.Parse("0") would not work.
+				The exact cause is unknown (they had uninstalled some components from their XP installation), however 
+				switching region settings to something else and back again resolved the issue.
+			</P>
+		</div>
+        <a class="question" onclick="return Toggle('answer17')">17. My module thresholds are not working - why?</a><br/>
+        <div id="answer17" style="display:none">
+			<P class="answer">The module names included in the module thresholds should not include any path information,
+			and are currently case sensitive (must exactly match the module names you see on the NCoverExplorer report).
+			The case sensitivity constraint is fixed in NCoverExplorer 1.3.5.
+			</P>
+		</div>
+		<P class="subtitle">---------------------------------<BR/>FAQ last updated Jul 21st 2007.</P>
+    </body>
+</html>

+ 874 - 0
lib/NCover/Explorer/NCoverExplorerReleaseNotes.html

@@ -0,0 +1,874 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html xmlns="http://www.w3.org/1999/xhtml">
+    <head>
+        <title>NCoverExplorer Release Notes</title>
+        <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR" />
+        <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema" />
+        <style type="text/css"> 
+			body { font-size: 10pt; font-family: Verdana; }
+			p.title { font-size: 20pt; font-weight: bold; }
+			.subtitle { color: maroon; }
+			p.question { font-weight: bold; }
+			pre { font-size: 10pt; font-family: Courier; }
+			pre.usage { background-color: #F0F0F0; }
+			.quote { background-color: #F0F0F0; margin-left: 36pt;}
+			.method { color: maroon; font-size: 10pt; font-weight: bold; }
+			.hdrcell { background-color: #DDEEFF; font-size: 10pt; }
+			.datacell { background-color: #FFFFEE; text-align: right; font-size: 10pt; }
+			.hldatacell { background-color: #FFCCCC; text-align: right; font-size: 10pt; }
+			.box { border: 1px solid; padding: 10px; }
+			.treeviewBlack { color: black; }
+			.treeviewGrey { color: grey; }
+			.treeviewRed { color: red; }
+			.treeviewBlue { color: blue; }
+			.sourceBlue { background-color: #E0EDFD; color: black; }
+			.sourceRed { background-color: #E6B0A5; color: black; }
+        </style>
+    </head>
+    <body>
+        <p class="title">NCoverExplorer Release Notes</p>
+        <p>The latest version of this document is located <a href="http://www.kiwidude.com/dotnet/NCoverExplorerReleaseNotes.html">here</a>.
+        <br/>For the latest NCoverExplorer news and updates, visit my <a href="http://www.kiwidude.com/blog/">blog</a>.</p>
+        <hr/>
+
+        <p class="question">v1.4.0 - Sep 16th 2007</p>
+        <p class="answer">The following new features were introduced:</p>
+ 			<ul>
+				<li>
+					Major rewrite of the underlying object design for future maintainability. Should improve treeview
+					performance for .NET 2.0 users (and load performance for all users) as well as make it easier to
+					add new features.
+ 				</li>
+				<li>
+					Changes to the project setting file format and location, both as used by the NCoverExplorer gui
+					and the NCoverExplorer.Console.exe application. If you use the /c argument supplying a configuration
+					file to NCoverExplorer then you must modify your project file format. See ConsoleExample.config
+					for details (replace the outer tag to be called ConsoleSetting).
+ 				</li>
+				<li>
+					Replaced ICSharpCode text editor with Actipro which offers far superior features, more attractive
+					appearance and provides a more flexible licensing model for the future of NCoverExplorer.
+ 				</li>
+				<li>
+					A new attribute added into the coverage report xml of "totalSeqPoints" which includes the
+					total of any excluded sequence points at that level. In response to a feature request in
+					<a href="http://ncover.org/SITE/forums/thread/697.aspx">this</a> NCover forum thread to allow
+					people to report how much code was excluded from coverage.
+ 				</li>
+				<li>
+					Add a copy command to the right-click menu for the source code area.
+ 				</li>
+				<li>
+					Add a print preview command to the File menu.
+ 				</li>
+				<li>
+					Add support for profiling a specific process module to the Run NCover dialog.
+ 				</li>
+				<li>
+					Add a /fc (failCombinedMinimum) option to NCoverExplorer.Console.exe for emulating the
+					original behaviour of failing based on total coverage to supplement the /f option which
+					fails if an individual module is below the coverage threshold.
+ 				</li>
+			</ul>
+        <p class="answer">The following minor changes were made:</p>
+			<ul>
+				<li>
+					Rewrite the options dialog to use a VS.Net style property pages approach.
+ 				</li>
+				<li>
+					Exclusions tab in Options dialog - delete key is now a shortcut to removing an exclusion.
+ 				</li>
+				<li>
+					Reorder the file menu slightly so Run NCover is separated.
+ 				</li>
+				<li>
+					Source code window now has a splitter bar.
+ 				</li>
+				<li>
+					Command line generated for NCover 1.5.7+ in NCover Runner dialog includes the //reg
+					option if choosing to register coverlib.dll.
+ 				</li>
+				<li>
+					Statistics pane auto-sizes the last column to fill the width of the listview.
+ 				</li>
+				<li>
+					Coverage exclusions now support '?' and more complex wildcard expressions such
+					as Test.*.Something*.
+ 				</li>
+			</ul>
+        <p class="answer">The following bug fixes were made:</p>
+			<ul>
+				<li>
+					Line number foreground colour not displayed correctly in options dialog tab.
+ 				</li>
+				<li>
+					Directory not created if not existing when writing output report.
+ 				</li>
+				<li>
+					Corrected typo in full name of parameter when using /quiet option with NCoverExplorer.Console.
+ 				</li>
+				<li>
+					Reduce GDI usage by editor control.
+					Rnsure Actipro renderer is correctly utilised.
+					Turn off text margins in NCover run dialog for editor. 
+					Ensure C++ code has whole line highlighted even though no sequence point values.
+					(Build 1.4.0.6)
+ 				</li>
+			</ul>
+        <hr/>
+
+        <p class="question">v1.3.6 - Apr 5th 2007</p>
+        <p class="answer">Bundled with TestDriven.Net from build 2.5.2078.</p>
+        <p class="answer">The following new features were introduced:</p>
+ 			<ul>
+				<li>
+					Added a Find dialog (ctrl+F) to quickly navigate to a class. Wildcards are supported.
+ 				</li>
+				<li>
+					Added a /q or /quiet option to NCoverExplorer.Console.exe to minimise the output.
+ 				</li>
+			</ul>
+        <p class="answer">The following minor changes were made:</p>
+			<ul>
+				<li>
+					Failing if less than a threshold now applies to any assembly not meeting the threshold
+					rather than comparing against the total coverage across all assemblies.
+ 				</li>
+				<li>
+					Add some examples to the NCoverExplorer.Console.exe output for the /help or /? (or no arguments).
+ 				</li>
+				<li>
+					Pressing ESC on the NCover Runner dialog will now close it.
+ 				</li>
+				<li>
+					Implement a workaround for poor treeview performance under .NET 2.0.
+ 				</li>
+				<li>
+					Rather than displaying validation errors automatically "fix" paths with matching trailing
+					slashes in the Change Source Path dialog.
+ 				</li>
+				<li>
+					Writing of coverage files should now match the schema for the relevant NCover version.
+					Later NCover versions like 1.5.7 have enhanced the schema, so the results of a merge or
+					save from NCoverExplorer should offer a comparative schema in the result.
+ 				</li>
+				<li>
+					Add a message indicating the return code to the output.
+ 				</li>
+			</ul>
+        <p class="answer">The following bug fixes were made:</p>
+			<ul>
+				<li>
+					NCover 1.5.5/6 produce duplicate sequence points. To workaround this fix Jamie Cansdale implemented 
+					a change for me to the way the methods are identified uniquely. The longer term fix is NCover version 1.5.7 
+					- this should keep things usable until that is released.
+ 				</li>
+				<li>
+					Another issue up to at least NCover 1.5.7 is that non-instrumented code does not have the sequence
+					points optimised. When merging multiple coverage files NCoverExplorer was incorrectly merging the noops with
+					valid instrumented sequence points, resulting in lower coverage information.
+ 				</li>
+				<li>
+					If CoverageReport.xsl stylesheet already exists in destination output folder for an xml report
+					and is marked as read-only then the replace would fail.
+ 				</li>
+				<li>
+					Drag/drop of coverage.xml files would add to the wrong end of the MRU menu once the maximum
+					number of items is reached.
+ 				</li>
+				<li>
+					If multiple classes in the same file then selecting a class node was not navigating to that
+					class in the source code tab. It will now jump to the first unvisited sequence point, or if
+					there are none of those the first sequence point in the class.
+ 				</li>
+				<li>
+					Wildcards for coverage exclusions were only working if placed at the ends, not in the middle
+					e.g. *.Tests or Testing.* would work, but xxx.*.yyy would not. 
+ 				</li>
+				<li>
+					Prevent some of the nasty GDI errors in CommandBars code from disrupting the GUI. Longer
+					term will utilise another framework.
+ 				</li>
+				<li>
+					Replacing paths by typing them in had MaxLength set to 50 so impossible to edit long paths
+					in the Change Source Path dialog.
+ 				</li>
+				<li>
+					Merging property nodes under a parent in the tree has a dependency on the ordering of the coverage output
+					to ensure they appear properly.
+ 				</li>
+				<li>
+					When restoring form position from persisted values, ensure it appears on a visible screen,
+					catering for the user changing their display settings between sessions.
+ 				</li>
+				<li>
+					Ensure stylesheet cannot be copied over the top of itself.
+ 				</li>
+				<li>
+					Supplying a file pattern with no matches to NCoverExplorer.Console.exe was throwing an "Index was
+					outside the bounds of the array" exception.
+ 				</li>
+				<li>
+					Multiple coverage exclusion attributes not supplied correctly to NCover (build 26).
+ 				</li>
+				<li>
+					Check to make sure node is assigned to a TreeView before getting handle to set text (build 32).
+ 				</li>
+				<li>
+					Sort sequence point nodes when loading and handle merge case of multiple non-instrumented
+					sequence points becoming a single sequence point. (build 36).
+ 				</li>
+			</ul>
+       <hr/>
+
+        <p class="question">v1.3.5 - Oct 23rd 2006</p>
+        <p class="answer">Bundled with TestDriven.Net from build 2.0.1921.</p>
+        <p class="answer">The following new features were introduced:</p>
+ 			<ul>
+				<li>
+					Added ability to run NCover from within NCoverExplorer (all versions). User Ctrl+N or
+					entries on File menu/toolbar to bring up configuration dialog. After successful
+					execution, the resultant coverage file is displayed in NCoverExplorer.
+ 				</li>
+				<li>
+					Added ability to generate MSBuild, NAnt and command-line scripts for running NCover
+					from within NCoverExplorer. See the NCover dialog above.
+ 				</li>
+				<li>
+					Added new function coverage viewing options and module/class coverage report.
+					Indicates the percentage of functions covered rather than the sequence points within each.
+					Supported by a new "satisfactory function threshold" and function % sorting options.
+ 				</li>
+				<li>
+					Background colours can now be customised for coverage nodes in the tree.
+ 				</li>
+				<li>
+					Reports will now have the current filtering applied, not just the sorting settings.
+ 				</li>
+				<li>
+					Reports using NCoverExplorer.Console can now have filtering and sorting applied. Use the
+					/sort: and /filter: command line arguments, or specify in a .config file (see example.config),
+					or use the sort/filter arguments to the NAnt/MSBuild tasks.
+ 				</li>
+				<li>
+					Sorting and filtering options applied are now persisted and reapplied to the next coverage
+					xml file loaded, both in this and future sessions.
+ 				</li>
+				<li>
+					Added ability to filter out all nodes exceeding coverage threshold.
+ 				</li>
+				<li>
+					Revamp to the NAnt/MSBuild tasks. Renamed assemblies and namespaces. Included new attribute of
+					"AssembliesList" as an alternative to the "Assemblies" group element to allow direct
+					specification of a list as you would on the command line. The "Version" attribute is now optional
+					- the task determines it from the NCover assembly instead if not specified. Tasks will automatically
+					register NCover coverlib.dll using the HKCU entry in the registry - no need for regsvr32 any more!
+					NCoverExplorer task now writes it's config file to temp folder for passing to the executable.
+ 				</li>
+				<li>
+					Added documentation for the NAnt and MSBuild tasks. This is included both in the NCoverExplorer.Extras.zip
+					file, as well as being available online for the custom <a href="http://www.kiwidude.com/dotnet/doc/NCoverExplorer.MSBuildTasks/index.html">MSBuild Task Help</a>
+					and <a href="http://www.kiwidude.com/dotnet/doc/NCoverExplorer.NAntTasks/index.html">NAnt Task Help</a>.
+					Links also available off the Help menu for NCoverExplorer.
+ 				</li>
+				<li>
+					Added a schema file ConsoleConfig.xsd to the distribution for people wanting to know the exact syntax
+					options for creating .config files to pass to NCoverExplorer.Console using the /config switch.
+ 				</li>
+				<li>
+					Added regular expression support to the coverage exclusions dialog for people wanting more complex queries.
+ 				</li>
+			</ul>
+        <p class="answer">The following minor changes were made:</p>
+			<ul>
+				<li>
+					<span style="color:red">Configuration file change - the ModuleThresholds section in .config files passed to NCoverExplorer.Console now
+					uses propercase attribute names to be consistent with the rest of the configuration file.
+					i.e. "ModuleName" instead of "moduleName", and "SatisfactoryCoverage" instead of "satisfactoryCoverage".</span> You must update
+					your NAnt/MSBuild tasks for NCoverExplorer if you use these. If you instead use the &lt;exec&gt; task with a .config
+					file then you should update the case of the entries in this file. This only affects people who have setup coverage exclusions
+					at the module level for reporting purposes.
+ 				</li>
+				<li>
+					If source code is out of date compared to the coverage results, the user is prompted with
+					the change source path dialog.
+ 				</li>
+				<li>
+					If the user chooses a new source code location, the tab is now automatically opened for
+					that location rather than requiring the user to click on the tree node again.
+ 				</li>
+				<li>
+					Added Help->NCoverExplorer Forum menu option to link to the NCover website. Also included
+					forum link information on the exception dialog.
+ 				</li>
+				<li>
+					Added a toolbar button for turning off filtering.
+ 				</li>
+				<li>
+					<span style="color:red">Keyboard shortcut change - Changed the keyboard shortcuts for next/previous unvisited class (ALT+UP/DOWN) and
+					next/previous unvisited line in class (ALT+LEFT/RIGHT).</span>
+ 				</li>
+				<li>
+					Remember which tab was last opened in the NCoverExplorer options dialog during an NCoverExplorer session.
+ 				</li>
+				<li>
+					Replaced references to "transparent.gif" with "shim.gif" in the NCoverExplorerSummary.xsl. The "shim.gif"
+					file is a transparent 1x1 gif already distributed with CC.Net.
+ 				</li>
+				<li>
+					Coverage exclusions for assemblies are now case insensitive.
+				</li>
+				<li>
+					There are no longer two default coverage exclusions added of "*.Tests" and "*.My*" for first time users. 
+					Intended for demo purposes only but stayed in until now. New users can manually add them if they desire them.
+				</li>
+			</ul>
+        <p class="answer">The following bug fixes were made:</p>
+			<ul>
+				<li>
+					Overloaded constructors with class level variable declarations were being merged into a single
+					constructor in the coverage results as they had the same "start line" of the variable. Now uses
+					end line as part of the identifying key for each method.
+ 				</li>
+				<li>
+					Memory leak from opening and closing tabs displaying source code.
+ 				</li>
+				<li>
+					.Net 2.0 performance is pretty dire due to crap Microsoft changes to the TreeView control.
+					Change to default to .Net 1.1 in NCoverExplorer.exe.config and wrap updates to the tree
+					in BeginUpdate/EndUpdate.
+ 				</li>
+				<li>
+					Parsing Java code would blow up if an accessor had the same name as a nested class (illegal in C#).
+ 				</li>
+				<li>
+					Bugfix in NCover task where multiple assemblies were specified for NCover 1.5.4, which requires
+					separate &lt;assembly&gt; nodes.
+ 				</li>
+				<li>
+					Bugfix in trying to restore selected node text after refreshing file could raise
+					null reference exception.
+ 				</li>
+				<li>
+					Bugfix so that module names specified in module thresholds when using NCoverExplorer.Console
+					are no longer case sensitive for matching.
+ 				</li>
+				<li>
+					Added support for NCover 1.5.5 - the //q bug is fixed in NCover. Also changed parsing code so that modules
+					with a blank assembly name (through using TestDriven.Net) are ignored from the coverage.
+ 				</li>
+				<li>
+					Bugfix for merge functionality for NCover.Console when wildcards were used with relative paths.
+ 				</li>
+				<li>
+					Bugfix for naming of xml/html arguments for NCover.Console with relative file paths.
+ 				</li>
+				<li>
+					Bugfix for drag/drop broken while making the memory usage optimisations during the 1.3.5 beta release.
+ 				</li>
+				<li>
+					Print button was enabled when no source code displayed resulting in exception.
+ 				</li>
+			</ul>
+       <hr/>
+
+        <p class="question">v1.3.4 - Jul 10th 2006</p>
+        <p class="answer">Bundled with TestDriven.Net from build 2.0.1702.</p>
+        <p class="answer">The following new features were introduced:</p>
+ 			<ul>
+				<li>
+					Added toolbar buttons which support moving to the next and previous unvisited code
+					within a class or namespace. Shortcut keys of N and P for next/previous unvisited line in the
+					current class (or mouse forward/back buttons). Use Ctrl+N and Ctrl+P to navigate to the
+					next/previous partially or unvisited class within the namespace (or Ctrl+forward/back mouse buttons).
+ 				</li>
+				<li>
+					NCoverExplorer.Console.exe now supports saving the merged results of the coverage xml file(s) with
+					a /s[ave] option. The NCoverExplorer NAnt and MSBuild tasks have also been enhanced to support this
+					with an optional "mergeFileName" attribute.
+ 				</li>
+				<li>
+					NCoverExplorer.Console.exe now supports wildcards for coverage xml filename(s).
+ 				</li>
+				<li>
+					NCoverExplorer.Console.exe now supports module level coverage thresholds, rather than just a project
+					coverage threshold. This feature allows finer tolerance for both output on the reports and to fail
+					a build. Specifying the module thresholds is done either through a .config file (see ConsoleExample.config)
+					or through parameters in the NAnt/MSBuild tasks.
+ 				</li>
+				<li>
+					Added a new summary report showing class coverage per namespace per module.
+ 				</li>
+				<li>
+					Enhanced the NCoverExplorerSummary.xsl to display summaries of each module.
+ 				</li>
+				<li>
+					Clicking on a class with non-existent source code displays a dialog allowing the user to specify an alternate
+					folder. For use when the source code location indicated within the coverage.xml file(s) loaded differs from
+					that on the local machine now (e.g. a different drive letter or folder path).
+ 				</li>
+			</ul>
+        <p class="answer">The following minor changes were made:</p>
+			<ul>
+				<li>
+					NCoverExplorer release is compiled against .Net 1.1 rather than .Net 1.0 due to a dependency on the
+					FolderBrowserDialog not available in .Net 1.0.
+ 				</li>
+				<li>
+					Coverage file stylesheet modified to show coverage column and NCoverExplorer version information with
+					numerous other cosmetic enhancements.
+ 				</li>
+				<li>
+					Enrich error environment information to include .Net framework version and operating system.
+ 				</li>
+				<li>
+					Classes without a namespace are now shown under a namespace node of "-" like in Reflector.
+ 				</li>
+			</ul>
+        <p class="answer">The following bug fixes were made:</p>
+			<ul>
+				<li>
+					Warnings about mismatches when merging xml files are no longer issued. NCover seems to inconsistently
+					produce xml file coverage of methods which caused some users problems when merging.
+ 				</li>
+				<li>
+					Nested classes without a namespace specified would cause the coverage.xml file to fail to load.
+ 				</li>
+				<li>
+					Parsing overloaded properties (overloads of this[]) would not show the separate overloads in the tree
+					and have incorrect coverage stats.
+ 				</li>
+				<li>
+					Fix memory leaks for when source code tabs are closed.
+ 				</li>
+				<li>
+					Minimum coverage threshold for NCoverExplorer.Console would sometimes be incorrect due to rounding.
+ 				</li>
+				<li>
+					Changed NCoverExplorerSummary.xsl to format to 1dp rather than rounding to 0.
+ 				</li>
+				<li>
+					Sorting by filename for a method then clicking on class node threw exception.
+ 				</li>
+				<li>
+					VB.Net source code keywords not highlighted with the correct ICSharpCode template.
+ 				</li>
+			</ul>
+       <hr/>
+
+        <p class="question">v1.3.3 - Apr 4th 2006</p>
+        <p class="answer">Bundled with TestDriven.Net from build 2.0.1578.</p>
+        <p class="answer">The following new features were introduced:</p>
+ 			<ul>
+				<li>
+					Added NCoverExplorer.Console.exe for utilising NCoverExplorer features with automated
+					coverage builds and NAnt tasks. By default will load up all the specified coverage file(s), apply
+					any coverage exclusion(s) specified in the NCoverExplorer configuration and display total
+					coverage statistics in the console output. If all items processed successfully returns an exit code of 0,
+					if an exception occurs returns an exit code of 2.
+ 				</li>
+				<li>
+					Added /m:xx (or /minCoverage:xx) argument to NCoverExplorer.Console.exe. When used in conjunction with
+					/f (or /failMinimum) an exit code of 3 is returned if the min coverage is not reached. Can act
+					as a trigger for failing an automated build such as with CruiseControl.Net.
+ 				</li>
+				<li>
+					Added module & namespace summary xml report generation to NCoverExplorer (both the GUI and Console versions).
+					In the GUI, this is available via the "View->Reports" menu. The three reports that are offered currently are:
+					<br/>&nbsp;- Module Summary (Coverage totals for the project and per module);
+					<br/>&nbsp;- Namespace Summary (Coverage totals for the project and per namespace);
+					<br/>&nbsp;- Module Namespace Summary (Coverage totals for the project, per module and per namespace);
+ 				</li>
+				<li>
+					Reports can be generated in xml or html format. Native html may be useful for directly attaching to e-mails.
+					If xml format is chosen a "CoverageReport.xsl" stylesheet is copied from the NCoverExplorer installation
+					folder to the report directory and linked to the xml file similar to coverage.xml/coverage.xsl by NCover.
+ 				</li>
+				<li>
+					Reports can contain an "excluded nodes" footer section. This lists at the topmost level all of the items
+					excluded from coverage at the time the report was run.
+ 				</li>
+				<li>
+					Added "View->Filter" main menu and context menus, offering the ability to filter out nodes. Filtered
+					nodes are simply moved under a new "Filtered" tree node and do not alter the coverage statistics
+					(unlike excluded nodes which are effectively removed from the tree). Filters offered are either to
+					hide all 100% covered nodes, or hide all unvisited (0%) nodes.
+ 				</li>
+				<li>
+					Added "Include in Results" context menu option for when clicking on either the "Excluded" bin or one
+					of it's immediate child nodes. Offers a way to "undo" an exclusion without reloading the file.
+ 				</li>
+				<li>
+					Added "View->Summary Statistics" menu option (shortcut F3) to show dialog of totals of files, classes, members,
+					NCLOC (non-commented lines of code) and sequence points. Statistics do not include excluded nodes
+					(but will include filtered nodes).
+ 				</li>
+				<li>
+					Created NAnt and MSBuild tasks for execution of NCoverExplorer.Console as an alternative to the &lt;exec&gt; task.
+					These tasks offer a more developer friendly alternative such as &lt;fileset&gt; for coverage files and creating a
+					.config file on the fly based on specified parameters such as &lt;exclusions&gt; within the .build/.proj file.
+ 				</li>
+				<li>
+					Replaced menus with a lightly tweaked variant of Lutz Roeder's excellent CommandBar code to give a more modern
+					look and assign icons on the menus.
+ 				</li>
+				<li>
+					Added a toolbar. If not wanted the toolbar can be hidden using the "View->Show Toolbar" menu option.
+ 				</li>
+			</ul>
+        <p class="answer">The following minor changes were made:</p>
+ 			<ul>
+				<li>
+	 				Options dialog shortcut changed to F2.
+ 				</li>
+				<li>
+	 				Excluding a node will now select the node after by default rather than the one previous.
+ 				</li>
+			</ul>
+        <p class="answer">The following bug fixes were made:</p>
+			<ul>
+				<li>
+					Fix bug where delete key shortcut was active on the root coverage file node, causing an exception to be thrown.
+ 				</li>
+				<li>
+					Path was being truncated from the module name when saved.
+ 				</li>
+				<li>
+					Fix bug where changing theme without coverage file loaded caused error.
+ 				</li>
+			</ul>
+        <hr/>
+
+        <p class="question">v1.3.2 - Mar 14th 2006</p>
+        <p class="answer">Bundled with TestDriven.Net from build 2.0.1545.</p>
+        <p class="answer">The following new features were introduced:</p>
+			<ul>
+				<li>
+					Added support for merging multiple coverage files. This can be triggered through a variety of ways:
+					<br/>&nbsp;- Selecting multiple	test classes/fixtures/projects in TestDriven.Net;
+					<br/>&nbsp;- Passing multiple files in the command line arguments;
+					<br/>&nbsp;- Selecting multiple files in the Open dialog;
+					<br/>&nbsp;- Using a new "File->Merge..." menu option;
+					<br/>&nbsp;- Drag/dropping onto the NCoverExplorer application.
+				</li>
+				<li>
+					Added tabs for each source code file you open to explore coverage on. If you click on a partial class
+					then tabs will be opened for each of the source code files making up the class.
+				</li>
+				<li>
+					Added the ability to exclude assemblies, namespaces or classes from the coverage results by a wildcard capable
+					case-sensitive match on the name. By default NCoverExplorer includes two exclusions:
+					<br/>&nbsp;- Exclude all assemblies with the name ending in ".Tests".
+					<br/>&nbsp;- Exclude all namespaces with the name containing ".My" (for VB.Net exclusions).
+				</li>
+				<li>
+					Added support for the NCover 1.5.4 "excluded" attribute which can be found in the coverage.xml files when
+					the appropriate NCover command-line attributes are used. Note that TestDriven.Net still does not as yet
+					support this attribute so you need to use the NCover.Console command line for this feature - for more information see
+					<a href=http://ncover.org/SITE/blogs/ncover_blog/archive/2006/01/29/103.aspx>here</a>. NCoverExplorer
+					will not include nodes marked as 'excluded' by NCover in it's totals but will still display them in the tree.
+				</li>
+				<li>
+					Added an "Excluded" child bin node containing all nodes that have been excluded by the options dialog, by NCover
+					attributes or by the "Exclude From Results" context menu option (see next point).
+				</li>
+				<li>
+					Replaced the "Remove from Results" context menu feature with "Exclude from Results" (shortcut of the DEL key).
+					Achieves a similar result of removing nodes from coverage calculations, however the nodes are "moved" to the
+					Excluded bin rather than being deleted from the tree.
+				</li>
+				<li>
+					Added a custom "theme" capability along with further colour and font customisation options for the coverage tree,
+					statistics and source code panes. A number of predefined "themes" are supplied and users can add their own.
+					Users can switch between themes either in the Options dialog or via the "View->Themes" menu.
+				</li>
+				<li>
+					Added a new "View->Coverage" menu which has sub-options related to "Sequence Point Coverage" and
+					"Function Coverage", assigned shortcut keys ctrl+(1-4):
+					<br/>&nbsp;- Choosing one of the "Sequence Point" variants will display the tree nodes with differing naming
+					combinations of coverage percentage and # unvisited sequence points.
+					<br/>&nbsp;- Choosing "Function Coverage" will alter the coverage tree display so that only methods/classes that were
+					invoked are highlighted. Method nodes show the number of visits to that method. Class, namespace and module nodes
+					show the maximum visit count by any of their children.
+				</li>
+				<li>
+					Added a "View->Sort By" menu option and context menu on the tree, with sub-options for "Name" (default),
+					"Class name/line number", "Coverage %" (ascending/descending), "Uncovered Sequence Points" (ascending/descending)
+					and "Visit Counts" (ascending/descending).
+					Assigned shortcut keys of ctrl+shift+(1-8). Note that reloading the coverage file will remove the current sort
+					and default back to by "Name".
+				</li>
+				<li>
+					Added "Save" and "Save As" options to the File menu. These give you the option of overwriting/creating a
+					new coverage.xml file with the current values loaded in NCoverExplorer. Any coverage exclusions/removed
+					nodes will not appear in the saved coverage file. Note that the methods are written in the same order as
+					the sort order specified above.
+				</li>
+				<li>
+					Added an "Explore Coverage Folder" menu option to the file menu.
+				</li>
+				<li>
+					Added an "Expand All" context menu option on the tree (shortcut ctrl+L).
+				</li>
+				<li>
+					Enhanced the statistics pane. When a class node is selected you will now see additional columns of
+					coverage %, unvisited sequence points and sequence points. When clicking on a method node you will
+					now see the filename.
+				</li>
+				<li>
+					Implemented "smart expansion" in the tree. If when you expand a node there is only one child node
+					then that node will also be expanded and so on. Increases speed of tree navigation particularly
+					if using a style of "Nested" namespaces with deep hierarchies.
+				</li>
+				<li>
+					Display class file name in tab page header bar when a method node is clicked on. Tooltip shows the path.
+				</li>
+			</ul>
+        <p class="answer">The following minor changes were made:</p>
+			<ul>
+				<li>
+					Optimised when reloads of the coverage file so it is now only required if you change a coverage exclusion
+					or the tree grouping/nesting styles in the options dialog. Makes for a snappier UI.
+				</li>
+				<li>
+					Added a "Close" menu option to remove any loaded coverage file(s) from display.
+				</li>
+				<li>
+					Moved all the "Recent Files" into a submenu to tidy up the File menu.
+				</li>
+				<li>
+					Pressing Tab/shift-tab while focus is in the TextEditor pane of source code will now
+					move focus out of the TextEditor.
+				</li>
+				<li>
+					If a source code file contains multiple classes (not nested), then only the highlighting relevant
+					to that particular class will be displayed in the editor window as each class tree node is clicked.
+				</li>
+				<li>
+					Excluding the My namespace is now done through the Exclusions feature.
+				</li>
+				<li>
+					Options dialog can be displayed using the F4 shortcut key.
+				</li>
+				<li>
+					Removed last remnants of "non VS.Net standard colors" from the C# ICSharpCode TextEditor template.
+				</li>
+				<li>
+					Make the GUI naming consistent to correctly reference "sequence points" rather than "lines" and "unvisited"
+					rather than "uncovered".
+				</li>
+				<li>
+					Removed "Edit in VS.Net" from the View menu.
+				</li>
+				<li>
+					Changed NCoverExplorer main form icon to one that includes 32x32 sizes so Alt-Tab switching looks
+					better than upscaled 16x16 icon.
+				</li>
+				<li>
+					User is now prompted to remove a non-existent coverage file from the "Recent" files list rather than
+					automatically being removed.
+				</li>
+			</ul>
+        <p class="answer">The following bug fixes were made:</p>
+			<ul>
+				<li>
+					Serializing the configuration settings was not flushing the stream - resulting sometimes in a blank settings file
+					preventing people from loading NCoverExplorer. Will now revert to default settings if an error occurs.
+				</li>
+				<li>
+					Displaying a source code file that has been modified to have less lines of code than at the time of the coverage run
+					will now display a user friendly message box.
+				</li>
+				<li>
+					Compensation made for NCover not reporting column information when profiling C++ code. NCoverExplorer will now
+					highlight the entire line rather than throwing an error.
+				</li>
+				<li>
+					In some circumstances properties were not highlighted consistently due to a bug in the property node expansion.
+				</li>
+				<li>
+					Coverage greater than 99.5% will no longer be rounded up to 100% in the display. It is instead shown as ">99.5%".
+				</li>
+				<li>
+					Extremely high visit counts will no longer overflow the visit count.
+				</li>
+				<li>
+					Statistics pane for a class will now always consistently show the property nodes grouped, rather than only
+					after the class node has been expanded in the tree.
+				</li>
+				<li>
+					Recent file menu would display incorrectly for files numbered from 10 onwards truncating first character.
+				</li>
+				<li>
+					Release notes & FAQ were always directed to website rather than local versions when NCoverExplorer was started
+					from TestDriven.Net.
+				</li>
+			</ul>
+        <hr/>
+
+        <p class="question">v1.3.1 - Feb 15th 2006</p>
+        <p class="answer">Bundled with TestDriven.Net from build 2.0.1435.</p>
+        <p class="answer">The following new features were introduced:</p>
+			<ul>
+				<li>
+					Namespaces are now "flattened" by default in the tree. This looks like the ClassView
+					browser in VS.Net 2005 (or Lutz Roeder's Reflector). You can retain the nested look by changing it in the View->Options dialog.
+				</li>
+				<li>
+					If you use the original "nested" namespace style (like the VS.Net 2003 class browser), then inner namespaces will now be
+					listed at the top of each branch with the classes listed underneath which is less confusing to navigate.
+				</li>
+				<li>
+					Option to exclude the "My" namespace for VB.Net projects (for use with with BCL 2.0 & NCover 1.5.x).
+				</li>
+				<li>
+					Right-click menu option on coverage tree (shortcut ctrl+R) to "Remove From Results" that selected node
+					and all it's children. Will force the coverage values to be recalculated. Intended for use where
+					you have undesired assemblies, namespaces, classes or methods included in the report that are skewing your
+					coverage results and you want them removed.
+				</li>
+				<li>
+					Option to specify a satisfactory coverage threshold as a number of lines instead/as well as a percentage.
+					If either of the conditions are met the node is coloured differently (provided the coverage is not zero).
+				</li>
+				<li>
+					Colours can now be customised for both the source code highlighting and the nodes in the tree.
+				</li>
+				<li>
+					Collapse all nodes context menu option on the coverage tree control (shortcut ctrl-A). Equivalent to reloading
+					the coverage file (but would preserve any changes you have made such as removing nodes).
+				</li>
+				<li>
+					By default the NCoverExplorer now attempts to restore your currently selected node/caret position after
+					reloading a coverage.xml file (either F5 or by execution of another "Test With Coverage" command in TestDriven.Net).
+					You can turn off this behaviour in the View->Options dialog.
+				</li>
+				<li>
+					Statistics pane is now sortable by method name (default), visit count and line number.
+				</li>
+				<li>
+					Statistics pane now summarises all the methods and their visit counts when a class node is clicked.
+					Can be used as a basic form of method invocation counting for a fairly rudimentary level of profiling.
+					The colouring used is the same as that of the tree to visually assist in identifying methods invoked.
+				</li>
+			</ul>
+        <p class="answer">The following minor changes were made:</p>
+			<ul>
+				<li>
+					Restructured the Options dialog to have a tabbed interface.
+				</li>
+				<li>
+					Renamed the "Show Visit Pane" menu option to "Show Statistics".
+				</li>
+				<li>
+					The statistics pane now includes the method name. Widths of the columns are remembered each time you close NCoverExplorer.
+				</li>
+				<li>
+					Statistics pane now has icons and colouring to match those of the associated nodes in the coverage tree.
+				</li>
+				<li>
+					Inner nested classes now nested internally in the tree under the parent class, sorted to the top.
+				</li>
+				<li>
+					Added FAQ, Release Notes and Blog website to the Help menu.
+				</li>
+			</ul>
+        <p class="answer">The following bug fixes were made:</p>
+			<ul>
+				<li>
+					Source code files now loading with "Encoding.Default" rather than previous default of UTF-8.
+				</li>
+				<li>
+					Coverage highlighting not working correctly on multiple line statements.
+				</li>
+				<li>
+					Now handles partial classes and yield statements correctly.
+				</li>
+			</ul>
+        <hr/>
+
+        <p class="question">v1.3 - Feb 6th 2006</p>
+        <p class="answer">Bundled with TestDriven.Net from build 2.0.1373d.</p>
+        <p class="answer">The following new features were introduced:</p>
+			<ul>
+				<li>
+					Launching from VS.Net using TestDriven.Net will now re-use the NCoverExplorer instance
+					opened from a previous "Test with... Coverage" click. Each VS.Net instance has it's own
+					instance of NCoverExplorer.
+				</li>
+				<li>
+					Added "Edit in VS.Net" functionality (keyboard shortcut ctrl+ E) for classes and methods.
+					Will navigate to source code in your IDE at same point where your cursor resides in NCoverExplorer.
+					Replaces and enhances previous "Open File" right-click option which has been removed.
+				</li>
+				<li>
+					Added "Expand Covered" functionality (keyboard shortcut ctrl + Q) - recurses through the child
+					nodes of the current node and expands all those with partial or complete coverage. Useful when
+					using in conjunction with TestDriven.Net for isolated unit testing.
+				</li>
+				<li>
+					Added "coverage file" node at the top of the tree showing total coverage across all modules/namespaces.
+				</li>
+				<li>
+					Group by module option (default) to assist with navigating coverage for large solutions.
+				</li>
+				<li>
+					Configuration information for NCoverExplorer now written to Local Settings rather than registry.
+				</li>
+				<li>
+					Increase default number of "recent files" to 10, with ability to alter in the Options dialog.
+				</li>
+				<li>
+					Reload of the current coverage file now has a shortcut key of F5.
+				</li>
+				<li>
+					Display the path to the currently loaded coverage file in the title bar.
+				</li>
+			</ul>
+        <p class="answer">The following minor changes were made:</p>
+			<ul>
+				<li>
+					Performance enhancements to improve loading times further for large files.
+				</li>
+				<li>
+					Static constructors now renamed from "cctor" to ".cctor" so as to be sorted at the top.
+				</li>
+				<li>
+					Running NCoverExplorer for first time ever will use a better starting form position.
+				</li>
+				<li>
+					Removed configuration option for "nesting properties" - default remains the same of "true".
+				</li>
+				<li>
+					Source code refactoring into separate assemblies to facilitate unit testing.
+				</li>
+			</ul>
+        <hr/>
+        
+        <p class="question">v1.2 - Feb 1st 2006</p>
+        <p class="answer">First public release, bundled with TestDriven.Net from build 2.0.1341d.</p>
+        <p class="answer">The following new features were introduced:</p>
+			<ul>
+				<li>
+					Block style highlighting option for both visited and unvisited code.
+				</li>
+				<li>
+					Satisfactory coverage threshold.
+				</li>
+				<li>
+					Nesting of properties as nodes are expanded.
+				</li>
+				<li>
+					Further speed improvements for initial file parsing.
+				</li>
+			</ul>
+        <hr/>
+        
+        <p class="question">v1.1 - Jan 1st 2006</p>
+        <p class="answer">Speed improvements.</p>
+        <hr/>
+        
+        <p class="question">v1.0 - Dec 17th 2005</p>
+        <p class="answer">First version created.</p>
+    </body>
+</html>

BIN
lib/NCover/MSVCP80.dll


BIN
lib/NCover/MSVCR80.dll


+ 8 - 0
lib/NCover/Microsoft.VC80.CRT.manifest

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+    <noInheritable></noInheritable>
+    <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
+    <file name="msvcr80.dll" hash="10f4cb2831f1e9288a73387a8734a8b604e5beaa" hashalg="SHA1"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>n9On8FItNsK/DmT8UQxu6jYDtWQ=</dsig:DigestValue></asmv2:hash></file>
+    <file name="msvcp80.dll" hash="b2082dfd3009365c5b287448dcb3b4e2158a6d26" hashalg="SHA1"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>0KJ/VTwP4OUHx98HlIW2AdW1kuY=</dsig:DigestValue></asmv2:hash></file>
+    <file name="msvcm80.dll" hash="542490d0fcf8615c46d0ca487033ccaeb3941f0b" hashalg="SHA1"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>YJuB+9Os2oxW4mY+2oC/r8lICZE=</dsig:DigestValue></asmv2:hash></file>
+</assembly>

BIN
lib/NCover/NCover.Console.exe


+ 6 - 0
lib/NCover/NCover.Console.exe.config

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+  <startup>
+    <supportedRuntime version="v2.0.50727"/>
+  </startup>
+</configuration>

BIN
lib/NCover/NCover.Framework.dll


BIN
lib/NCover/NCoverExplorer.MSBuildTasks.dll


+ 1092 - 0
lib/NCover/NCoverExplorer.MSBuildTasks.xml

@@ -0,0 +1,1092 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>NCoverExplorer.MSBuildTasks</name>
+    </assembly>
+    <members>
+        <member name="T:NCoverExplorer.Common.NCoverLogLevel">
+            <summary>
+            Logging levels to use within NCover task.
+            </summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.NCoverLogLevel.Quiet">
+            <summary>No logging.</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.NCoverLogLevel.Normal">
+            <summary>Writes standard log output (Default).</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.NCoverLogLevel.Verbose">
+            <summary>Writes verbose log output.</summary>
+        </member>
+        <member name="T:NCoverExplorer.Common.NCoverXmlFormat">
+            <summary>
+            New element option introduced in NCover 1.5.7 for use with //x2 argument.
+            </summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.NCoverXmlFormat.Xml1">
+            <summary>
+            Legacy xml format that is the default.
+            </summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.NCoverXmlFormat.Xml2">
+            <summary>
+            New xml format introduced in NCover 1.5.7 that nests method nodes with class nodes.
+            </summary>
+        </member>
+        <member name="T:NCoverExplorer.Common.TreeSortStyle">
+            <summary>
+            Sort order for displaying the coverage results in the tree.
+            </summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.TreeSortStyle.Name">
+            <summary>Sort by name (default). (0)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.TreeSortStyle.ClassLine">
+            <summary>Sort by name( down to class level) then by line within the class. (1)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.TreeSortStyle.CoveragePercentageAscending">
+            <summary>Sort by coverage percentage ascending. (2)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.TreeSortStyle.CoveragePercentageDescending">
+            <summary>Sort by coverage percentage descending. (3)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.TreeSortStyle.UnvisitedSequencePointsAscending">
+            <summary>Sort by unvisited lines ascending. (4)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.TreeSortStyle.UnvisitedSequencePointsDescending">
+            <summary>Sort by unvisited lines descending. (5)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.TreeSortStyle.VisitCountAscending">
+            <summary>Sort by visit count ascending. (6)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.TreeSortStyle.VisitCountDescending">
+            <summary>Sort by visit count descending. (7)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.TreeSortStyle.FunctionCoverageAscending">
+            <summary>Sort by function coverage ascending. (8)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.TreeSortStyle.FunctionCoverageDescending">
+            <summary>Sort by function coverage descending. (9)</summary>
+        </member>
+        <member name="T:NCoverExplorer.Common.TreeFilterStyle">
+            <summary>
+            Filter styles that can be applied to the results. Filtered nodes are not excluded from the coverage
+            statistics.
+            </summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.TreeFilterStyle.None">
+            <summary>No filter applied. (0)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.TreeFilterStyle.HideUnvisited">
+            <summary>Hide unvisited nodes. (1)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.TreeFilterStyle.HideFullyCovered">
+            <summary>Hide 100% fully covered nodes. (2)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.TreeFilterStyle.HideThresholdCovered">
+            <summary>Hide nodes exceeding coverage threshold. (3)</summary>
+        </member>
+        <member name="T:NCoverExplorer.Common.CoverageReportType">
+            <summary>
+            Potential report types.
+            </summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.CoverageReportType.None">
+            <summary>None. (0)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.CoverageReportType.ModuleSummary">
+            <summary>Modules summary only. (1)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.CoverageReportType.ModuleNamespaceSummary">
+            <summary>Modules summary followed with a namespaces by module summary. (3)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.CoverageReportType.ModuleClassSummary">
+            <summary>Modules summary followed with a classes by namespace summary. (4)</summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.CoverageReportType.ModuleClassFunctionSummary">
+            <summary>Modules summary followed with a classes by namespace summary showing function coverage. (5)</summary>
+        </member>
+        <member name="T:NCoverExplorer.Common.NCoverUtilities">
+            <summary>
+            Common utility functions for working with NCover.
+            </summary>
+        </member>
+        <member name="F:NCoverExplorer.Common.NCoverUtilities.NCOVER_PROFILER_CLSID">
+            <summary>
+            Registry key for registering NCover manually - this will all become unnecessary in future versions of NCover (post 1.5.5) hopefully.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.Common.NCoverUtilities.BuildTempSettingsXmlFileForNCover(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String[],System.String,NCoverExplorer.Common.NCoverLogLevel,System.String,System.String,System.Boolean,System.String,NCoverExplorer.Common.NCoverXmlFormat,System.String)">
+            <summary>
+            Builds the temp settings XML file for NCover.
+            </summary>
+            <param name="version">The version.</param>
+            <param name="ncoverPath">The ncover path.</param>
+            <param name="settingsFile">The settings file.</param>
+            <param name="commandLineExe">The command line exe.</param>
+            <param name="commandLineArgs">The command line args.</param>
+            <param name="workingDirectory">The working directory.</param>
+            <param name="assemblyList">The assembly list.</param>
+            <param name="assemblyFiles">The assembly files.</param>
+            <param name="coverageFile">The coverage file.</param>
+            <param name="logLevel">The log level.</param>
+            <param name="logFile">The log file.</param>
+            <param name="excludeAttributes">The exclude attributes.</param>
+            <param name="profileIIS">If set to <c>true</c> profile IIS.</param>
+            <param name="profileService">The profile service.</param>
+            <param name="xmlFormat">The XML format to write out (new feature in 1.5.7).</param>
+            <param name="profiledProcessModule">Name of the profiled process.</param>
+            <returns>
+            Command line switch necessary for passing as an argument.
+            </returns>
+        </member>
+        <member name="M:NCoverExplorer.Common.NCoverUtilities.CreateCommandLineArguments(System.String,System.String,System.String,System.String,System.String,System.String,System.String,NCoverExplorer.Common.NCoverLogLevel,System.String,System.String,System.Boolean,System.String,System.Boolean,System.Boolean,System.String)">
+            <summary>
+            Creates the command line arguments.
+            </summary>
+            <param name="version">The version.</param>
+            <param name="ncoverPath">The ncover path.</param>
+            <param name="commandLineExe">The command line exe.</param>
+            <param name="commandLineArgs">The command line args.</param>
+            <param name="workingDirectory">The working directory.</param>
+            <param name="assemblyList">The assembly list.</param>
+            <param name="coverageFile">The coverage file.</param>
+            <param name="logLevel">The log level.</param>
+            <param name="logFile">The log file.</param>
+            <param name="excludeAttributes">The exclude attributes.</param>
+            <param name="profileIIS">if set to <c>true</c> [profile IIS].</param>
+            <param name="profileService">The profile service.</param>
+            <param name="includeFormatting">if set to <c>true</c> include formatting.</param>
+            <param name="registerCoverLib">Whether to register CoverLib.dll.</param>
+            <param name="commandLineFormatToken">The command line format token.</param>
+            <returns></returns>
+        </member>
+        <member name="M:NCoverExplorer.Common.NCoverUtilities.RegisterNCover(System.String)">
+            <summary>
+            Registers the NCover coverlib.dll by writing directly into the registry under HKCU.
+            Keeps a reference count so only register if only NCover task currently running.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.Common.NCoverUtilities.UnregisterNCover">
+            <summary>
+            Unregisters the NCover coverlib.dll
+            Keeps a reference count so only unregister if last NCover task currently running.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.Common.NCoverUtilities._ReadNCoverConsoleVersion(System.String)">
+            <summary>
+            Find path to NCover console and retrieve the version info.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.Common.NCoverUtilities.GetFileContents(System.String)">
+            <summary>
+            Reads the file contents and returns as a string.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.Common.NCoverUtilities._BuildTempSettingsXmlFileForNCover133(System.String,System.String,System.String,System.String,System.String,System.String[],System.String,NCoverExplorer.Common.NCoverLogLevel,System.String)">
+            <summary>
+            Build the Xml .ncoversettings file to pass to the NCover.Console executable using NCover 1.3.3 syntax.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.Common.NCoverUtilities._WriteAssemblyNamesForNCover133(System.String,System.String[],System.Xml.XmlTextWriter)">
+            <summary>
+            Write assembly names as a semi-colon delimited unique assembly name list.
+            Assembly names do not have extensions (how NCover requires them) to match how the
+            CLR identifies them when being profiled.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.Common.NCoverUtilities._BuildTempSettingsXmlFileForNCover15(System.Int32,System.String,System.String,System.String,System.String,System.String,System.String[],System.String,NCoverExplorer.Common.NCoverLogLevel,System.String,System.String,System.Boolean,System.String,NCoverExplorer.Common.NCoverXmlFormat,System.String)">
+            <summary>
+            Build the Xml .ncoversettings file to pass to the NCover.Console executable using NCover 1.5 syntax.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.Common.NCoverUtilities._WriteAssemblyNodes(System.String,System.String[],System.Xml.XmlTextWriter)">
+            <summary>
+            Writes assembly names as separate Assembly nodes in the settings file. Seems to be a 
+            difference in how NCover 1.5.4 onwards handles from previous versions in the xml.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.Common.NCoverUtilities._BuildCommandLineForNCover133(System.String,System.String,System.String,System.String,System.String,NCoverExplorer.Common.NCoverLogLevel,System.String,System.String)">
+            <summary>
+            Build a command line using NCover 1.3.3 syntax.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.Common.NCoverUtilities._BuildCommandLineForNCover15(System.Int32,System.String,System.String,System.String,System.String,System.String,NCoverExplorer.Common.NCoverLogLevel,System.String,System.String,System.Boolean,System.String,System.Boolean,System.String)">
+            <summary>
+            Build a command line using NCover 1.5.x syntax.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.Common.NCoverUtilities._RegisterNCoverInHKCURegistry(System.String)">
+             <summary>
+            Creates the necessary HKCU entries for the NCover coverlib.dll.
+             </summary>
+             <param name="ncoverPath">The ncover path.</param>
+        </member>
+        <member name="M:NCoverExplorer.Common.NCoverUtilities._ConsoleCtrlCheck(NCoverExplorer.Common.NCoverUtilities.CtrlTypes)">
+            <summary>
+            Handles a control-C style event so we can cleanup our refcount.
+            </summary>
+            <param name="ctrlType">Type of control exit.</param>
+            <returns>Whether to cancel the event.</returns>
+        </member>
+        <member name="T:NCoverExplorer.Common.PathSearch">
+            <summary>
+            Utility class to scan for an executable in all available paths.
+            Based on CodeProject article at: http://www.codeproject.com/csharp/winwhich.asp
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.Common.PathSearch.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:NCoverExplorer.Common.PathSearch"/> class.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.Common.PathSearch.GetVersionForExecutable(System.String,System.Boolean)">
+            <summary>
+            Return the version information for the executable located at this path. If executable
+            not found at this location (e.g. not a fully qualified path) does a path search to see
+            if it can be found anywhere else.
+            </summary>
+            <param name="executablePath">Path to executable to find.</param>
+            <param name="throwExceptionIfNotFound">Whether to throw exception if not found.</param>
+            <returns>Version number in format Major.Minor.Build</returns>
+        </member>
+        <member name="M:NCoverExplorer.Common.PathSearch.Search(System.String)">
+            <summary>
+            Searches for the specified executable name in all available paths.
+            </summary>
+            <param name="executableName">Name of the executable.</param>
+            <returns></returns>
+        </member>
+        <member name="M:NCoverExplorer.Common.PathSearch._GetRegExString(System.String)">
+            <summary>
+            Form the regular expression string for the matching file.
+            </summary>
+            <param name="executableName">The name of the executable</param>
+            <returns>string that is the regex pattern.</returns>
+        </member>
+        <member name="T:NCoverExplorer.MSBuildTasks.NCoverExplorer">
+            <summary>
+            MSBuild task for automating NCoverExplorer.Console.
+            Using this task you can merge coverage files from NCover, produce xml coverage reports for use
+            with CruiseControl.Net, produce html report files directly, fail automated builds if coverage
+            thresholds are not met and apply a range of detail to the reports produced such as sorting, 
+            filtering and coverage exclusions.
+            </summary>
+            <example>
+            This example shows producing an xml coverage report at Module/Namespace/Class detail level for
+            inclusion on a CC.Net build server. You would add a merge file task in the publishers section
+            of your CC.Net project file to merge in this "CoverageSummary.xml" file so that it can be 
+            transformed by the NCoverExplorer xsl stylesheets you have copied into the CC.Net folder. Here
+            we have set a satisfactory coverage threshold at 80%.
+                   <code>
+                       <![CDATA[
+            		   <ItemGroup>
+            			   <CoverageFile Include="$(MSBuildProjectDirectory)\Coverage\Coverage.xml" />
+            		   </ItemGroup>
+            
+                       <NCoverExplorer ToolPath="Tools\NCoverExplorer\"
+            						   ProjectName="My Project"
+            						   OutputDir="$(MSBuildProjectDirectory)\Coverage"
+            						   CoverageFiles="@(CoverageFile)"
+            						   SatisfactoryCoverage="80"
+                                       ReportType="4"
+            						   XmlReportName="CoverageSummary.xml"
+            		   />
+                       ]]>
+                   </code>
+            </example>
+            <example>
+            This example shows producing an html function coverage report, excluding the test assemblies. The
+            assemblies excluded are being displayed at the bottom of the report. Note also that this time
+            the ReportType is specified by its enum name rather than numeric value - they are interchangable.
+            We have also "inlined" the "CoverageFiles" from the ItemGroup above to show this can be done.
+                   <code>
+                       <![CDATA[
+                       <PropertyGroup> 
+                           <CoverageExclusions> 
+                              <CoverageExclusion>
+            					  <ExclusionType>Assembly</ExclusionType>
+            					  <Pattern>*.Tests</Pattern> 
+                              </CoverageExclusion> 
+                           </CoverageExclusions> 
+                       </PropertyGroup>
+            
+                       <NCoverExplorer ToolPath="Tools\NCoverExplorer\"
+                                       ProjectName="My Project"
+            						   OutputDir="$(MSBuildProjectDirectory)\Coverage"
+            						   CoverageFiles="$(MSBuildProjectDirectory)\Coverage\Coverage.xml"
+            						   SatisfactoryCoverage="80"
+                                       ReportType="ModuleClassFunctionSummary"
+            						   HtmlReportName="CoverageSummary.html"
+            						   Exclusions="$(CoverageExclusions)"
+            						   ShowExcluded="True"
+            		   />
+                       ]]>
+                   </code>
+            </example>
+            <example>
+            This example shows producing an html module class summary coverage report with exclusions as above.
+            This time we have added applying specific sorting and filtering criteria. This report will show all
+            classes that do not have 100% coverage, sorted within their namespaces by descending coverage %. We
+            have also "inlined" the exclusions
+                   <code>
+                       <![CDATA[
+                       <NCoverExplorer ToolPath="Tools\NCoverExplorer\"
+                                       ProjectName="My Project"
+            						   OutputDir="$(MSBuildProjectDirectory)\Coverage"
+            						   CoverageFiles="$(MSBuildProjectDirectory)\Coverage\Coverage.xml"
+            						   SatisfactoryCoverage="80"
+                                       ReportType="ModuleClassSummary"
+            						   HtmlReportName="CoverageSummary.html"
+            						   Exclusions="Assembly=*.Tests;"
+            						   ShowExcluded="True"
+            						   Sort="CoveragePercentageDescending"
+            						   Filter="HideFullyCovered"
+            		   />
+                       ]]>
+                   </code>
+            </example>
+            <example>
+            This example shows the merging capability to produce a consolidated merge file from multiple
+            coverage test runs. The results are being stored in a single "MyApp.CoverageMerged.xml" file.
+            Note that you could additionally apply coverage exclusions at this point. Merging files can
+            be useful if your testing process requires multiple coverage runs and you want a single archive
+            which consolidates the results.
+                   <code>
+                       <![CDATA[
+            		   <ItemGroup>
+            			   <CoverageFile Include="$(MSBuildProjectDirectory)\Coverage\MyApp*.Coverage.xml" />
+            		   </ItemGroup>
+            
+                       <NCoverExplorer ToolPath="Tools\NCoverExplorer\"
+                                       OutputDir="$(MSBuildProjectDirectory)\Coverage"
+            						   ReportType="None"
+            						   CoverageFiles="@(CoverageFile)"
+            						   MergeFileName="MyApp.CoverageMerged.xml"
+            		   />
+                       ]]>
+                   </code>
+            </example>
+            <example>
+            This example shows failing a build if the overall coverage % does not meet our threshold, without
+            producing a coverage report.
+                   <code>
+                       <![CDATA[
+                       <NCoverExplorer ToolPath="Tools\NCoverExplorer\"
+                                       ProjectName="My Project"
+            						   ReportType="None"
+            						   CoverageFiles="$(MSBuildProjectDirectory)\Coverage\Coverage.xml"
+            						   MinimumCoverage="80"
+            						   FailMinimum="True"
+            		   />
+                       ]]>
+                   </code>
+            </example>
+            <example>
+            This example shows failing a build if either the overall coverage % does not meet our threshold, or
+            if one of the individual module thresholds is not met. Note that the ModuleThresholds
+            could have been "inlined" (just showing the MSBuild flexibility to place in a separate group).
+                   <code>
+                       <![CDATA[
+            		   <ItemGroup>
+            			   <ModuleThreshold Include="MyProject.1.dll=75" />
+            			   <ModuleThreshold Include="MyProject.2.dll=85" />
+            		   </ItemGroup>
+            
+                       <NCoverExplorer ToolPath="Tools\NCoverExplorer\"
+                                       ProjectName="My Project"
+            						   ReportType="None"
+            						   CoverageFiles="$(MSBuildProjectDirectory)\Coverage\Coverage.xml"
+            						   MinimumCoverage="80"
+            						   FailMinimum="True"
+            						   ModuleThresholds="@(ModuleThreshold)"
+            		   />
+                       ]]>
+                   </code>
+            </example>
+            <example>
+            This example shows using virtually the whole range of attributes. Shown below is failing a build 
+            if not reaching the overall or module level coverage thresholds. The results of merging multiple 
+            NCover files together are stored as a separate file. We are producing xml and html Namespace per
+            module summary reports (with the exclusions show in the footer). Note that the module thresholds 
+            will also be used in the reports. The reports are sorted by name with no filter applied.
+            We are excluding test assemblies and anything in a presentation layer namespace.
+                   <code>
+                       <![CDATA[
+            		   <ItemGroup>
+            			   <CoverageFile Include="$(MSBuildProjectDirectory)\Test\Coverage\*.Coverage.xml" />
+            		   </ItemGroup>
+            
+                       <PropertyGroup> 
+                           <CoverageExclusions> 
+                              <CoverageExclusion>
+            					  <ExclusionType>Class</ExclusionType>
+            					  <Pattern>MyApp.SomeNamespace.SomeClass</Pattern> 
+                              </CoverageExclusion> 
+                              <CoverageExclusion>
+            					  <ExclusionType>Namespace</ExclusionType>
+            					  <Pattern>MyApp\.(\w*\.)?</Pattern> 
+            					  <Pattern>true</Pattern> 
+                              </CoverageExclusion> 
+                           </CoverageExclusions> 
+                       </PropertyGroup>
+            
+                       <NCoverExplorer ToolPath="Tools\NCoverExplorer\"
+                                       ProjectName="My Project" 
+            						   ReportType="ModuleNamespaceSummary"
+            						   Sort="Name"
+            						   Filter="None"
+            						   OutputDir="$(MSBuildProjectDirectory)\Test\Coverage"
+            						   XmlReportName="CoverageSummary.xml"
+            						   HtmlReportName="CoverageSummary.html"
+            						   MergeFileName="CoverageMerge.xml"
+            						   ShowExcluded="True"
+            						   SatisfactoryCoverage="80"
+            						   MinimumCoverage="80"
+            						   FailMinimum="True"
+            						   CoverageFiles="@(CoverageFile)"
+            						   Exclusions="$(CoverageExclusions)"
+            						   ModuleThresholds="MyProject.1.dll=75;MyProject.2.dll=85"
+            		   />
+                       ]]>
+                   </code>
+            </example>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:NCoverExplorer.MSBuildTasks.NCoverExplorer"/> class.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer.ValidateParameters">
+            <summary>
+            Validate the parameters supplied to this task.
+            </summary>
+            <returns><c>true</c> if parameters are valid, <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer.Execute">
+            <summary>
+            Executes the task.
+            </summary>
+            <returns><see langword="true"/> if the task ran successfully; otherwise <see langword="false"/>.</returns>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer._CheckToolPath">
+            <summary>
+            Determine the path to NCoverExplorer. Either the user can specify it in the arguments to the task,
+            or we look in the registry, program files and finally just assume it is in the path.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer._GetConfigFilename">
+            <summary>
+            Return a temporary filename for the config file for executing NCoverExplorer.Console.
+            </summary>
+            <returns>Configuration filename.</returns>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer._IsLegacyNCoverExplorerConsole(System.String)">
+            <summary>
+            Legacy NCoverExplorer.Console is considered prior to 1.4.0 (as 1.4.0 was when the settings
+            file format was changed).
+            </summary>
+            <param name="exeName">NCoverExplorer.Console.exe path.</param>
+            <returns><c>true</c> if version is prior to 1.4.0</returns>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer._BuildLegacyTempConfigXmlFile(System.String)">
+            <summary>
+            Builds a temporary NCoverExplorer configuration file which we can pass in the command line.
+            We require this as the command line itself does not directly support all the argument combinations.
+            </summary>
+            <param name="settingsFileName">Name of the settings file.</param>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer._BuildTempConfigXmlFile(System.String)">
+            <summary>
+            Builds a temporary NCoverExplorer configuration file which we can pass in the command line.
+            We require this as the command line itself does not directly support all the argument combinations.
+            </summary>
+            <param name="settingsFileName">Name of the settings file.</param>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer._WriteCoverageExclusionsFromPairsToTempConfigFile(System.Xml.XmlTextWriter)">
+            <summary>
+            The coverage exclusions have been inlined as type=pattern semi-colon delimited pairs.
+            Break apart and write to the temp config file.
+            </summary>
+            <param name="xmlTextWriter">Current xml output stream.</param>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer._WriteCoverageExclusionsFromXmlToTempConfigFile(System.Xml.XmlTextWriter)">
+            <summary>
+            The coverage exclusions have been inlined as type=pattern semi-colon delimited pairs.
+            Break apart and write to the temp config file.
+            </summary>
+            <param name="xmlTextWriter">Current xml output stream.</param>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer._WriteModuleThresholdsToTempConfigFile(System.Xml.XmlTextWriter)">
+            <summary>
+            Iterate through the module thresholds and write their values into the configuration file.
+            </summary>
+            <param name="xmlTextWriter">Current xml output stream.</param>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer._BuildLegacyArguments(System.Text.StringBuilder)">
+            <summary>
+            Build command line for passing to legacy NCoverExplorer.Console versions.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCoverExplorer._CleanupConfigFile">
+            <summary>
+            Removes generated settings file after process has run.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.OutputDir">
+            <summary>
+            Gets or sets the output directory for the reports.
+            </summary>
+            <value>The output dir.</value>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.FailMinimum">
+            <summary>
+            Whether to fail the task if the minimumCoverage threshold is not reached on any module. 
+            NCoverExplorer console application will return exit code 3.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.FailCombinedMinimum">
+            <summary>
+            Whether to fail the task if the minimumCoverage threshold is not reached on total coverage. 
+            NCoverExplorer console application will return exit code 3.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.MinimumCoverage">
+            <summary>
+            The minimum coverage percentage to be used with the FailMinimum and FailCombinedMinimum options.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.ConfigName">
+            <summary>
+            Gets or sets the name of the temporary XML config file being generated for coverage.
+            </summary>
+            <value>The name of the XML config.</value>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.SatisfactoryCoverage">
+            <summary>
+            The satisfactory coverage percentage for display in the reports.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.ProjectName">
+            <summary>
+            The .config filename for containing any custom exclusions and parameters.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.ReportType">
+            <summary>
+            The type of report to produce (use numeric value or string name). 
+            0 / None, 1 / ModuleSummary, 3 / ModuleNamespaceSummary, 
+            4 / ModuleClassSummary, 5 / ModuleClassFunctionSummary
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.Sort">
+            <summary>
+            The sorting if any to apply (use numeric value or string name).
+            0 / Name, 1 / ClassLine, 
+            2 / CoveragePercentageAscending, 3 / CoveragePercentageDescending,
+            4 / UnvisitedSequencePointsAscending, 5 / UnvisitedSequencePointsDescending,
+            6 / VisitCountAscending, 7 / VisitCountDescending,
+            8 / FunctionCoverageAscending, 9 / FunctionCoverageDescending
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.Filter">
+            <summary>
+            The filtering if any to apply (use numeric value or string name).
+            0 / None, 1 / HideUnvisited, 2 / HideFullyCovered, 3 / HideThresholdCovered
+            </summary>
+            <value>The string or textual enum value.</value>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.XmlReportName">
+            <summary>
+            The filename for generating an xml report.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.HtmlReportName">
+            <summary>
+            The filename for generating an html report.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.MergeFileName">
+            <summary>
+            The filename for the merge of the coverage xml files.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.ShowExcluded">
+            <summary>
+            Determines whether to include the coverage exclusions in the report. The default is 
+            <see langword="true" />.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.CoverageFiles">
+            <summary>
+            Used to select the coverage xml files to merge into the report.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.Exclusions">
+            <summary>
+            Coverage exclusions to apply, in one of two formats:
+            They can be semi-colon delimited "Type=Pattern" pairs, e.g. "Assembly=*.Tests;Class=My.*".
+            Alternatively they can be defined in a property group as a &lt;CoverageExclusions&gt; section.
+            See the examples for both formats. If you want to use regular expressions then you must
+            use the &lt;PropertyGroup&gt; approach.
+            </summary>
+            <example>
+            This example shows a range of coverage exclusions using the &lt;PropertyGroup&gt; approach.
+            Note the optional use of wildcard characters in the pattern. You could set the exclusions
+            up within the gui and then paste the xml directly from the NCoverExplorer.config file located
+            in C:\Documents and Settings\user\Application Data\Gnoso\NCoverExplorer\
+                   <code>
+                       <![CDATA[
+                       <PropertyGroup> 
+                           <CoverageExclusions> 
+                              <CoverageExclusion>
+            					  <ExclusionType>Assembly</ExclusionType>
+            					  <Pattern>*.Tests</Pattern> 
+                              </CoverageExclusion> 
+                              <CoverageExclusion>
+            					  <ExclusionType>Namespace</ExclusionType>
+            					  <Pattern>MyNamespace.*</Pattern> 
+                              </CoverageExclusion> 
+                              <CoverageExclusion>
+            					  <ExclusionType>Class</ExclusionType>
+            					  <Pattern>MyNamespace.MyClass</Pattern> 
+                              </CoverageExclusion> 
+                              <CoverageExclusion>
+            					  <ExclusionType>Method</ExclusionType>
+            					  <Pattern>MyNamespace.MyClass.MyMethod</Pattern> 
+                              </CoverageExclusion> 
+                              <CoverageExclusion>
+            					  <ExclusionType>Namespace</ExclusionType>
+            					  <Pattern>MyApp\.(\w*\.)?</Pattern> 
+            					  <IsRegex>true</IsRegex> 
+                              </CoverageExclusion> 
+                           </CoverageExclusions> 
+                       </PropertyGroup>
+            
+                       <NCoverExplorer ...
+            						   Exclusions="$(CoverageExclusions)"
+            						   ...
+            		   />
+                       ]]>
+                   </code>
+            </example>
+            <example>
+            This example shows inlining of three of the same exclusions above. Note with this approach
+            it is not possible to use regular expressions.
+                   <code>
+                       <![CDATA[
+                       <NCoverExplorer ...
+            						   Exclusions="Assembly=*.Tests;Namespace=MyNamespace.*;Class=MyNamespace.MyClass"
+            						   ...
+            		   />
+                       ]]>
+                   </code>
+            </example>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.ModuleThresholds">
+            <summary>
+            Module thresholds to apply, in format "AssemblyName=Percentage", e.g. "MyApp.Core=75"
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCoverExplorer.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="T:NCoverExplorer.MSBuildTasks.NCover">
+            <summary>
+            MSBuild task for automating NCover.Console.exe, with NCover 1.5.x support. Note that this task
+            will self register CoverLib.dll by default using the registry (does not require local admin).
+            </summary>
+            <example>
+            This example shows the standard profiling using NCover for standard nunit tests with minimal arguments.
+            Defaults are with logging to coverage.log, profiling all assemblies, output filename of coverage.xml and this 
+            example specifies a path to where to find ncover.console.exe.
+                   <code>
+                       <![CDATA[
+                       <NCover  ToolPath="Tool\NCover\"
+                                CommandLineExe="$(nunit.path)\nunit-console.exe" 
+            					CommandLineArgs="$(MSBuildProjectDirectory)\myapp.tests.dll" />
+                       ]]>
+                   </code>
+            </example>
+            <example>
+            If you are using TypeMock, you may experience issues with the registration of coverlib.dll conflicting
+            due to overwriting the registered profiler. You should add the "registerProfiler" attribute below and set it to false.
+                   <code>
+                       <![CDATA[
+                       <NCover  ToolPath="Tool\NCover\"
+                                CommandLineExe="$(nunit.path)\nunit-console.exe" 
+            					CommandLineArgs="$(MSBuildProjectDirectory)\myapp.tests.dll"
+            					RegisterProfiler="false" />
+                       ]]>
+                   </code>
+            </example>
+            <example>
+            This example for NCover 1.5.8 shows profiling a process which is launched by another process.
+                   <code>
+                       <![CDATA[
+            
+                       <NCover  ToolPath="Tool\NCover\"
+                                CommandLineExe="MyLauncher.exe" 
+            					ProfiledProcessModule="LaunchedProcess.exe" />
+                       ]]>
+                   </code>
+            </example>
+            <example>
+            This example shows using an assembly list as ; delimited names rather than using the ability
+            of the NCover task to dynamically build from a list of files (shown in following example).
+                   <code>
+                       <![CDATA[
+            
+                       <NCover  ToolPath="Tool\NCover\"
+                                CommandLineExe="$(nunit.path)\nunit-console.exe" 
+            					CommandLineArgs="$(MSBuildProjectDirectory)\myapp.tests.dll"
+            					AssemblyList="MyApp.Core;MyApp.Tests" />
+                       ]]>
+                   </code>
+            </example>
+            <example>
+            This example shows the standard profiling using NCover 1.5.x for a Windows application, specifying a coverage
+            exclusion, verbose logging to a named file, specifically named log and output xml files. It also shows
+            coverage exclusion attributes, overriding the NCover location to run from and a way of listing assemblies
+            to be included in the profiled NCover results.
+                   <code>
+                       <![CDATA[
+            		   <ItemGroup>
+            			   <Assembly Include="$(MSBuildProjectDirectory)\MyApp.MyCode.dll" />
+            		   </ItemGroup>
+            
+                       <NCover  ToolPath="Tool\NCover\"
+                                CommandLineExe="$(nunit.path)\nunit-console.exe" 
+            					CommandLineArgs="myapp.tests.dll"
+            					CoverageFile="myapp.coverage.xml"
+            					LogLevel="Verbose"
+            					LogFile="myapp.coverage.log"
+            					WorkingDirectory="$(MSBuildProjectDirectory)"
+            					ExcludeAttributes="CoverageExcludeAttribute"
+                                Assemblies="@(Assembly)" />
+                       ]]>
+                   </code>
+            </example>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCover.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:NCoverExplorer.MSBuildTasks.NCover"/> class.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCover.Execute">
+            <summary>
+            Executes the task.
+            </summary>
+            <returns><see langword="true"/> if the task ran successfully; otherwise <see langword="false"/>.</returns>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCover.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCover.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCover.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCover._CheckToolPath">
+            <summary>
+            Check that we have a valid path to NCover.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCover._CleanupSettingsFile">
+            <summary>
+            Removes generated settings file after process has run.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NCover._ConvertTaskItemsToArray(Microsoft.Build.Framework.ITaskItem[])">
+            <summary>
+            Convert the MSBuild specific ITaskItem[] to a string array for use by NCoverUtilities.
+            </summary>
+            <param name="files"></param>
+            <returns></returns>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.CommandLineExe">
+            <summary>
+            The command line executable to be launched by NCover (such as nunit-console.exe).
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.CommandLineArgs">
+            <summary>
+            The arguments to pass to the command line executable to be launched by NCover (such as nunit-console.exe).
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.CoverageFile">
+            <summary>
+            The filename for the output coverage.xml file (default).
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.LogLevel">
+            <summary>
+            What level of NCover logging to provide. Values are "Normal" (default) and "Verbose".
+            Due to a bug in NCover 1.5.4 "Quiet" will result in NCover stopping abnormally - hence has been
+            defaulted to be "Normal" until the bug is fixed.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.LogFile">
+            <summary>
+            Gets or sets the logfile name to write to if logLevel is set to anything other than "Quiet". The default
+            is "coverage.log".
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.WorkingDirectory">
+            <summary>
+            Gets or sets the working directory for the command line executable.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.ExcludeAttributes">
+            <summary>
+            If coverage exclusion attributes have been applied (NCover 1.5.4 onwards) specify the full namespace
+            to the attribute including the "Attribute" suffix - e.g. "CoverageExcludeAttribute" if defined in no
+            namespace. Separate multiple attributes with semi-colons.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.ProfileIIS">
+            <summary>
+            Determines whether to profile under IIS. Default value is <see langword="false" />.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.ProfileService">
+            <summary>
+            The service name if profiling a windows service.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.AssemblyList">
+            <summary>
+            Alternative to specifying assembly names - you can instead list them as you would on the
+            command line as a semi-colon delimited list without any suffixes or paths.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.Assemblies">
+            <summary>
+            Used to specify the assemblies to be profiled. Alternative to the AssemblyList property,
+            where instead you wat the list to be dynamically built using an itemgroup, for instance
+            to match all assemblies against a wildcard. The NCover task will take care of stripping
+            off the suffixes etc.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.RegisterProfiler">
+            <summary>
+            Determines whether to register NCover CoverLib.dll on each run. The default is <c>true</c>. You
+            would set this to <c>false</c> if using TypeMock due to a conflict in registered profilers.
+            If set to true, the NCover task uses a reference counting approach to minimise the chance
+            of issues when simultaneous builds.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.XmlFormat">
+            <summary>
+            Gets or sets a value indicating the xml output format to write (new in NCover 1.5.7).
+            Default value is "Xml1", alternat option is "Xml2" which nests method nodes within class
+            nodes. Note however that "Xml2" is for future use and is not yet supported by NCoverExplorer
+            as of version 1.3.6.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.ProfiledProcessModule">
+            <summary>
+            Gets or sets the profiled process module name. Use this argument when the executable being
+            launched is not the actual process you want to profile coverage for.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NCover.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="T:NCoverExplorer.MSBuildTasks.NUnitProject">
+             <summary>
+             Create a .nunit project file for all the test assemblies matching the specified pattern.
+             This should be created in the bin folder where your test assemblies are located so that 
+             the assemblies are within the AppDomain path.
+             The .nunit file can then be used by NUnit or NCover based tasks.
+             </summary>
+             <example>
+               <para>
+               Create a .nunit project file in output bin folder for a specified test assembly.
+               </para>
+               <code>
+                 <![CDATA[
+             <UsingTask TaskName="NCoverExplorer.MSBuildTasks.NUnitProject" 
+                        AssemblyFile="NCoverExplorer.MSBuildTasks.dll"/>
+             <PropertyGroup>
+                <OutputPath>$(MSBuildProjectDirectory)\Build</OutputPath>
+             </PropertyGroup>
+            
+            	<ItemGroup>
+            	   <Assembly Include="$(OutputPath)\MyApp.Tests.dll" />
+            	</ItemGroup>
+             
+             <NUnitProject   Project="$(OutputPath)\MyApp.nunit" 
+                             Assemblies="@(Assembly)" />
+                 ]]>
+               </code>
+             </example>
+             <example>
+               <para>
+               Create a .nunit project file in output bin folder with an associated App.Config file for
+               all test assemblies matching a pattern.
+               </para>
+               <code>
+                 <![CDATA[
+            	<ItemGroup>
+            	   <Assembly Include="$(OutputPath)\MyApp.*.Tests.dll" />
+            	</ItemGroup>
+             
+             <NUnitProject   Project="$(OutputPath)\MyApp.nunit" 
+                             AppConfig="$(OutputPath)\MyApp.exe.config"
+                             Assemblies="@(Assembly)" />
+                 ]]>
+               </code>
+             </example>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NUnitProject.#ctor">
+            <summary>
+            Default constructor.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NUnitProject.Execute">
+            <summary>
+            Build the contents of the .nunit file using the test assemblies matching this pattern.
+            </summary>
+        </member>
+        <member name="M:NCoverExplorer.MSBuildTasks.NUnitProject._CreateNUnitProjectFile(System.String,Microsoft.Build.Framework.ITaskItem[],System.String,System.String)">
+            <summary>
+            Create a .nunit project file listing the test assemblies.
+            </summary>
+            <param name="nunitProjectFileName">Full filename of the .nunit file.</param>
+            <param name="testFileSet">Fileset containing the test assemblies.</param>
+            <param name="appConfig">Optional path to App.Config file to include in project.</param>
+            <param name="appBase">Optional path to the nunit app base, when included full paths to each assembly (relative to the appbase) are included</param>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NUnitProject.Project">
+            <summary>
+            The nunit project file to create.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NUnitProject.AppConfig">
+            <summary>
+            Optional path to an App.Config file to be specified in the .nunit project file.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NUnitProject.AppBase">
+            <summary>
+            Optional path to the nunit app base, when included full paths to each assembly 
+            (relative to the appbase) are included.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.NUnitProject.Assemblies">
+            <summary>
+            Used to select the test assemblies to be included in the .nunit project. 
+            </summary>
+        </member>
+        <member name="T:NCoverExplorer.MSBuildTasks.Properties.Resources">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.Properties.Resources.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.Properties.Resources.Culture">
+            <summary>
+              Overrides the current thread's CurrentUICulture property for all
+              resource lookups using this strongly typed resource class.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.Properties.Resources.NCoverConfigContent">
+            <summary>
+              Looks up a localized string similar to Contents of config file:\r\n{0}.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.Properties.Resources.NCoverExplorerConfigContent">
+            <summary>
+              Looks up a localized string similar to Contents of config file:\r\n{0}.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.Properties.Resources.NCoverExplorerDeletingConfig">
+            <summary>
+              Looks up a localized string similar to Deleting config file: {0}.
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.Properties.Resources.NCoverExplorerInvalidExclusion">
+            <summary>
+              Looks up a localized string similar to This line cannot be parsed: &apos;{0}&apos;. Coverage exclusions should be in format: Type=Pattern (e.g. &apos;Assembly=*.Tests&apos;).
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.Properties.Resources.NCoverExplorerNotFound">
+            <summary>
+              Looks up a localized string similar to Could not find the registry key for NCoverExplorer indicating the program location (set by installing with TestDriven.Net). Please specify the full path to NCoverExplorer.Console.exe using the ToolPath attribute..
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.Properties.Resources.NCoverNotFound">
+            <summary>
+              Looks up a localized string similar to Could not find NCover.Console.exe in C:\Program Files\NCover\. Specify an alternate path using the ToolPath attribute on your NCover target..
+            </summary>
+        </member>
+        <member name="P:NCoverExplorer.MSBuildTasks.Properties.Resources.NCoverVersionFound">
+            <summary>
+              Looks up a localized string similar to Detected NCover.Console v{0} in {1}.
+            </summary>
+        </member>
+    </members>
+</doc>

+ 429 - 0
lib/NCover/NCoverFAQ.html

@@ -0,0 +1,429 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+    <head>
+        <!-- $Id: NCoverFAQ.html 247 2007-04-26 15:17:46Z peterwald $ -->
+        <title></title>
+        <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
+        <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
+        <style> body { font-size: 10pt; font-family: Verdana; }
+	p.title { font-size: 20pt; font-weight: bold; }
+	.subtitle { color: maroon; }
+	p.question { font-weight: bold; }
+	pre { font-size: 10pt; font-family: Courier; }
+	pre.usage { background-color: #F0F0F0; }
+	.quote { background-color: #F0F0F0; margin-left: 36pt;}
+	.method { color: maroon; font-size: 10pt; font-weight: bold; }
+	.hdrcell { background-color: #DDEEFF; font-size: 10pt; }
+	.datacell { background-color: #FFFFEE; text-align: right; font-size: 10pt; }
+	.hldatacell { background-color: #FFCCCC; text-align: right; font-size: 10pt; }
+	.box { border: 1px solid; padding: 10px; }
+        </style>
+    </head>
+    <body>
+        <P class="title">NCover FAQ</P>
+        <P>If you have questions that this document does not address, contact <A href="mailto:peter@waldschmidt.com">
+                Peter Waldschmidt</A> or try the <A href="http://ncover.org/">NCover Forums</A>.</P>
+        <P class="question">1. What is code coverage analysis?</P>
+        <P class="answer">A code coverage analyzer monitors your code at runtime and 
+            records information about which lines of code were executed. NCover shows each 
+            sequence point in your application along with the number of times that point 
+            was executed. Sequence points are generated by the compiler and stored in the 
+            debug information (.pdb) files. A sequence point basically corresponds to a 
+            single program statement (often a line of code) in your high-level language.</P>
+        <P class="question">2. Why would I want to do code coverage analysis?</P>
+        <P class="answer">Unit test suites are often used as a quality tool during the 
+            development process to keep the codebase stable as it changes and expands. 
+            Tools such as <A href="http://nunit.org/">NUnit</A> are often used to run and 
+            report on the test suites. However, when implementing unit testing in your 
+            build process, you have no way of knowing how much of your code the unit tests 
+            are actually testing. This is where code coverage comes in. You can run NUnit 
+            within NCover and use the code coverage report to determine which code was not 
+            tested by that particular test suite.</P>
+        <P class="question">3. What versions of the CLR does NCover support?</P>
+        <P class="answer">
+            NCover 1.5.x requires the .NET framework version 2.0.50727 to be installed; however,
+            the application being profiled can be written against any shipping version of the
+            framework. NCover
+            has been tested profiling coverage of .NET 2.0, .NET 1.1 and .NET 1.0 applications.</P>
+        <P class="question">4. Which version of NCover should I install?</p>
+        <P class="answer">
+            If you have the .NET 2.0 framework installed on your machine then you should use
+            the latest NCover version available. NCover as of version 1.5 can profile .NET 2.0, 1.1 and 1.0 applications.</p>
+        <p class="answer">
+            For development teams who do not have the .NET framework 2.0 installed but do have
+            the .NET framework version 1.1.4322, you can
+            try NCover 1.3.3. Note however that this version is no longer supported as
+            it has a number of known issues and limitations.</p>
+        <P class="question">5. What is the command line syntax for NCover?</P>
+        <P class="answer">Here is the usage info from the NCover command line (for NCover versions from 1.5.6
+            only):</P>
+        <pre class="usage">NCover.Console [&lt;command line&gt; [&lt;command args&gt;]]
+               [//svc &lt;service name&gt;]
+               [//iis]
+               [//a &lt;assembly list&gt;]
+               [//w &lt;working directory&gt;]
+               [//ea &lt;exclusion list&gt;]
+               [//reg]
+               [//x &lt;xml output file&gt;]
+               [//s [&lt;settings file&gt;]] [//r [&lt;settings file&gt;]]
+               [//v] [//q] 
+               [//l &lt;log file&gt;]
+
+//svc  For profiling windows services
+//iis  For profiling web applications
+
+//a    List of assemblies to profile separated by semi-colons i.e. "MyAssembly1;MyAssembly2". Do not include paths or suffixes.
+//w    Working directory for profiled application 
+//ea   List of attributes marking classes or methods to exclude from coverage 
+
+//reg  Register profiler temporarily for user. (helps with xcopy deployment) 
+//x    Specify coverage output file. (default: coverage.xml).
+//pm   Specify name of process to profile (i.e. myapp.exe)
+
+//s    Save settings to a file (defaults: NCover.Settings) 
+//r    Use settings file, overriding other settings (default: NCover.Settings) 
+
+//l    Specify profiler log file (default: coverage.log).
+//q    No logging (quiet) 
+//v    Enable verbose logging (show instrumented code)
+        </pre>
+        <UL>
+            <LI>&lt;command line&gt; - This argument specifies the command-line of the .NET application
+                you want to analyze. 
+                Any command line arguments not starting with // will be passed
+                through to that application. NCover will profile the running application until it has exited. See below for examples.<li>//svc - This option is an alternative to the &lt;command line&gt;
+                    for profiling windows services, which cannot be run directly as executables. NCover
+                    will start the service (stopping it first if already running) and profile coverage
+                    until the windows service is stopped.</li>
+                <li>//iis - This option is an alternative to the &lt;command line&gt; for profiling
+                    web applications. NCover will start the IISAdmin and W3C
+                    services (stopping first if currently running) and profile coverage until the IISAdmin
+                    service is stopped.<br />
+                </li>
+            <li>//a - This command-line argument specifies the assemblies that you want to analyze. 
+            NCover can only analyze assemblies that have .pdb files included with them. If 
+            you do not specify the //a argument, NCover will attempt to analyze every loaded 
+            assembly that has debug information available. Note that the assembly name arguments are
+                the module name within the assembly, not the physical file name. e.g. "MyAssembly"
+                rather than "MyAssembly.dll".<li>//w - If the application being profiled requires the
+                    working directory to be set to something other than the current directory you are
+                    executing the command line from then you can override it with this argument.</li>
+                <li>//ea - You can choose to exclude classes and methods
+                    from coverage statistics by defining .NET attribute(s) and applying it to the affected
+                    code. When using this argument you must specify the full type namespace of these
+                    attribute(s) separated by semi-colons. See below for an example.<br />
+                </li>
+                <li>//reg - NCover requires a COM registration of the CoverLib.dll assembly containing
+                    the profiler, which is performed automatically by the default .msi installation.
+                    If you require an xcopy style deployment of NCover like many other .NET tools, then
+                    you can use this argument which will temporarily register the profiler while performing
+                    coverage. This feature was added in NCover 1.5.6.</li>
+                <li>//x - The output of NCover is an xml file (example below). Use this argument to
+                    specify an alternate filename to "coverage.xml" in the current directory.<br />
+                </li>
+                <li>//pm - This setting tells NCover to ignore processes that don't have the specified process module name.
+                This is the name of the executable (i.e. myapp.exe).  This setting is useful in cases, where your NCover
+                command spawns a series of child processes.  Using this setting will help NCover determine which process to profile.
+                </li>
+                <li>//s - You may find it more convenient to use a settings file rather than specifying
+                    a long list of command line arguments for running NCover. If you get the NCover
+                    command line working as you would like it and then use the //s argument it will
+                    save the required arguments as an xml file that can then be used by the //r argument
+                    below.</li>
+                <li>//r - For use when you have used //s to construct an NCover settings file containing
+                    your command line arguments. e.g. "ncover.console.exe //r NCover.Settings"<br />
+                </li>
+                <li>//l - The coverage log file can provide an insight if the desired coverage output
+                    is not obtained. Useful information you may find to assist you includes which assemblies
+                    were loaded by NCover, their file paths and which of those it found the .pdb build
+                    symbols for. Use this argument to specify an alternative log file name or location
+                    to coverage.log in the current directory.</li>
+                <li>//q - Suppresses writing the coverage.log file.</li>
+                <li>//v - This command-line argument makes the profiler emit all the original IL and 
+                modified IL instructions to the coverage log. This is useful for debugging 
+                purposes. Beware that this can make your coverage log file very large!
+            </li>
+        </UL>
+        <P class="question">6. Does NCover required a special compilation step for my code?</P>
+        <P class="answer">No. Some code coverage tools change your source code and force 
+            you to recompile it into a special build.&nbsp; NCover is designed to&nbsp;work 
+            on shipping code.&nbsp; NCover uses the .NET Framework profiling API to monitor 
+            your code. It does require build symbols, but can be run on release code 
+            without any modifications.</P>
+        <P class="question">7. How does NCover work?</P>
+        <P class="answer">NCover uses the .NET Framework profiler API to monitor an 
+            application's execution. When a method is loaded by the CLR, NCover retrieves 
+            the IL and replaces it with instrumented IL code.&nbsp; NCover does not change 
+            your original IL code, it simply inserts new code to update&nbsp;a visit 
+            counter at each sequence point.&nbsp; Upon
+            request, (usually after the .NET process has shut down) the profiler outputs statistics
+            to the coverage file.
+        </P>
+        <P class="question">
+            8. What is the output of NCover?</P>
+        <P class="answer">NCover generally writes out three files after analysis 
+            completes.
+            <ul>
+                <li>
+                Coverage.log - This file is a log of the events and messages from the profiler 
+                during the analysis process. Most of the time, error messages are recorded in 
+                this log. If you enable verbose logging, the coverage log will contain 
+                disassembly of the original and instrumented IL code.&nbsp; Verbose logging is not recommended for
+                    normal use.<li>
+                Coverage.xml - This file is the analysis output of NCover. You can see an 
+                example of the output below.
+                <LI>
+                    Coverage.xsl - This file is a simple XML transformation that makes the XML 
+                    output easily readable.
+                </LI>
+            </ul>
+            <span class="subtitle">Example XML output</span>
+            <div class="box"><pre>&lt;method class="NCoverTest.ClassLoaded" name="HasDeadCode"&gt;
+    &lt;seqpnt document="C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs"
+            column="13" line="48" endcolumn="58" endline="48" visitcount="1" /&gt; 
+    &lt;seqpnt document="C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs" 
+            column="13" line="49" endcolumn="22" endline="49" visitcount="1" /&gt; 
+    &lt;seqpnt document="C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs" 
+            column="17" line="50" endcolumn="24" endline="50" visitcount="1" /&gt; 
+    &lt;seqpnt document="C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs" 
+            column="13" line="51" endcolumn="48" endline="51" visitcount="0" /&gt; 
+    &lt;seqpnt document="C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs" 
+            column="9" line="52"  endcolumn="10" endline="52" visitcount="0" /&gt; 
+&lt;/method&gt;</pre>
+            </div>
+        <p></p>
+        <span class="subtitle">Example transformed output</span>
+        <div class="box">
+            <DIV class="method">NCoverTest.ClassLoaded.HasDeadCode</DIV>
+            <TABLE id="Table1" borderColor="black" cellSpacing="0" cellPadding="3" border="1">
+                <TBODY>
+                    <TR>
+                        <TD class="hdrcell">Visit Count</TD>
+                        <TD class="hdrcell">Line</TD>
+                        <TD class="hdrcell">Column</TD>
+                        <TD class="hdrcell">End Line</TD>
+                        <TD class="hdrcell">End Column</TD>
+                        <TD class="hdrcell">Document</TD>
+                    </TR>
+                    <TR>
+                        <TD class="datacell">1</TD>
+                        <TD class="datacell">48</TD>
+                        <TD class="datacell">13</TD>
+                        <TD class="datacell">48</TD>
+                        <TD class="datacell">58</TD>
+                        <TD class="datacell">C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs</TD>
+                    </TR>
+                    <TR>
+                        <TD class="datacell">1</TD>
+                        <TD class="datacell">49</TD>
+                        <TD class="datacell">13</TD>
+                        <TD class="datacell">49</TD>
+                        <TD class="datacell">22</TD>
+                        <TD class="datacell">C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs</TD>
+                    </TR>
+                    <TR>
+                        <TD class="datacell">1</TD>
+                        <TD class="datacell">50</TD>
+                        <TD class="datacell">17</TD>
+                        <TD class="datacell">50</TD>
+                        <TD class="datacell">24</TD>
+                        <TD class="datacell">C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs</TD>
+                    </TR>
+                    <TR>
+                        <TD class="hldatacell">0</TD>
+                        <TD class="datacell">51</TD>
+                        <TD class="datacell">13</TD>
+                        <TD class="datacell">51</TD>
+                        <TD class="datacell">48</TD>
+                        <TD class="datacell">C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs</TD>
+                    </TR>
+                    <TR>
+                        <TD class="hldatacell">0</TD>
+                        <TD class="datacell">52</TD>
+                        <TD class="datacell">9</TD>
+                        <TD class="datacell">52</TD>
+                        <TD class="datacell">10</TD>
+                        <TD class="datacell">C:\Dev\Utilities\ncover\NCoverTest\NCoverTest.cs</TD>
+                    </TR>
+                </TBODY>
+            </TABLE>
+        </div>
+        <P>Suggested usages of the coverage.xml output are to display it in the <a href="http://ncoverexplorer.org/">
+                NCoverExplorer</a> gui with the source
+        code highlighted, to generate html reports, or to include it in your continuous build server reports such as CruiseControl.Net.
+        For more information on these options see below in the FAQ.</P>
+        <P></P>
+        <P class="question">
+            9. How do I use coverage exclusions?</P>
+        <p>
+            First you should define an attribute to markup your excluded code with. You will
+            likely want to put this in a common assembly to make it reusable, or indeed within
+            a "CommonAssemblyInfo.cs" that you include in all your application assemblies.</p>
+        <P></P>
+        <pre class="usage">namespace MyNamespace {
+    class CoverageExcludeAttribute : System.Attribute { }
+}</pre>
+        <p>
+            Apply the attribute to the C# classes and/or methods you wish to mark as excluded
+            from code coverage statistics:</p>
+        <P></P>
+        <pre class="usage">    [CoverageExclude]
+    private void SomeMethodToExclude() {}    </pre>
+        <p>
+            Finally, ensure you pass the full qualified attribute information in the NCover command line:</p>
+        <P></P>
+        <pre class="usage">    NCover.Console MyApplication.exe //ea MyNamespace.CoverageExcludeAttribute    </pre>
+        <p>
+            Note that if you are using the <a href="http://testdriven.net/">TestDriven.Net</a>
+            VS.Net add-in to "Test with Coverage" it will automatically
+            pass through "//ea CoverageExcludeAttribute"
+            which you should define without a namespace like above. For further information refer to this
+            <a href="http://weblogs.asp.net/nunitaddin/archive/2006/10/04/CoverageExclude.aspx">
+                blog entry</a>.</p>
+        <P class="question">
+            10. Examples</P>
+        <p>
+            Coverage while running a simple executable until it exits:</p>
+        <P></P>
+        <pre class="usage">    NCover.Console MyApplication.exe</pre>
+        <p>
+            Coverage while running all the unit tests in an assembly using NUnit, profiling
+            all loaded assemblies with .pdb build symbols:</p>
+        <P></P>
+        <pre class="usage">    NCover.Console nunit-console.exe MyApplication.Tests.dll</pre>
+        <p>
+            Coverage of only a subset of loaded assemblies while running unit tests:</p>
+        <P></P>
+        <pre class="usage">    NCover.Console nunit-console.exe MyApplication.Tests.dll //a MyApplication.Core;MyApplication.Utilities</pre>
+        <p>
+            Coverage of a windows service. Stop the service to generate the coverage output:</p>
+        <P></P>
+        <pre class="usage">    NCover.Console //svc MyServiceName</pre>
+        <p>
+            Coverage of an ASP.Net application. Stop the IIS service to generate the coverage
+            output:</p>
+        <P></P>
+        <pre class="usage">    NCover.Console //iis</pre>
+        <P class="question">
+            11. Where can I get help or support?</P>
+        <P class="answer">
+            Your best approach is to browse the <a href="http://ncover.org/site/forums/default.aspx">
+                NCover forums</a> as well as the <a href="http://ncover.org/SITE/blogs/default.aspx">
+                    blog</a> by the author Peter Waldschmidt. If you cannot find a similar issue
+            mentioned feel free to post your query and perhaps someone can help.</P>
+        <P class="question">
+            12. How do I "xcopy deploy" NCover like my other build tools?</P>
+        <P class="answer">
+            Many developers prefer to have their build tools such as NUnit, NAnt etc stored
+            in source control in a Tools folder along with the source code. This ensures that
+            a new developer can obtain and build the application without having to install additional
+            tools on their own machines.</P>
+            <p>
+                NCover can also be deployed in this fashion. However the one gotcha with NCover
+                versus other tools is that the profiler within CoverLib.dll must be COM registered
+                on the local machine before you execute it. Prior to NCover 1.5.6 this was usually
+                achieved as part of your build script, which would call regsvr32 with the path to
+                the CoverLib.dll in your Tools folder. Alternatively the &lt;ncover&gt; NAnt and
+                MSBuild tasks described below will do this for you. As of NCover 1.5.6 you can also
+                use the //reg option in the command line arguments which will temporarily register
+                the profiler. Note that the //reg option will not work for IIS or Windows Service
+                profiling unless you are running NCover under the same Windows login account as
+                the IIS worker process, or your Windows Service.</p>
+        <P class="question">
+            13. How do I see my source code highlighted with the coverage results?</P>
+        <P class="answer">
+            <a href="http://ncoverexplorer.org/">NCoverExplorer</a> is a gui and console-based
+            .NET application developed by <a href="http://www.kiwidude.com/blog/">Grant Drake</a>. NCoverExplorer
+            parses the coverage.xml files output from NCover and displays the results integrated
+            with your source code. It also includes a number of additional features to merge,
+            filter, sort and generate html reports. The console version is
+            designed to be used as part of an automated build process. The support forums for
+            NCoverExplorer are located with the NCover ones at <a href="http://ncover.org">http://ncover.org/</a>.<strong>&nbsp;</strong></P>
+        <P class="question">
+            14. How do I run NCover from within the Visual Studio.Net IDE?</P>
+        <P class="answer">
+            The <a href="http://testdriven.net/">TestDriven.Net</a> add-in by <a href="http://weblogs.asp.net/nunitaddin/">
+                Jamie Cansdale</a> offers a right-click capability within the IDE to execute
+            your unit tests with code coverage. The results of the NCover code coverage are
+            displayed with the bundled NCoverExplorer gui for analysis and reporting.</P>
+        <P class="question">
+            15. How do I run NCover from a NAnt or MSBuild task?</P>
+        <P class="answer">
+            You can use an &lt;exec&gt; task with <a href="http://nant.sourceforge.net/">NAnt</a>
+            or an &lt;Exec&gt; task with MSBuild. Alternatively you may want to use the custom
+            &lt;ncover&gt; task for NAnt or &lt;NCover&gt; task for MSBuild developed by Grant
+            Drake for a more developer friendly syntax. The source code, compiled assemblies
+            and documentation are located in the NCoverExplorer.Extras.zip available from <a
+                href="http://ncoverexplorer.org/">http://ncoverexplorer.org/</a>.</P>
+        <P class="question">
+            16. How do I include NCover output in my CruiseControl.Net build reports?</P>
+        <P class="answer">
+            <a href="http://ccnet.thoughtworks.com/">CruiseControl.Net</a> is a continuous integration
+            build server which offers web-based reporting of the outputs of a build such as
+            unit test results and code coverage reporting. The default CruiseControl.Net installation
+            includes a basic stylesheet which works in combination with the standard coverage.xml
+            formatted output. So all you need to do is include the execution of NCover as part
+            of your build, then add a CruiseControl.Net merge file publisher task to integrate
+            the coverage.xml results into the build output.</P>
+            <p class="answer">
+                An improvement on the above to display more attractive and powerful reports as well
+                as minimize the build log size is to use NCoverExplorer. The NCoverExplorer.Console.exe
+                is designed to produce a more concise xml report summary that is combined with an
+                alternate xsl stylesheet for CruiseControl.Net. You can find more information and
+                screenshots in this <a href="http://www.kiwidude.com/blog/2006/04/ncoverexplorer-v133.html">
+                    blog entry</a> - all the necessary tasks, examples and documentation are located
+                within NCoverExplorer.Extras.zip available from <a href="http://ncoverexplorer.org/">
+                    http://ncoverexplorer.org/</a>.&nbsp;</p>
+        <P class="question">
+            17. How do I merge multiple NCover coverage.xml results?</P>
+        <P class="answer">
+            You can can use NCoverExplorer to merge the results of multiple coverage runs. For
+            more information refer to this <a href="http://www.kiwidude.com/blog/2006/10/ncoverexplorer-merging-ncover-reports.html">
+                blog entry</a>.</P>
+        <P class="question">
+             18. Troubleshooting: Why is my coverage.xml file empty?</P>
+            <ul>
+                <li>If using the command-line, did you COM register CoverLib.dll (or use the //reg option
+                    from NCover 1.5.6)?</li>
+                <li>Did you generate build symbol files (.pdbs) for the profiled application?</li>
+                <li>If using the //a option, did you correctly list just the assembly names without
+                    paths or .dll suffixes?</li>
+            </ul>
+         <P class="question">
+            19. Troubleshooting: I have coverage.xml output but my XYZ assembly is not included in it?</P>
+            <ul>
+                <li>NCover will only profile loaded assemblies - did your code execution path while
+                    under coverage force that assembly to be loaded (e.g. by loading a type or calling
+                    a method in that assembly)?&nbsp;</li>
+                <li>Did you generate build symbol files (.pdb files) for the missing assembly? </li>
+                <li>If using the //a option, did you correctly list the assembly names including the
+                    one that is missing?</li>
+                <li>Can you see information about the assembly being loaded within the coverage.log?
+                    Is the correct assembly being loaded (check the path) - if you have a version in
+                    the GAC it may possibly prevent the .pdb file from being loaded.</li><li>If using the NCoverExplorer gui, have you got a coverage exclusion defined which
+                    is hiding it from the display?</li>
+            </ul>
+         <P class="question">
+            20. Troubleshooting: After running NCover my coverage.log says "Failed to load symbols for module XYZ"?</P>
+            <ul>
+                <li>This message means that no .pdb build symbol file was found for that assembly so
+                    it cannot be profiled for code coverage. If that assembly is part of the .NET framework
+                    for instance like System.Data.dll, then this is an expected message and should not
+                    cause concern.&nbsp;</li><li>If however the assembly belongs to your application, did you generate the
+      build symbol files (.pdb files) for it? </li>
+            </ul>
+         <P class="question">
+            21. Troubleshooting: I get a "Profiled process terminated. Profiler connection not
+             established" message?</P>
+            <ul>
+                <li>If using the command-line, did you COM register CoverLib.dll (or use the //reg option
+                    from NCover 1.5.6)?</li><li>Are you running Windows XP 64-bit? You may want to take a look at
+      <a href="http://ncover.org/SITE/forums/thread/43.aspx">this thread</a></li></ul>
+         <P class="question">
+             22. Troubleshooting: My coverage exclusions are not working?</P>
+            <ul>
+                <li>Have you put the full namespace type name to the exclusion including the Attribute suffix in the //ea argument? See the "How
+                    do I use coverage exclusions?" question above.</li></ul>
+           &nbsp;
+   </body>
+</html>

+ 84 - 0
lib/NUnit/NUnitTests.config

@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+<!--
+	 This is the configuration file for the NUnitTests.nunit test project. You may
+	 need to create a similar configuration file for your own test project. 
+ -->	 
+
+<!--
+	 The <NUnit> section is only needed if you want to use a non-default value
+	 for any of the settings. It is commented out below. If you are going to use
+   it, you must deifne the NUnit section group and the sections you need.
+ 
+   The syntax shown here works for most runtimes. If NUnit fails at startup, you
+   can try specifying the name of the assembly containing the NameValueSectionHandler:
+   
+      <section name="TestCaseBuilder" type="System.Configuration.NameValueSectionHandler, System" />
+      
+   If that fails, try the fully qualified name of the assembly:
+   
+      <section name="TestCaseBuilder" type="System.Configuration.NameValueSectionHandler, System, 
+             Version=2.0.50727.832, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+             
+   Unfortunately, this last approach makes your config file non-portable across runtimes.
+   -->
+
+<!--
+  <configSections>
+		<sectionGroup name="NUnit">
+			<section name="TestCaseBuilder" type="System.Configuration.NameValueSectionHandler"/>
+			<section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/>
+		</sectionGroup>
+	</configSections>
+ -->
+
+  <appSettings>
+		<!--   User application and configured property settings go here.-->
+		<!--   Example: <add key="settingName" value="settingValue"/> -->
+		<add key="test.setting" value="54321" />
+	</appSettings>
+
+<!-- Sample NUnit section group showing all default values -->
+<!--
+	<NUnit>
+		<TestCaseBuilder>
+			<add key="OldStyleTestCases" value="false" />
+		</TestCaseBuilder>
+		<TestRunner>
+			<add key="ApartmentState" value="MTA" />
+			<add key="ThreadPriority" value="Normal" />
+		</TestRunner>
+	</NUnit>
+-->
+  
+   <!--
+    The following <runtime> section allows running nunit tests under 
+    .NET 1.0 by redirecting assemblies. The appliesTo attribute
+    causes the section to be ignored except under .NET 1.0.
+   --> 
+	<runtime>
+		<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+				appliesTo="v1.0.3705">
+			<dependentAssembly>
+				<assemblyIdentity name="System" publicKeyToken="b77a5c561934e089" culture="" />
+				<bindingRedirect oldVersion="1.0.5000.0" newVersion="1.0.3300.0" />
+			</dependentAssembly>
+			<dependentAssembly>
+				<assemblyIdentity name="System.Data" publicKeyToken="b77a5c561934e089" culture="" />
+				<bindingRedirect oldVersion="1.0.5000.0" newVersion="1.0.3300.0" />
+			</dependentAssembly>
+			<dependentAssembly>
+				<assemblyIdentity name="System.Drawing" publicKeyToken="b03f5f7f11d50a3a" culture="" />
+				<bindingRedirect oldVersion="1.0.5000.0" newVersion="1.0.3300.0" />
+			</dependentAssembly>
+			<dependentAssembly>
+				<assemblyIdentity name="System.Windows.Forms" publicKeyToken="b77a5c561934e089" culture="" />
+				<bindingRedirect oldVersion="1.0.5000.0" newVersion="1.0.3300.0" />
+			</dependentAssembly>
+			<dependentAssembly>
+				<assemblyIdentity name="System.Xml" publicKeyToken="b77a5c561934e089" culture="" />
+				<bindingRedirect oldVersion="1.0.5000.0" newVersion="1.0.3300.0" />
+			</dependentAssembly>
+		</assemblyBinding>
+	</runtime>
+</configuration> 

+ 14 - 0
lib/NUnit/NUnitTests.nunit

@@ -0,0 +1,14 @@
+<NUnitProject>
+  <Settings appbase="." />
+  <Config name="Default" binpathtype="Auto">
+    <assembly path="nunit.framework.tests.dll" />
+    <assembly path="nunit.core.tests.dll" />
+    <assembly path="nunit.util.tests.dll" />
+    <assembly path="nunit.mocks.tests.dll" />
+    <assembly path="nunit.extensions.tests.dll" />
+    <assembly path="nunit-console.tests.dll" />
+    <assembly path="nunit.uikit.tests.dll" />
+    <assembly path="nunit-gui.tests.dll" />
+    <assembly path="nunit.fixtures.tests.dll" />
+  </Config>
+</NUnitProject>

BIN
lib/NUnit/log4net.dll


BIN
lib/NUnit/nunit-console-runner.dll


BIN
lib/NUnit/nunit-console.exe


+ 159 - 0
lib/NUnit/nunit-console.exe.config

@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<configuration>
+
+	<!-- Do not remove. Sets up configsectionhandler section for log4net -->
+    <configSections>
+        <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
+    </configSections>
+
+	<!--
+     Application settings for NUnit-console.exe. Do NOT put settings
+	 for use by your tests here.
+	-->
+	<appSettings>
+
+	<!--
+	 Specify the location to be used by .NET for the cache
+	-->
+    <add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" />
+  
+	</appSettings>
+  
+    <!-- 
+     The startup section may be used to specify the runtime versions 
+     supported in the order that they will be used if more than one
+     is present. As supplied, this section is commented out, which
+     causes nunit-console to use the version of the framework with
+     which it was built.
+  	 
+	 Since .NET 1.0 does not recognize the <supportedRuntime> elements,
+	 a <requiredRuntime> element is used in case it is the only version
+	 of the framework that is installed.
+    -->
+    <!--
+	<startup>
+	  <supportedRuntime version="v2.0.50727" />
+	  <supportedRuntime version="v2.0.50215" />
+	  <supportedRuntime version="v2.0.40607" />
+	  <supportedRuntime version="v1.1.4322" />
+	  <supportedRuntime version="v1.0.3705" />
+	
+	  <requiredRuntime version="v1.0.3705" />
+	</startup>
+	-->
+
+	<!--
+		Logging configuration for nunit-console.
+		
+		NUnit internal logging is off by default. To enable logging, 
+		set the threshold attribute of the log4net element to "ALL".
+	-->
+	<log4net threshold="OFF">
+		<!-- Writes log info to console -->
+		<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
+			<layout type="log4net.Layout.PatternLayout">
+				<param name="ConversionPattern" value="%date{ABSOLUTE} PID=%property{PID} %-5level [%4thread] %logger{1}: %message%newline" />
+			</layout>
+		</appender>
+		<!-- Writes log info to the NUnit common Log file -->
+		<!--
+			Temporarily commenting due to bug 1851572
+		<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
+			<param name="File" value="${APPDATA}\\NUnit\\NUnit.log" />
+			<param name="AppendToFile" value="true" />
+			<param name="MaxSizeRollBackups" value="5" />
+			<param name="MaximumFileSize" value="500KB" />
+			<param name="RollingStyle" value="Once" />
+			<param name="StaticLogFileName" value="true" />
+			<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
+			<layout type="log4net.Layout.PatternLayout">
+				<param name="ConversionPattern" value="%date{ABSOLUTE} PID=%property{PID} %-5level [%4thread] %logger{1}: %message%newline" />
+			</layout>
+		</appender>-->
+		<!-- Setup the root category, add the appenders and set the default level -->
+		<root>
+			<!-- Only log messages with severity ERROR (or higher) -->
+			<level value="ERROR" />
+			<!--
+				Uncomment the following appender line to log messages to 
+				the console. 
+				
+				Note that the console will not display log output from 
+				agent or server processes, whereas the NUnit.log file 
+				merges the output from all processes.
+			-->
+			<!-- <appender-ref ref="ConsoleAppender" /> -->
+			<!-- 
+				Uncomment the following appender line to log messaes to
+				the NUnit.log file 
+			-->
+			<!--<appender-ref ref="RollingLogFileAppender" />-->
+		</root>
+		<!-- Specify the level for internal NUNit logging -->
+		<logger name="NUnit">
+			<level value="Error" />
+		</logger>
+	</log4net>
+
+
+   <!--
+    The following <runtime> section allows running nunit under 
+    .NET 1.0 by redirecting assemblies. The appliesTo attribute
+    causes the section to be ignored except under .NET 1.0version 1
+    on a machine with only the .NET version 1.0 runtime installed.
+    If application and its tests were built for .NET 1.1 you will
+    also need to redirect system assemblies in the test config file.
+   -->
+  
+ <runtime>
+
+   <legacyUnhandledExceptionPolicy enabled="1" />
+
+   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+			appliesTo="v1.0.3705">
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Data" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Drawing" 
+                          publicKeyToken="b03f5f7f11d50a3a" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Windows.Forms" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Xml" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+    </assemblyBinding>
+
+  </runtime>
+  
+</configuration>

BIN
lib/NUnit/nunit-gui-runner.dll


BIN
lib/NUnit/nunit-x86.exe


+ 173 - 0
lib/NUnit/nunit-x86.exe.config

@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<configuration>
+
+    <!-- Do not remove. Sets up configsectionhandler section for log4net -->
+    <configSections>
+        <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
+    </configSections>
+
+    <!--
+     Application settings for NUnit-gui.exe. Do NOT put settings
+	 for use by your tests here.
+	-->
+ <appSettings>
+
+	<!--	
+	 Specify the location to be used by .NET for the cache 
+	-->
+    <add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" />
+    
+    <!--
+     Uncomment to specify the url to be used for help. If not used, the
+     default value is something like
+		file://localhost/C:/Program Files/NUnit 2.2/doc/index.html
+	 This setting is provided in case your default browser doesn't
+	 support this format.
+	-->
+	<!-- <add key="helpUrl" value="http://www.nunit.org" /> -->
+
+  </appSettings>
+  
+
+    <!-- 
+     The startup section may be used to specify the runtime versions 
+     supported in the order that they will be used if more than one
+     is present. As supplied, this section is commented out, which
+     causes nunit-console to use the version of the framework with
+     which it was built.
+	 
+	 Since .NET 1.0 does not recognize the <supportedRuntime> elements,
+	 a <requiredRuntime> element is used in case it is the only version
+	 of the framework that is installed.
+    -->
+    <!--
+  <startup>
+	  <supportedRuntime version="v2.0.50727" />
+	  <supportedRuntime version="v2.0.50215" />
+	  <supportedRuntime version="v2.0.40607" />
+	  <supportedRuntime version="v1.1.4322" />
+	  <supportedRuntime version="v1.0.3705" />
+	
+	  <requiredRuntime version="v1.0.3705" />
+
+  </startup>
+	-->
+
+	<!--
+		Logging configuration for the NUnit Gui.
+		
+		NUnit internal logging is off by default. To enable logging, 
+		set the threshold attribute of the log4net element to "ALL".
+	-->
+	<log4net threshold="OFF">
+		<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
+			<layout type="log4net.Layout.PatternLayout">
+				<param name="ConversionPattern" value="%date{ABSOLUTE} PID=%property{PID} %-5level [%4thread] %logger{1}: %message%newline" />
+			</layout>
+		</appender>
+		<!--
+			Temporarily commenting due to bug 1851572
+		<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
+			<param name="File" value="${APPDATA}/NUnit/NUnit.log" />
+			<param name="AppendToFile" value="true" />
+			<param name="MaxSizeRollBackups" value="5" />
+			<param name="MaximumFileSize" value="500KB" />
+			<param name="RollingStyle" value="Once" />
+			<param name="StaticLogFileName" value="true" />
+			<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
+			<layout type="log4net.Layout.PatternLayout">
+				<param name="ConversionPattern" value="%date{ABSOLUTE} PID=%property{PID} %-5level [%4thread] %logger{1}: %message%newline" />
+			</layout>
+		</appender>-->
+		<!-- Setup the root category, add the appenders and set the default level -->
+		<root>
+			<!-- Only log messages with severity ERROR (or higher) -->
+			<level value="ERROR" />
+			<!--
+				Uncomment the following appender line to log messages to 
+				the console. This has no effect unless you run the gui
+				with the /console command-line option. 
+				
+				Note that the console will not display log output from 
+				agent or server processes, whereas the NUnit.log file 
+				merges the output from all processes.
+			-->
+			<!--<appender-ref ref="ConsoleAppender" />-->
+			<!-- 
+				Uncomment the following appender line to log messaes to
+				the NUnit.log file 
+			-->
+			<!--<appender-ref ref="RollingLogFileAppender" />-->
+		</root>
+		<!-- Specify the level for internal NUNit logging -->
+		<logger name="NUnit">
+			<level value="Debug" />
+		</logger>
+	</log4net>
+
+   <!--
+    The following <runtime> section allows running nunit under 
+    .NET 1.0 by redirecting assemblies. The appliesTo attribute
+    causes the section to be ignored except under .NET 1.0
+    on a machine with only the .NET version 1.0 runtime installed.
+    If application and its tests were built for .NET 1.1 you will
+    also need to redirect system assemblies in the test config file
+    just as we do for nunit.tests.dll.
+   -->
+  
+ <runtime>
+
+   <legacyUnhandledExceptionPolicy enabled="1" />
+
+   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <probing privatePath="addins"/>
+   </assemblyBinding>
+
+   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+			appliesTo="v1.0.3705">
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Data" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Drawing" 
+                          publicKeyToken="b03f5f7f11d50a3a" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Windows.Forms" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Xml" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+    </assemblyBinding>
+  
+  </runtime>
+  
+</configuration>

BIN
lib/NUnit/nunit.core.dll


BIN
lib/NUnit/nunit.core.extensions.dll


BIN
lib/NUnit/nunit.core.interfaces.dll


BIN
lib/NUnit/nunit.exe


+ 173 - 0
lib/NUnit/nunit.exe.config

@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<configuration>
+
+    <!-- Do not remove. Sets up configsectionhandler section for log4net -->
+    <configSections>
+        <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
+    </configSections>
+
+    <!--
+     Application settings for NUnit-gui.exe. Do NOT put settings
+	 for use by your tests here.
+	-->
+ <appSettings>
+
+	<!--	
+	 Specify the location to be used by .NET for the cache 
+	-->
+    <add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" />
+    
+    <!--
+     Uncomment to specify the url to be used for help. If not used, the
+     default value is something like
+		file://localhost/C:/Program Files/NUnit 2.2/doc/index.html
+	 This setting is provided in case your default browser doesn't
+	 support this format.
+	-->
+	<!-- <add key="helpUrl" value="http://www.nunit.org" /> -->
+
+  </appSettings>
+  
+
+    <!-- 
+     The startup section may be used to specify the runtime versions 
+     supported in the order that they will be used if more than one
+     is present. As supplied, this section is commented out, which
+     causes nunit-console to use the version of the framework with
+     which it was built.
+	 
+	 Since .NET 1.0 does not recognize the <supportedRuntime> elements,
+	 a <requiredRuntime> element is used in case it is the only version
+	 of the framework that is installed.
+    -->
+    <!--
+  <startup>
+	  <supportedRuntime version="v2.0.50727" />
+	  <supportedRuntime version="v2.0.50215" />
+	  <supportedRuntime version="v2.0.40607" />
+	  <supportedRuntime version="v1.1.4322" />
+	  <supportedRuntime version="v1.0.3705" />
+	
+	  <requiredRuntime version="v1.0.3705" />
+
+  </startup>
+	-->
+
+	<!--
+		Logging configuration for the NUnit Gui.
+		
+		NUnit internal logging is off by default. To enable logging, 
+		set the threshold attribute of the log4net element to "ALL".
+	-->
+	<log4net threshold="OFF">
+		<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
+			<layout type="log4net.Layout.PatternLayout">
+				<param name="ConversionPattern" value="%date{ABSOLUTE} PID=%property{PID} %-5level [%4thread] %logger{1}: %message%newline" />
+			</layout>
+		</appender>
+		<!--
+			Temporarily commenting due to bug 1851572
+		<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
+			<param name="File" value="${APPDATA}/NUnit/NUnit.log" />
+			<param name="AppendToFile" value="true" />
+			<param name="MaxSizeRollBackups" value="5" />
+			<param name="MaximumFileSize" value="500KB" />
+			<param name="RollingStyle" value="Once" />
+			<param name="StaticLogFileName" value="true" />
+			<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
+			<layout type="log4net.Layout.PatternLayout">
+				<param name="ConversionPattern" value="%date{ABSOLUTE} PID=%property{PID} %-5level [%4thread] %logger{1}: %message%newline" />
+			</layout>
+		</appender>-->
+		<!-- Setup the root category, add the appenders and set the default level -->
+		<root>
+			<!-- Only log messages with severity ERROR (or higher) -->
+			<level value="ERROR" />
+			<!--
+				Uncomment the following appender line to log messages to 
+				the console. This has no effect unless you run the gui
+				with the /console command-line option. 
+				
+				Note that the console will not display log output from 
+				agent or server processes, whereas the NUnit.log file 
+				merges the output from all processes.
+			-->
+			<!--<appender-ref ref="ConsoleAppender" />-->
+			<!-- 
+				Uncomment the following appender line to log messaes to
+				the NUnit.log file 
+			-->
+			<!--<appender-ref ref="RollingLogFileAppender" />-->
+		</root>
+		<!-- Specify the level for internal NUNit logging -->
+		<logger name="NUnit">
+			<level value="Debug" />
+		</logger>
+	</log4net>
+
+   <!--
+    The following <runtime> section allows running nunit under 
+    .NET 1.0 by redirecting assemblies. The appliesTo attribute
+    causes the section to be ignored except under .NET 1.0
+    on a machine with only the .NET version 1.0 runtime installed.
+    If application and its tests were built for .NET 1.1 you will
+    also need to redirect system assemblies in the test config file
+    just as we do for nunit.tests.dll.
+   -->
+  
+ <runtime>
+
+   <legacyUnhandledExceptionPolicy enabled="1" />
+
+   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <probing privatePath="addins"/>
+   </assemblyBinding>
+
+   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+			appliesTo="v1.0.3705">
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Data" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Drawing" 
+                          publicKeyToken="b03f5f7f11d50a3a" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Windows.Forms" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Xml" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+    </assemblyBinding>
+  
+  </runtime>
+  
+</configuration>

BIN
lib/NUnit/nunit.fixtures.dll


BIN
lib/NUnit/nunit.framework.dll


BIN
lib/NUnit/nunit.framework.extensions.dll


+ 5614 - 0
lib/NUnit/nunit.framework.xml

@@ -0,0 +1,5614 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>nunit.framework</name>
+    </assembly>
+    <members>
+        <member name="T:NUnit.Framework.Constraints.EmptyStringConstraint">
+            <summary>
+            EmptyStringConstraint tests whether a string is empty.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.EmptyConstraint">
+            <summary>
+            EmptyConstraint tests a whether a string or collection is empty,
+            postponing the decision about which test is applied until the
+            type of the actual argument is known.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.Constraint">
+            <summary>
+            The Constraint class is the base of all built-in or
+            user-defined constraints in NUnit. It provides the operator
+            overloads used to combine constraints.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.Constraint.UNSET">
+            <summary>
+            Static UnsetObject used to detect derived constraints
+            failing to set the actual value.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.Constraint.caseInsensitive">
+            <summary>
+            If true, all string comparisons will ignore case
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.Constraint.clipStrings">
+            <summary>
+            If true, strings in error messages will be clipped
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.Constraint.compareAsCollection">
+            <summary>
+            If true, arrays will be treated as collections, allowing
+            those of different dimensions to be compared
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.Constraint.tolerance">
+            <summary>
+            If non-zero, equality comparisons within the specified 
+            tolerance will succeed.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.Constraint.compareWith">
+            <summary>
+            IComparer object used in comparisons for some constraints.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.Constraint.actual">
+            <summary>
+            The actual value being tested against a constraint
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.Within(System.Object)">
+            <summary>
+            Flag the constraint to use a tolerance when determining equality.
+            Currently only used for doubles and floats.
+            </summary>
+            <param name="tolerance">Tolerance to be used</param>
+            <returns>Self.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.Comparer(System.Collections.IComparer)">
+            <summary>
+            Flag the constraint to use the supplied IComparer object.
+            </summary>
+            <param name="comparer">The IComparer object to use.</param>
+            <returns>Self.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.WriteMessageTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the failure message to the MessageWriter provided
+            as an argument. The default implementation simply passes
+            the constraint and the actual value to the writer, which
+            then displays the constraint description and the value.
+            
+            Constraints that need to provide additional details,
+            such as where the error occured can override this.
+            </summary>
+            <param name="writer">The MessageWriter on which to display the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.WriteActualValueTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a
+            MessageWriter. The default implementation simply writes
+            the raw value of actual, leaving it to the writer to
+            perform any formatting.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseAnd(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            This operator creates a constraint that is satisfied only if both 
+            argument constraints are satisfied.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseOr(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            This operator creates a constraint that is satisfied if either 
+            of the argument constraints is satisfied.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.op_LogicalNot(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            This operator creates a constraint that is satisfied if the 
+            argument constraint is not satisfied.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Constraint.IgnoreCase">
+            <summary>
+            Flag the constraint to ignore case and return self.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Constraint.NoClip">
+            <summary>
+            Flag the constraint to suppress string clipping 
+            and return self.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Constraint.AsCollection">
+            <summary>
+            Flag the constraint to compare arrays as collections
+            and return self.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.Constraint.UnsetObject">
+            <summary>
+            Class used to detect any derived constraints
+            that fail to set the actual value in their
+            Matches override.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EmptyConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EmptyConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EmptyStringConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EmptyStringConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.SubstringConstraint">
+            <summary>
+            SubstringConstraint can test whether a string contains
+            the expected substring.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SubstringConstraint.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:SubstringConstraint"/> class.
+            </summary>
+            <param name="expected">The expected.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SubstringConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SubstringConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.StartsWithConstraint">
+            <summary>
+            StartsWithConstraint can test whether a string starts
+            with an expected substring.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:StartsWithConstraint"/> class.
+            </summary>
+            <param name="expected">The expected string</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is matched by the actual value.
+            This is a template method, which calls the IsMatch method
+            of the derived class.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.EndsWithConstraint">
+            <summary>
+            EndsWithConstraint can test whether a string ends
+            with an expected substring.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:EndsWithConstraint"/> class.
+            </summary>
+            <param name="expected">The expected string</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is matched by the actual value.
+            This is a template method, which calls the IsMatch method
+            of the derived class.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.RegexConstraint">
+            <summary>
+            RegexConstraint can test whether a string matches
+            the pattern provided.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.RegexConstraint.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:RegexConstraint"/> class.
+            </summary>
+            <param name="pattern">The pattern.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.RegexConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.RegexConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ConstraintBuilder">
+            <summary>
+            ConstraintBuilder is used to resolve the Not and All properties,
+            which serve as prefix operators for constraints. With the addition
+            of an operand stack, And and Or could be supported, but we have
+            left them out in favor of a simpler, more type-safe implementation.
+            Use the &amp; and | operator overloads to combine constraints.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.op_Implicit(NUnit.Framework.Constraints.ConstraintBuilder)~NUnit.Framework.Constraints.Constraint">
+            <summary>
+            Implicitly convert ConstraintBuilder to an actual Constraint
+            at the point where the syntax demands it.
+            </summary>
+            <param name="builder"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.EqualTo(System.Object)">
+            <summary>
+            Resolves the chain of constraints using an
+            EqualConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.SameAs(System.Object)">
+            <summary>
+            Resolves the chain of constraints using a
+            SameAsConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.LessThan(System.IComparable)">
+            <summary>
+            Resolves the chain of constraints using a
+            LessThanConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.GreaterThan(System.IComparable)">
+            <summary>
+            Resolves the chain of constraints using a
+            GreaterThanConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.LessThanOrEqualTo(System.IComparable)">
+            <summary>
+            Resolves the chain of constraints using a
+            LessThanOrEqualConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.AtMost(System.IComparable)">
+            <summary>
+            Resolves the chain of constraints using a
+            LessThanOrEqualConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.GreaterThanOrEqualTo(System.IComparable)">
+            <summary>
+            Resolves the chain of constraints using a
+            GreaterThanOrEqualConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.AtLeast(System.IComparable)">
+            <summary>
+            Resolves the chain of constraints using a
+            GreaterThanOrEqualConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.TypeOf(System.Type)">
+            <summary>
+            Resolves the chain of constraints using an
+            ExactTypeConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.InstanceOfType(System.Type)">
+            <summary>
+            Resolves the chain of constraints using an
+            InstanceOfTypeConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.AssignableFrom(System.Type)">
+            <summary>
+            Resolves the chain of constraints using an
+            AssignableFromConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Contains(System.Object)">
+            <summary>
+            Resolves the chain of constraints using a
+            ContainsConstraint as base. This constraint
+            will, in turn, make use of the appropriate
+            second-level constraint, depending on the
+            type of the actual argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Member(System.Object)">
+            <summary>
+            Resolves the chain of constraints using a 
+            CollectionContainsConstraint as base.
+            </summary>
+            <param name="expected">The expected object</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.StartsWith(System.String)">
+            <summary>
+            Resolves the chain of constraints using a
+            StartsWithConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.EndsWith(System.String)">
+            <summary>
+            Resolves the chain of constraints using a
+            StringEndingConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Matches(System.String)">
+            <summary>
+            Resolves the chain of constraints using a
+            StringMatchingConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.EquivalentTo(System.Collections.ICollection)">
+            <summary>
+            Resolves the chain of constraints using a
+            CollectionEquivalentConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.CollectionContaining(System.Object)">
+            <summary>
+            Resolves the chain of constraints using a
+            CollectionContainingConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.SubsetOf(System.Collections.ICollection)">
+            <summary>
+            Resolves the chain of constraints using a
+            CollectionSubsetConstraint as base.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Property(System.String,System.Object)">
+            <summary>
+            Resolves the chain of constraints using a 
+            PropertyConstraint as base
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Length(System.Int32)">
+            <summary>
+            Resolves the chain of constraints using a
+            PropertyCOnstraint on Length as base
+            </summary>
+            <param name="length"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Count(System.Int32)">
+            <summary>
+            Resolves the chain of constraints using a
+            PropertyCOnstraint on Length as base
+            </summary>
+            <param name="count"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Property(System.String)">
+            <summary>
+            Modifies the ConstraintBuilder by pushing a Prop operator on the
+            ops stack and the name of the property on the opnds stack.
+            </summary>
+            <param name="name"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Resolve(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Resolve a constraint that has been recognized by applying
+            any pending operators and returning the resulting Constraint.
+            </summary>
+            <returns>A constraint that incorporates all pending operators</returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.Null">
+            <summary>
+            Resolves the chain of constraints using
+            EqualConstraint(null) as base.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.True">
+            <summary>
+            Resolves the chain of constraints using
+            EqualConstraint(true) as base.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.False">
+            <summary>
+            Resolves the chain of constraints using
+            EqualConstraint(false) as base.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.NaN">
+            <summary>
+            Resolves the chain of constraints using
+            Is.NaN as base.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.Empty">
+            <summary>
+            Resolves the chain of constraints using
+            Is.Empty as base.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.Unique">
+            <summary>
+            Resolves the chain of constraints using
+            Is.Unique as base.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.Not">
+            <summary>
+            Modifies the ConstraintBuilder by pushing a Not operator on the stack.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.No">
+            <summary>
+            Modifies the ConstraintBuilder by pushing a Not operator on the stack.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.All">
+            <summary>
+            Modifies the ConstraintBuilder by pushing an All operator on the stack.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.Some">
+            <summary>
+            Modifies the ConstraintBuilder by pushing a Some operator on the stack.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.None">
+            <summary>
+            Modifies the constraint builder by pushing All and Not operators on the stack
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.CollectionConstraint">
+            <summary>
+            CollectionConstraint is the abstract base class for
+            constraints that operate on collections.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionConstraint.doMatch(System.Collections.IEnumerable)">
+            <summary>
+            Protected method to be implemented by derived classes
+            </summary>
+            <param name="collection"></param>
+            <returns></returns>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.CollectionConstraint.CollectionTally">
+            <summary>
+            CollectionTally counts (tallies) the number of
+            occurences of each object in one or more enuerations.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionConstraint.CollectionTally.#ctor(System.Collections.IEnumerable)">
+            <summary>
+            Construct a CollectionTally object from a collection
+            </summary>
+            <param name="c"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionConstraint.CollectionTally.CanRemove(System.Collections.IEnumerable)">
+            <summary>
+            Remove the counts for a collection from the tally,
+            so long as their are sufficient items to remove.
+            The tallies are not permitted to become negative.
+            </summary>
+            <param name="c">The collection to remove</param>
+            <returns>True if there were enough items to remove, otherwise false</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionConstraint.CollectionTally.AllCountsEqualTo(System.Int32)">
+            <summary>
+            Test whether all the counts are equal to a given value
+            </summary>
+            <param name="count">The value to be looked for</param>
+            <returns>True if all counts are equal to the value, otherwise false</returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.CollectionConstraint.CollectionTally.Item(System.Object)">
+            <summary>
+            Get the count of the number of times an object is present in the tally
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.EmptyCollectionConstraint">
+            <summary>
+            EmptyCollectionConstraint tests whether a colletion is empty. 
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EmptyCollectionConstraint.doMatch(System.Collections.IEnumerable)">
+            <summary>
+            Check that the collection is empty
+            </summary>
+            <param name="collection"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EmptyCollectionConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.UniqueItemsConstraint">
+            <summary>
+            UniqueItemsConstraint tests whether all the items in a 
+            collection are unique.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.doMatch(System.Collections.IEnumerable)">
+            <summary>
+            Check that all items are unique.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.CollectionContainsConstraint">
+            <summary>
+            CollectionContainsConstraint is used to test whether a collection
+            contains an expected object as a member.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.#ctor(System.Object)">
+            <summary>
+            Construct a CollectionContainsConstraint
+            </summary>
+            <param name="expected"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.doMatch(System.Collections.IEnumerable)">
+            <summary>
+            Test whether the expected item is contained in the collection
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write a descripton of the constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint">
+            <summary>
+            CollectionEquivalentCOnstraint is used to determine whether two
+            collections are equivalent.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.#ctor(System.Collections.IEnumerable)">
+            <summary>
+            Construct a CollectionEquivalentConstraint
+            </summary>
+            <param name="expected"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.doMatch(System.Collections.IEnumerable)">
+            <summary>
+            Test whether two collections are equivalent
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.CollectionSubsetConstraint">
+            <summary>
+            CollectionSubsetConstraint is used to determine whether
+            one collection is a subset of another
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.#ctor(System.Collections.IEnumerable)">
+            <summary>
+            Construct a CollectionSubsetConstraint
+            </summary>
+            <param name="expected">The collection that the actual value is expected to be a subset of</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.doMatch(System.Collections.IEnumerable)">
+            <summary>
+            Test whether the actual collection is a subset of 
+            the expected collection provided.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.EqualConstraint">
+            <summary>
+            EqualConstraint is able to compare an actual value with the
+            expected value provided in its constructor.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:EqualConstraint"/> class.
+            </summary>
+            <param name="expected">The expected value.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.WriteMessageTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write a failure message. Overridden to provide custom 
+            failure messages for EqualConstraint.
+            </summary>
+            <param name="writer">The MessageWriter to write to</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write description of this constraint
+            </summary>
+            <param name="writer">The MessageWriter to write to</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.ArraysEqual(System.Array,System.Array)">
+            <summary>
+            Helper method to compare two arrays
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.DisplayCollectionDifferences(NUnit.Framework.MessageWriter,System.Collections.ICollection,System.Collections.ICollection,System.Int32)">
+            <summary>
+            Display the failure information for two collections that did not match.
+            </summary>
+            <param name="writer">The MessageWriter on which to display</param>
+            <param name="expected">The expected collection.</param>
+            <param name="actual">The actual collection</param>
+            <param name="depth">The depth of this failure in a set of nested collections</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.DisplayCollectionTypesAndSizes(NUnit.Framework.MessageWriter,System.Collections.ICollection,System.Collections.ICollection,System.Int32)">
+            <summary>
+            Displays a single line showing the types and sizes of the expected
+            and actual collections or arrays. If both are identical, the value is 
+            only shown once.
+            </summary>
+            <param name="writer">The MessageWriter on which to display</param>
+            <param name="expected">The expected collection or array</param>
+            <param name="actual">The actual collection or array</param>
+            <param name="indent">The indentation level for the message line</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.DisplayFailurePoint(NUnit.Framework.MessageWriter,System.Collections.ICollection,System.Collections.ICollection,System.Int32,System.Int32)">
+            <summary>
+            Displays a single line showing the point in the expected and actual
+            arrays at which the comparison failed. If the arrays have different
+            structures or dimensions, both values are shown.
+            </summary>
+            <param name="writer">The MessageWriter on which to display</param>
+            <param name="expected">The expected array</param>
+            <param name="actual">The actual array</param>
+            <param name="failurePoint">Index of the failure point in the underlying collections</param>
+            <param name="indent">The indentation level for the message line</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.PrefixConstraint">
+            <summary>
+            Abstract base class used for prefixes
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.PrefixConstraint.baseConstraint">
+            <summary>
+            The base constraint
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PrefixConstraint.#ctor(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Construct given a base constraint
+            </summary>
+            <param name="baseConstraint"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PrefixConstraint.PassModifiersToBase">
+            <summary>
+            Set all modifiers applied to the prefix into
+            the base constraint before matching
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.NotConstraint">
+            <summary>
+            NotConstraint negates the effect of some other constraint
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NotConstraint.#ctor(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Initializes a new instance of the <see cref="T:NotConstraint"/> class.
+            </summary>
+            <param name="baseConstraint">The base constraint to be negated.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NotConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for if the base constraint fails, false if it succeeds</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NotConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NotConstraint.WriteActualValueTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a MessageWriter.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.AllItemsConstraint">
+            <summary>
+            AllItemsConstraint applies another constraint to each
+            item in a collection, succeeding if they all succeed.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.#ctor(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Construct an AllItemsConstraint on top of an existing constraint
+            </summary>
+            <param name="itemConstraint"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.Matches(System.Object)">
+            <summary>
+            Apply the item constraint to each item in the collection,
+            failing if any item fails.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.SomeItemsConstraint">
+            <summary>
+            SomeItemsConstraint applies another constraint to each
+            item in a collection, succeeding if any of them succeeds.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.#ctor(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Construct a SomeItemsConstraint on top of an existing constraint
+            </summary>
+            <param name="itemConstraint"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Matches(System.Object)">
+            <summary>
+            Apply the item constraint to each item in the collection,
+            failing if any item fails.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.NoItemConstraint">
+            <summary>
+            SomeItemsConstraint applies another constraint to each
+            item in a collection, succeeding if any of them succeeds.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NoItemConstraint.#ctor(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Construct a SomeItemsConstraint on top of an existing constraint
+            </summary>
+            <param name="itemConstraint"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NoItemConstraint.Matches(System.Object)">
+            <summary>
+            Apply the item constraint to each item in the collection,
+            failing if any item fails.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NoItemConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.SameAsConstraint">
+            <summary>
+            SameAsConstraint tests whether an object is identical to
+            the object passed to its constructor
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SameAsConstraint.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:SameAsConstraint"/> class.
+            </summary>
+            <param name="expected">The expected object.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SameAsConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SameAsConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.TypeConstraint">
+            <summary>
+            TypeConstraint is the abstract base for constraints
+            that take a Type as their expected value.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.TypeConstraint.expectedType">
+            <summary>
+            The expected Type used by the constraint
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.TypeConstraint.#ctor(System.Type)">
+            <summary>
+            Construct a TypeConstraint for a given Type
+            </summary>
+            <param name="type"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.TypeConstraint.WriteActualValueTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a
+            MessageWriter. TypeCOnstraints override this method to write
+            the name of the type.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ExactTypeConstraint">
+            <summary>
+            ExactTypeConstraint is used to test that an object
+            is of the exact type provided in the constructor
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.#ctor(System.Type)">
+            <summary>
+            Construct an ExactTypeConstraint for a given Type
+            </summary>
+            <param name="type"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.Matches(System.Object)">
+            <summary>
+            Test that an object is of the exact type specified
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.InstanceOfTypeConstraint">
+            <summary>
+            InstanceOfTypeConstraint is used to test that an object
+            is of the same type provided or derived from it.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.#ctor(System.Type)">
+            <summary>
+            Construct an InstanceOfTypeConstraint for the type provided
+            </summary>
+            <param name="type"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.Matches(System.Object)">
+            <summary>
+            Test whether an object is of the specified type or a derived type
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.AssignableFromConstraint">
+            <summary>
+            AssignableFromConstraint is used to test that an object
+            can be assigned from a given Type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.#ctor(System.Type)">
+            <summary>
+            Construct an AssignableFromConstraint for the type provided
+            </summary>
+            <param name="type"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.Matches(System.Object)">
+            <summary>
+            Test whether an object can be assigned from the specified type
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ComparisonConstraint">
+            <summary>
+            Abstract base class for constraints that compare values to
+            determine if one is greater than, equal to or less than
+            the other.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.expected">
+            <summary>
+            The value against which a comparison is to be made
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.ltOK">
+            <summary>
+            If true, less than returns success
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.eqOK">
+            <summary>
+            if true, equal returns success
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.gtOK">
+            <summary>
+            if true, greater than returns success
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.predicate">
+            <summary>
+            The predicate used as a part of the description
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.#ctor(System.IComparable,System.Boolean,System.Boolean,System.Boolean,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ComparisonConstraint"/> class.
+            </summary>
+            <param name="value">The value against which to make a comparison.</param>
+            <param name="ltOK">if set to <c>true</c> less succeeds.</param>
+            <param name="eqOK">if set to <c>true</c> equal succeeds.</param>
+            <param name="gtOK">if set to <c>true</c> greater succeeds.</param>
+            <param name="predicate">String used in describing the constraint.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.GreaterThanConstraint">
+            <summary>
+            Tests whether a value is greater than the value supplied to its constructor
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.GreaterThanConstraint.#ctor(System.IComparable)">
+            <summary>
+            Initializes a new instance of the <see cref="T:GreaterThanConstraint"/> class.
+            </summary>
+            <param name="expected">The expected value.</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint">
+            <summary>
+            Tests whether a value is greater than or equal to the value supplied to its constructor
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.#ctor(System.IComparable)">
+            <summary>
+            Initializes a new instance of the <see cref="T:GreaterThanOrEqualConstraint"/> class.
+            </summary>
+            <param name="expected">The expected value.</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.LessThanConstraint">
+            <summary>
+            Tests whether a value is less than the value supplied to its constructor
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.LessThanConstraint.#ctor(System.IComparable)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LessThanConstraint"/> class.
+            </summary>
+            <param name="expected">The expected value.</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.LessThanOrEqualConstraint">
+            <summary>
+            Tests whether a value is less than or equal to the value supplied to its constructor
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.LessThanOrEqualConstraint.#ctor(System.IComparable)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LessThanOrEqualConstraint"/> class.
+            </summary>
+            <param name="expected">The expected value.</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.Numerics">
+            <summary>
+            The Numerics class contains common operations on numeric values.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Numerics.IsNumericType(System.Object)">
+            <summary>
+            Checks the type of the object, returning true if
+            the object is a numeric type.
+            </summary>
+            <param name="obj">The object to check</param>
+            <returns>true if the object is a numeric type</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Numerics.IsFloatingPointNumeric(System.Object)">
+            <summary>
+            Checks the type of the object, returning true if
+            the object is a floating point numeric type.
+            </summary>
+            <param name="obj">The object to check</param>
+            <returns>true if the object is a floating point numeric type</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Numerics.IsFixedPointNumeric(System.Object)">
+            <summary>
+            Checks the type of the object, returning true if
+            the object is a fixed point numeric type.
+            </summary>
+            <param name="obj">The object to check</param>
+            <returns>true if the object is a fixed point numeric type</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Numerics.AreEqual(System.Object,System.Object,System.Object@)">
+            <summary>
+            Test two numeric values for equality, performing the usual numeric 
+            conversions and using a provided or default tolerance. If the value 
+            referred to by tolerance is null, this method may set it to a default.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="tolerance">A reference to the numeric tolerance in effect</param>
+            <returns>True if the values are equal</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Numerics.Compare(System.IComparable,System.Object)">
+            <summary>
+            Compare two numeric values, performing the usual numeric conversions.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <returns></returns>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ContainsConstraint">
+            <summary>
+            ContainsConstraint tests a whether a string contains a substring
+            or a collection contains an object. It postpones the decision of
+            which test to use until the type of the actual argument is known.
+            This allows testing whether a string is contained in a collection
+            or as a substring of another string using the same syntax.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ContainsConstraint.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ContainsConstraint"/> class.
+            </summary>
+            <param name="expected">The expected.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ContainsConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ContainsConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.PropertyConstraint">
+            <summary>
+            Summary description for PropertyConstraint.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropertyConstraint.#ctor(System.String,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Initializes a new instance of the <see cref="T:PropertyConstraint"/> class.
+            </summary>
+            <param name="name">The name.</param>
+            <param name="baseConstraint">The constraint to apply to the property.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropertyConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropertyConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropertyConstraint.WriteActualValueTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a
+            MessageWriter. The default implementation simply writes
+            the raw value of actual, leaving it to the writer to
+            perform any formatting.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.BinaryOperation">
+            <summary>
+            BinaryOperation is the abstract base of all constraints
+            that combine two other constraints in some fashion.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.BinaryOperation.left">
+            <summary>
+            The first constraint being combined
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.BinaryOperation.right">
+            <summary>
+            The second constraint being combined
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.BinaryOperation.#ctor(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Construct a BinaryOperation from two other constraints
+            </summary>
+            <param name="left">The first constraint</param>
+            <param name="right">The second constraint</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.AndConstraint">
+            <summary>
+            AndConstraint succeeds only if both members succeed.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AndConstraint.#ctor(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Create an AndConstraint from two other constraints
+            </summary>
+            <param name="left">The first constraint</param>
+            <param name="right">The second constraint</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AndConstraint.Matches(System.Object)">
+            <summary>
+            Apply both member constraints to an actual value, succeeding 
+            succeeding only if both of them succeed.
+            </summary>
+            <param name="actual">The actual value</param>
+            <returns>True if the constraints both succeeded</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AndConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write a description for this contraint to a MessageWriter
+            </summary>
+            <param name="writer">The MessageWriter to receive the description</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.OrConstraint">
+            <summary>
+            OrConstraint succeeds if either member succeeds
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.OrConstraint.#ctor(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Create an OrConstraint from two other constraints
+            </summary>
+            <param name="left">The first constraint</param>
+            <param name="right">The second constraint</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.OrConstraint.Matches(System.Object)">
+            <summary>
+            Apply the member constraints to an actual value, succeeding 
+            succeeding as soon as one of them succeeds.
+            </summary>
+            <param name="actual">The actual value</param>
+            <returns>True if either constraint succeeded</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.OrConstraint.WriteDescriptionTo(NUnit.Framework.MessageWriter)">
+            <summary>
+            Write a description for this contraint to a MessageWriter
+            </summary>
+            <param name="writer">The MessageWriter to receive the description</param>
+        </member>
+        <member name="T:NUnit.Framework.SyntaxHelpers.Is">
+            <summary>
+            The Is class is a helper class with properties and methods
+            that supply a number of constraints used in Asserts.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.SyntaxHelpers.Is.Null">
+            <summary>
+            Is.Null returns a static constraint that tests for null
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.SyntaxHelpers.Is.True">
+            <summary>
+            Is.True returns a static constraint that tests whether a value is true
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.SyntaxHelpers.Is.False">
+            <summary>
+            Is.False returns a static constraint that tests whether a value is false
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.SyntaxHelpers.Is.NaN">
+            <summary>
+            Is.NaN returns a static constraint that tests whether a value is an NaN
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.SyntaxHelpers.Is.Empty">
+            <summary>
+            Is.Empty returns a static constraint that tests whether a string or collection is empty
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.SyntaxHelpers.Is.Unique">
+            <summary>
+            Is.Unique returns a static constraint that tests whether a collection contains all unque items.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Is.EqualTo(System.Object)">
+            <summary>
+            Is.EqualTo returns a constraint that tests whether the
+            actual value equals the supplied argument
+            </summary>
+            <param name="expected"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Is.SameAs(System.Object)">
+            <summary>
+            Is.SameAs returns a constraint that tests whether the
+            actual value is the same object as the supplied argument.
+            </summary>
+            <param name="expected"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Is.GreaterThan(System.IComparable)">
+            <summary>
+            Is.GreaterThan returns a constraint that tests whether the
+            actual value is greater than the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Is.GreaterThanOrEqualTo(System.IComparable)">
+            <summary>
+            Is.GreaterThanOrEqualTo returns a constraint that tests whether the
+            actual value is greater than or equal to the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Is.AtLeast(System.IComparable)">
+            <summary>
+            Is.AtLeast is a synonym for Is.GreaterThanOrEqualTo
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Is.LessThan(System.IComparable)">
+            <summary>
+            Is.LessThan returns a constraint that tests whether the
+            actual value is less than the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Is.LessThanOrEqualTo(System.IComparable)">
+            <summary>
+            Is.LessThanOrEqualTo returns a constraint that tests whether the
+            actual value is less than or equal to the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Is.AtMost(System.IComparable)">
+            <summary>
+            Is.AtMost is a synonym for Is.LessThanOrEqualTo
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Is.TypeOf(System.Type)">
+            <summary>
+            Is.TypeOf returns a constraint that tests whether the actual
+            value is of the exact type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Is.InstanceOfType(System.Type)">
+            <summary>
+            Is.InstanceOfType returns a constraint that tests whether 
+            the actual value is of the type supplied as an argument
+            or a derived type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Is.AssignableFrom(System.Type)">
+            <summary>
+            Is.AssignableFrom returns a constraint that tests whether
+            the actual value is assignable from the type supplied as
+            an argument.
+            </summary>
+            <param name="expectedType"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Is.EquivalentTo(System.Collections.ICollection)">
+            <summary>
+            Is.EquivalentTo returns a constraint that tests whether
+            the actual value is a collection containing the same
+            elements as the collection supplied as an arument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Is.SubsetOf(System.Collections.ICollection)">
+            <summary>
+            Is.SubsetOf returns a constraint that tests whether
+            the actual value is a subset of the collection 
+            supplied as an arument
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.SyntaxHelpers.Is.Not">
+            <summary>
+            Is.Not returns a ConstraintBuilder that negates
+            the constraint that follows it.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.SyntaxHelpers.Is.All">
+            <summary>
+            Is.All returns a ConstraintBuilder, which will apply
+            the following constraint to all members of a collection,
+            succeeding if all of them succeed. This property is
+            a synonym for Has.AllItems.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.SyntaxHelpers.Iz">
+            <summary>
+            The Iz class is a synonym for Is intended for use in VB,
+            which regards Is as a keyword.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.SyntaxHelpers.Text">
+            <summary>
+            The Text class is a helper class with properties and methods
+            that supply a number of constraints used with strings.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Text.Contains(System.String)">
+            <summary>
+            Contains returns a constraint that succeeds if the actual
+            value contains the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Text.DoesNotContain(System.String)">
+            <summary>
+            DoesNotContain returns a constraint that fails if the actual
+            value contains the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Text.StartsWith(System.String)">
+            <summary>
+            StartsWith returns a constraint that succeeds if the actual
+            value starts with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Text.DoesNotStartWith(System.String)">
+            <summary>
+            DoesNotStartWith returns a constraint that fails if the actual
+            value starts with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Text.EndsWith(System.String)">
+            <summary>
+            EndsWith returns a constraint that succeeds if the actual
+            value ends with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Text.DoesNotEndWith(System.String)">
+            <summary>
+            DoesNotEndWith returns a constraint that fails if the actual
+            value ends with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Text.Matches(System.String)">
+            <summary>
+            Matches returns a constraint that succeeds if the actual
+            value matches the pattern supplied as an argument.
+            </summary>
+            <param name="pattern"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Text.DoesNotMatch(System.String)">
+            <summary>
+            DoesNotMatch returns a constraint that failss if the actual
+            value matches the pattern supplied as an argument.
+            </summary>
+            <param name="pattern"></param>
+            <returns></returns>
+        </member>
+        <member name="P:NUnit.Framework.SyntaxHelpers.Text.All">
+            <summary>
+            Text.All returns a ConstraintBuilder, which will apply
+            the following constraint to all members of a collection,
+            succeeding if all of them succeed.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.SyntaxHelpers.List">
+            <summary>
+            The List class is a helper class with properties and methods
+            that supply a number of constraints used with lists and collections.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.List.Map(System.Collections.ICollection)">
+            <summary>
+            List.Map returns a ListMapper, which can be used to map
+            the original collection to another collection.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="T:NUnit.Framework.SyntaxHelpers.ListMapper">
+            <summary>
+            ListMapper is used to transform a collection used as an actual argument
+            producing another collection to be used in the assertion.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.ListMapper.#ctor(System.Collections.ICollection)">
+            <summary>
+            Construct a ListMapper based on a collection
+            </summary>
+            <param name="original">The collection to be transformed</param>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.ListMapper.Property(System.String)">
+            <summary>
+            Produces a collection containing all the values of a property
+            </summary>
+            <param name="name">The collection of property values</param>
+            <returns></returns>
+        </member>
+        <member name="T:NUnit.Framework.SyntaxHelpers.Has">
+            <summary>
+            Summary description for HasNoPrefixB.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Has.Property(System.String)">
+            <summary>
+            Returns a new ConstraintBuilder, which will apply the
+            following constraint to a named property of the object
+            being tested.
+            </summary>
+            <param name="name">The name of the property</param>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Has.Property(System.String,System.Object)">
+            <summary>
+            Returns a new PropertyConstraint checking for the
+            existence of a particular property value.
+            </summary>
+            <param name="name">The name of the property to look for</param>
+            <param name="expected">The expected value of the property</param>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Has.Length(System.Int32)">
+            <summary>
+            Returns a new PropertyConstraint for the Length property
+            </summary>
+            <param name="length"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Has.Count(System.Int32)">
+            <summary>
+            Returns a new PropertyConstraint or the Count property
+            </summary>
+            <param name="count"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Has.Member(System.Object)">
+            <summary>
+            Returns a new CollectionContainsConstraint checking for the
+            presence of a particular object in the collection.
+            </summary>
+            <param name="expected">The expected object</param>
+        </member>
+        <member name="P:NUnit.Framework.SyntaxHelpers.Has.No">
+            <summary>
+            Has.No returns a ConstraintBuilder that negates
+            the constraint that follows it.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.SyntaxHelpers.Has.All">
+            <summary>
+            Has.AllItems returns a ConstraintBuilder, which will apply
+            the following constraint to all members of a collection,
+            succeeding if all of them succeed.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.SyntaxHelpers.Has.Some">
+            <summary>
+            Has.Some returns a ConstraintBuilder, which will apply
+            the following constraint to all members of a collection,
+            succeeding if any of them succeed. It is a synonym
+            for Has.Item.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.SyntaxHelpers.Has.None">
+            <summary>
+            Has.None returns a ConstraintBuilder, which will apply
+            the following constraint to all members of a collection,
+            succeeding only if none of them succeed.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.SyntaxHelpers.Has.HasNoPrefixBuilder">
+            <summary>
+            Nested class that allows us to restrict the number
+            of key words that may appear after Has.No.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Has.HasNoPrefixBuilder.Property(System.String)">
+            <summary>
+            Return a ConstraintBuilder conditioned to apply
+            the following constraint to a property.
+            </summary>
+            <param name="name">The property name</param>
+            <returns>A ConstraintBuilder</returns>
+        </member>
+        <member name="M:NUnit.Framework.SyntaxHelpers.Has.HasNoPrefixBuilder.Member(System.Object)">
+            <summary>
+            Return a Constraint that succeeds if the expected object is
+            not contained in a collection.
+            </summary>
+            <param name="expected">The expected object</param>
+            <returns>A Constraint</returns>
+        </member>
+        <member name="T:NUnit.Framework.Assert">
+            <summary>
+            The Assert class contains a collection of static methods that
+            implement the most common assertions used in NUnit.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assert.#ctor">
+            <summary>
+            We don't actually want any instances of this object, but some people
+            like to inherit from it to add other static methods. Hence, the
+            protected constructor disallows any instances of this object. 
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Equals(System.Object,System.Object)">
+            <summary>
+            The Equals method throws an AssertionException. This is done 
+            to make sure there is no mistake by calling this function.
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.ReferenceEquals(System.Object,System.Object)">
+            <summary>
+            override the default ReferenceEquals to throw an AssertionException. This 
+            implementation makes sure there is no mistake in calling this function 
+            as part of Assert. 
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean,System.String,System.Object[])">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary> 
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display if the condition is false</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean,System.String)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display if the condition is false</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean,System.String,System.Object[])">
+            <summary>
+            Asserts that a condition is false. If the condition is true the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display if the condition is true</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean,System.String)">
+            <summary>
+            Asserts that a condition is false. If the condition is true the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display if the condition is true</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean)">
+            <summary>
+            Asserts that a condition is false. If the condition is true the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object,System.String,System.Object[])">
+            <summary>
+            Verifies that the object that is passed in is not equal to <code>null</code>
+            If the object is <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+            <param name="message">The message to be displayed when the object is null</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object,System.String)">
+            <summary>
+            Verifies that the object that is passed in is not equal to <code>null</code>
+            If the object is <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+            <param name="message">The message to be displayed when the object is null</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object)">
+            <summary>
+            Verifies that the object that is passed in is not equal to <code>null</code>
+            If the object is <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNull(System.Object,System.String,System.Object[])">
+            <summary>
+            Verifies that the object that is passed in is equal to <code>null</code>
+            If the object is not <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+            <param name="message">The message to be displayed when the object is not null</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNull(System.Object,System.String)">
+            <summary>
+            Verifies that the object that is passed in is equal to <code>null</code>
+            If the object is not <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+            <param name="message">The message to be displayed when the object is not null</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNull(System.Object)">
+            <summary>
+            Verifies that the object that is passed in is equal to <code>null</code>
+            If the object is not null <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNaN(System.Double,System.String,System.Object[])">
+            <summary>
+            Verifies that the double is passed is an <code>NaN</code> value.
+            If the object is not <code>NaN</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="aDouble">The value that is to be tested</param>
+            <param name="message">The message to be displayed when the object is not null</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNaN(System.Double,System.String)">
+            <summary>
+            Verifies that the double is passed is an <code>NaN</code> value.
+            If the object is not <code>NaN</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="aDouble">The object that is to be tested</param>
+            <param name="message">The message to be displayed when the object is not null</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNaN(System.Double)">
+            <summary>
+            Verifies that the double is passed is an <code>NaN</code> value.
+            If the object is not <code>NaN</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="aDouble">The object that is to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsEmpty(System.String,System.String,System.Object[])">
+            <summary>
+            Assert that a string is empty - that is equal to string.Empty
+            </summary>
+            <param name="aString">The string to be tested</param>
+            <param name="message">The message to be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsEmpty(System.String,System.String)">
+            <summary>
+            Assert that a string is empty - that is equal to string.Emtpy
+            </summary>
+            <param name="aString">The string to be tested</param>
+            <param name="message">The message to be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsEmpty(System.String)">
+            <summary>
+            Assert that a string is empty - that is equal to string.Emtpy
+            </summary>
+            <param name="aString">The string to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.ICollection,System.String,System.Object[])">
+            <summary>
+            Assert that an array, list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing ICollection</param>
+            <param name="message">The message to be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.ICollection,System.String)">
+            <summary>
+            Assert that an array, list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing ICollection</param>
+            <param name="message">The message to be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.ICollection)">
+            <summary>
+            Assert that an array,list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing ICollection</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String,System.String,System.Object[])">
+            <summary>
+            Assert that a string is not empty - that is not equal to string.Empty
+            </summary>
+            <param name="aString">The string to be tested</param>
+            <param name="message">The message to be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String,System.String)">
+            <summary>
+            Assert that a string is empty - that is equal to string.Emtpy
+            </summary>
+            <param name="aString">The string to be tested</param>
+            <param name="message">The message to be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String)">
+            <summary>
+            Assert that a string is empty - that is equal to string.Emtpy
+            </summary>
+            <param name="aString">The string to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.ICollection,System.String,System.Object[])">
+            <summary>
+            Assert that an array, list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing ICollection</param>
+            <param name="message">The message to be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.ICollection,System.String)">
+            <summary>
+            Assert that an array, list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing ICollection</param>
+            <param name="message">The message to be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.ICollection)">
+            <summary>
+            Assert that an array,list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing ICollection</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object)">
+            <summary>
+            Asserts that an object may be assigned a  value of a given Type.
+            </summary>
+            <param name="expected">The expected Type.</param>
+            <param name="actual">The object under examination</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object,System.String)">
+            <summary>
+            Asserts that an object may be assigned a  value of a given Type.
+            </summary>
+            <param name="expected">The expected Type.</param>
+            <param name="actual">The object under examination</param>
+            <param name="message">The messge to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that an object may be assigned a  value of a given Type.
+            </summary>
+            <param name="expected">The expected Type.</param>
+            <param name="actual">The object under examination</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object)">
+            <summary>
+            Asserts that an object may not be assigned a  value of a given Type.
+            </summary>
+            <param name="expected">The expected Type.</param>
+            <param name="actual">The object under examination</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object,System.String)">
+            <summary>
+            Asserts that an object may not be assigned a  value of a given Type.
+            </summary>
+            <param name="expected">The expected Type.</param>
+            <param name="actual">The object under examination</param>
+            <param name="message">The messge to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that an object may not be assigned a  value of a given Type.
+            </summary>
+            <param name="expected">The expected Type.</param>
+            <param name="actual">The object under examination</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsInstanceOfType(System.Type,System.Object)">
+            <summary>
+            Asserts that an object is an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsInstanceOfType(System.Type,System.Object,System.String)">
+            <summary>
+            Asserts that an object is an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+            <param name="message">A message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsInstanceOfType(System.Type,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that an object is an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+            <param name="message">A message to display in case of failure</param>
+            <param name="args">An array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotInstanceOfType(System.Type,System.Object)">
+            <summary>
+            Asserts that an object is not an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotInstanceOfType(System.Type,System.Object,System.String)">
+            <summary>
+            Asserts that an object is not an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+            <param name="message">A message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotInstanceOfType(System.Type,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that an object is not an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+            <param name="message">A message to display in case of failure</param>
+            <param name="args">An array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Int32,System.Int32,System.String,System.Object[])">
+            <summary>
+            Verifies that two ints are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Int32,System.Int32,System.String)">
+            <summary>
+            Verifies that two ints are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Int32,System.Int32)">
+            <summary>
+            Verifies that two ints are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Int64,System.Int64,System.String,System.Object[])">
+            <summary>
+            Verifies that two longs are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Int64,System.Int64,System.String)">
+            <summary>
+            Verifies that two longs are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Int64,System.Int64)">
+            <summary>
+            Verifies that two longs are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt32,System.UInt32,System.String,System.Object[])">
+            <summary>
+            Verifies that two uints are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt32,System.UInt32,System.String)">
+            <summary>
+            Verifies that two uints are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt32,System.UInt32)">
+            <summary>
+            Verifies that two uints are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt64,System.UInt64,System.String,System.Object[])">
+            <summary>
+            Verifies that two ulongs are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt64,System.UInt64,System.String)">
+            <summary>
+            Verifies that two ulongs are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt64,System.UInt64)">
+            <summary>
+            Verifies that two ulongs are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Decimal,System.Decimal,System.String,System.Object[])">
+            <summary>
+            Verifies that two decimals are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Decimal,System.Decimal,System.String)">
+            <summary>
+            Verifies that two decimal are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Decimal,System.Decimal)">
+            <summary>
+            Verifies that two decimals are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double,System.String,System.Object[])">
+            <summary>
+            Verifies that two doubles are equal considering a delta. If the
+            expected value is infinity then the delta value is ignored. If 
+            they are not equals then an <see cref="T:NUnit.Framework.AssertionException"/> is
+            thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="delta">The maximum acceptable difference between the
+            the expected and the actual</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double,System.String)">
+            <summary>
+            Verifies that two doubles are equal considering a delta. If the
+            expected value is infinity then the delta value is ignored. If 
+            they are not equals then an <see cref="T:NUnit.Framework.AssertionException"/> is
+            thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="delta">The maximum acceptable difference between the
+            the expected and the actual</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double)">
+            <summary>
+            Verifies that two doubles are equal considering a delta. If the
+            expected value is infinity then the delta value is ignored. If 
+            they are not equals then an <see cref="T:NUnit.Framework.AssertionException"/> is
+            thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="delta">The maximum acceptable difference between the
+            the expected and the actual</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Single,System.Single,System.Single,System.String,System.Object[])">
+            <summary>
+            Verifies that two floats are equal considering a delta. If the
+            expected value is infinity then the delta value is ignored. If 
+            they are not equals then an <see cref="T:NUnit.Framework.AssertionException"/> is
+            thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="delta">The maximum acceptable difference between the
+            the expected and the actual</param>
+            <param name="message">The message displayed upon failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Single,System.Single,System.Single,System.String)">
+            <summary>
+            Verifies that two floats are equal considering a delta. If the
+            expected value is infinity then the delta value is ignored. If 
+            they are not equals then an <see cref="T:NUnit.Framework.AssertionException"/> is
+            thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="delta">The maximum acceptable difference between the
+            the expected and the actual</param>
+            <param name="message">The message displayed upon failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Single,System.Single,System.Single)">
+            <summary>
+            Verifies that two floats are equal considering a delta. If the
+            expected value is infinity then the delta value is ignored. If 
+            they are not equals then an <see cref="T:NUnit.Framework.AssertionException"/> is
+            thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="delta">The maximum acceptable difference between the
+            the expected and the actual</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object,System.String,System.Object[])">
+            <summary>
+            Verifies that two objects are equal.  Two objects are considered
+            equal if both are null, or if both have the same value.  All
+            non-numeric types are compared by using the <c>Equals</c> method.
+            Arrays are compared by comparing each element using the same rules.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The value that is expected</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display if objects are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object,System.String)">
+            <summary>
+            Verifies that two objects are equal.  Two objects are considered
+            equal if both are null, or if both have the same value.  All
+            non-numeric types are compared by using the <c>Equals</c> method.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The value that is expected</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display if objects are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object)">
+            <summary>
+            Verifies that two objects are equal.  Two objects are considered
+            equal if both are null, or if both have the same value.  All
+            non-numeric types are compared by using the <c>Equals</c> method.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The value that is expected</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that two objects are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the two objects are the same object.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object,System.String)">
+            <summary>
+            Asserts that two objects are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the objects are the same</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object)">
+            <summary>
+            Asserts that two objects are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int32,System.Int32,System.String,System.Object[])">
+            <summary>
+            Asserts that two ints are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the two objects are the same object.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int32,System.Int32,System.String)">
+            <summary>
+            Asserts that two ints are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the objects are the same</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int32,System.Int32)">
+            <summary>
+            Asserts that two ints are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int64,System.Int64,System.String,System.Object[])">
+            <summary>
+            Asserts that two longss are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the two objects are the same object.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int64,System.Int64,System.String)">
+            <summary>
+            Asserts that two longs are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the objects are the same</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int64,System.Int64)">
+            <summary>
+            Asserts that two longs are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt32,System.UInt32,System.String,System.Object[])">
+            <summary>
+            Asserts that two uints are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the two objects are the same object.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt32,System.UInt32,System.String)">
+            <summary>
+            Asserts that two uints are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the objects are the same</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt32,System.UInt32)">
+            <summary>
+            Asserts that two uints are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt64,System.UInt64,System.String,System.Object[])">
+            <summary>
+            Asserts that two ulongs are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the two objects are the same object.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt64,System.UInt64,System.String)">
+            <summary>
+            Asserts that two ulongs are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the objects are the same</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt64,System.UInt64)">
+            <summary>
+            Asserts that two ulong are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Decimal,System.Decimal,System.String,System.Object[])">
+            <summary>
+            Asserts that two decimals are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the two objects are the same object.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Decimal,System.Decimal,System.String)">
+            <summary>
+            Asserts that two decimals are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the objects are the same</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Decimal,System.Decimal)">
+            <summary>
+            Asserts that two decimals are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Single,System.Single,System.String,System.Object[])">
+            <summary>
+            Asserts that two floats are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the two objects are the same object.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Single,System.Single,System.String)">
+            <summary>
+            Asserts that two floats are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the objects are the same</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Single,System.Single)">
+            <summary>
+            Asserts that two floats are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Double,System.Double,System.String,System.Object[])">
+            <summary>
+            Asserts that two doubles are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the two objects are the same object.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Double,System.Double,System.String)">
+            <summary>
+            Asserts that two doubles are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the objects are the same</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Double,System.Double)">
+            <summary>
+            Asserts that two doubles are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that two objects refer to the same object. If they
+            are not the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the two objects are not the same object.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object,System.String)">
+            <summary>
+            Asserts that two objects refer to the same object. If they
+            are not the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the object is null</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object)">
+            <summary>
+            Asserts that two objects refer to the same object. If they
+            are not the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that two objects do not refer to the same object. If they
+            are the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the two objects are the same object.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object,System.String)">
+            <summary>
+            Asserts that two objects do not refer to the same object. If they
+            are the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to be displayed when the objects are the same</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object)">
+            <summary>
+            Asserts that two objects do not refer to the same object. If they
+            are the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection,System.String,System.Object[])">
+            <summary>
+            Asserts that an object is contained in a list.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The list to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection,System.String)">
+            <summary>
+            Asserts that an object is contained in a list.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The list to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection)">
+            <summary>
+            Asserts that an object is contained in a list.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The list to be examined</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Fail(System.String,System.Object[])">
+            <summary>
+            Throws an <see cref="T:NUnit.Framework.AssertionException"/> with the message and arguments 
+            that are passed in. This is used by the other Assert functions. 
+            </summary>
+            <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Fail(System.String)">
+            <summary>
+            Throws an <see cref="T:NUnit.Framework.AssertionException"/> with the message that is 
+            passed in. This is used by the other Assert functions. 
+            </summary>
+            <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Fail">
+            <summary>
+            Throws an <see cref="T:NUnit.Framework.AssertionException"/>. 
+            This is used by the other Assert functions. 
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Ignore(System.String,System.Object[])">
+            <summary>
+            Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message and arguments 
+            that are passed in.  This causes the test to be reported as ignored.
+            </summary>
+            <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Ignore(System.String)">
+            <summary>
+            Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message that is 
+            passed in. This causes the test to be reported as ignored. 
+            </summary>
+            <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Ignore">
+            <summary>
+            Throws an <see cref="T:NUnit.Framework.IgnoreException"/>. 
+            This causes the test to be reported as ignored. 
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assert.DoAssert(NUnit.Framework.IAsserter)">
+            <summary>
+            NOTE: The use of asserters for extending NUnit has
+            now been replaced by the use of constraints. This
+            method is marked obsolete.
+            
+            Test the condition asserted by an asserter and throw
+            an assertion exception using provided message on failure.
+            </summary>
+            <param name="asserter">An object that implements IAsserter</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="constraint">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.Constraint,System.String)">
+            <summary>
+            Apply a constraint to an actual value, succeedingt if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="constraint">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.Constraint,System.String,System.Object[])">
+            <summary>
+            Apply a constraint to an actual value, succeedingt if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="constraint">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary> 
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display if the condition is false</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.String)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display if the condition is false</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(System.Boolean)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32,System.String)">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32)">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32,System.String)">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32)">
+            <summary>
+            Verifies that the first value is greater or equal to than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64,System.String)">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64)">
+            <summary>
+            Verifies that the first value is greater or equal to than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64,System.String)">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64)">
+            <summary>
+            Verifies that the first value is greater or equal to than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal,System.String)">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal)">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double,System.String)">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double)">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single,System.String)">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single)">
+            <summary>
+            Verifies that the first value is greater than or equal to the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="P:NUnit.Framework.Assert.Counter">
+            <summary>
+            Gets the number of assertions executed so far and 
+            resets the counter to zero.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.MessageMatch">
+            <summary>
+            Enumeration indicating how the expected message parameter is to be used
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.MessageMatch.Exact">
+            Expect an exact match
+        </member>
+        <member name="F:NUnit.Framework.MessageMatch.Contains">
+            Expect a message containing the parameter string
+        </member>
+        <member name="F:NUnit.Framework.MessageMatch.Regex">
+            Match the regular expression provided as a parameter
+        </member>
+        <member name="T:NUnit.Framework.ExpectedExceptionAttribute">
+            <summary>
+            ExpectedExceptionAttribute
+            </summary>
+            
+        </member>
+        <member name="M:NUnit.Framework.ExpectedExceptionAttribute.#ctor">
+            <summary>
+            Constructor for a non-specific exception
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.ExpectedExceptionAttribute.#ctor(System.Type)">
+            <summary>
+            Constructor for a given type of exception
+            </summary>
+            <param name="exceptionType">The type of the expected exception</param>
+        </member>
+        <member name="M:NUnit.Framework.ExpectedExceptionAttribute.#ctor(System.String)">
+            <summary>
+            Constructor for a given exception name
+            </summary>
+            <param name="exceptionName">The full name of the expected exception</param>
+        </member>
+        <member name="M:NUnit.Framework.ExpectedExceptionAttribute.#ctor(System.Type,System.String)">
+            <summary>
+            Constructor for a given type of exception and expected message text
+            </summary>
+            <param name="exceptionType">The type of the expected exception</param>
+            <param name="expectedMessage">The expected message text</param>
+        </member>
+        <member name="M:NUnit.Framework.ExpectedExceptionAttribute.#ctor(System.String,System.String)">
+            <summary>
+            Constructor for a given exception name and expected message text
+            </summary>
+            <param name="exceptionName">The full name of the expected exception</param>
+            <param name="expectedMessage">The expected messge text</param>
+        </member>
+        <member name="P:NUnit.Framework.ExpectedExceptionAttribute.ExceptionType">
+            <summary>
+            Gets or sets the expected exception type
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ExpectedExceptionAttribute.ExceptionName">
+            <summary>
+            Gets or sets the full Type name of the expected exception
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ExpectedExceptionAttribute.ExpectedMessage">
+            <summary>
+            Gets or sets the expected message text
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ExpectedExceptionAttribute.UserMessage">
+            <summary>
+            Gets or sets the user message displayed in case of failure
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ExpectedExceptionAttribute.MatchType">
+            <summary>
+             Gets or sets the type of match to be performed on the expected message
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ExpectedExceptionAttribute.Handler">
+            <summary>
+             Gets the name of a method to be used as an exception handler
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.CollectionAssert">
+            <summary>
+            A set of Assert methods operationg on one or more collections
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.Equals(System.Object,System.Object)">
+            <summary>
+            The Equals method throws an AssertionException. This is done 
+            to make sure there is no mistake by calling this function.
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.ReferenceEquals(System.Object,System.Object)">
+            <summary>
+            override the default ReferenceEquals to throw an AssertionException. This 
+            implementation makes sure there is no mistake in calling this function 
+            as part of Assert. 
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type)">
+            <summary>
+            Asserts that all items contained in collection are of the type specified by expectedType.
+            </summary>
+            <param name="collection">IEnumerable containing objects to be considered</param>
+            <param name="expectedType">System.Type that all objects in collection must be instances of</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type,System.String)">
+            <summary>
+            Asserts that all items contained in collection are of the type specified by expectedType.
+            </summary>
+            <param name="collection">IEnumerable containing objects to be considered</param>
+            <param name="expectedType">System.Type that all objects in collection must be instances of</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type,System.String,System.Object[])">
+            <summary>
+            Asserts that all items contained in collection are of the type specified by expectedType.
+            </summary>
+            <param name="collection">IEnumerable containing objects to be considered</param>
+            <param name="expectedType">System.Type that all objects in collection must be instances of</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable)">
+            <summary>
+            Asserts that all items contained in collection are not equal to null.
+            </summary>
+            <param name="collection">IEnumerable containing objects to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable,System.String)">
+            <summary>
+            Asserts that all items contained in collection are not equal to null.
+            </summary>
+            <param name="collection">IEnumerable containing objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Asserts that all items contained in collection are not equal to null.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable)">
+            <summary>
+            Ensures that every object contained in collection exists within the collection
+            once and only once.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable,System.String)">
+            <summary>
+            Ensures that every object contained in collection exists within the collection
+            once and only once.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Ensures that every object contained in collection exists within the collection
+            once and only once.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+            <summary>
+            Asserts that expected and actual are exactly equal.  The collections must have the same count, 
+            and contain the exact same objects in the same order.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)">
+            <summary>
+            Asserts that expected and actual are exactly equal.  The collections must have the same count, 
+            and contain the exact same objects in the same order.
+            If comparer is not null then it will be used to compare the objects.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+            <summary>
+            Asserts that expected and actual are exactly equal.  The collections must have the same count, 
+            and contain the exact same objects in the same order.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String)">
+            <summary>
+            Asserts that expected and actual are exactly equal.  The collections must have the same count, 
+            and contain the exact same objects in the same order.
+            If comparer is not null then it will be used to compare the objects.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Asserts that expected and actual are exactly equal.  The collections must have the same count, 
+            and contain the exact same objects in the same order.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])">
+            <summary>
+            Asserts that expected and actual are exactly equal.  The collections must have the same count, 
+            and contain the exact same objects in the same order.
+            If comparer is not null then it will be used to compare the objects.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+            <summary>
+            Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+            <summary>
+            Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+            <summary>
+            Asserts that expected and actual are not exactly equal.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)">
+            <summary>
+            Asserts that expected and actual are not exactly equal.
+            If comparer is not null then it will be used to compare the objects.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+            <summary>
+            Asserts that expected and actual are not exactly equal.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String)">
+            <summary>
+            Asserts that expected and actual are not exactly equal.
+            If comparer is not null then it will be used to compare the objects.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Asserts that expected and actual are not exactly equal.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])">
+            <summary>
+            Asserts that expected and actual are not exactly equal.
+            If comparer is not null then it will be used to compare the objects.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+            <summary>
+            Asserts that expected and actual are not equivalent.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+            <summary>
+            Asserts that expected and actual are not equivalent.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Asserts that expected and actual are not equivalent.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object)">
+            <summary>
+            Asserts that collection contains actual as an item.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="actual">Object to be found within collection</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object,System.String)">
+            <summary>
+            Asserts that collection contains actual as an item.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="actual">Object to be found within collection</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that collection contains actual as an item.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="actual">Object to be found within collection</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object)">
+            <summary>
+            Asserts that collection does not contain actual as an item.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="actual">Object that cannot exist within collection</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object,System.String)">
+            <summary>
+            Asserts that collection does not contain actual as an item.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="actual">Object that cannot exist within collection</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that collection does not contain actual as an item.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="actual">Object that cannot exist within collection</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+            <summary>
+            Asserts that superset is not a subject of subset.
+            </summary>
+            <param name="subset">The IEnumerable superset to be considered</param>
+            <param name="superset">The IEnumerable subset to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+            <summary>
+            Asserts that superset is not a subject of subset.
+            </summary>
+            <param name="subset">The IEnumerable superset to be considered</param>
+            <param name="superset">The IEnumerable subset to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Asserts that superset is not a subject of subset.
+            </summary>
+            <param name="subset">The IEnumerable superset to be considered</param>
+            <param name="superset">The IEnumerable subset to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+            <summary>
+            Asserts that superset is a subset of subset.
+            </summary>
+            <param name="subset">The IEnumerable superset to be considered</param>
+            <param name="superset">The IEnumerable subset to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+            <summary>
+            Asserts that superset is a subset of subset.
+            </summary>
+            <param name="subset">The IEnumerable superset to be considered</param>
+            <param name="superset">The IEnumerable subset to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Asserts that superset is a subset of subset.
+            </summary>
+            <param name="subset">The IEnumerable superset to be considered</param>
+            <param name="superset">The IEnumerable subset to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Assert that an array, list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+            <param name="message">The message to be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable,System.String)">
+            <summary>
+            Assert that an array, list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+            <param name="message">The message to be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable)">
+            <summary>
+            Assert that an array,list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Assert that an array, list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+            <param name="message">The message to be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable,System.String)">
+            <summary>
+            Assert that an array, list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+            <param name="message">The message to be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable)">
+            <summary>
+            Assert that an array,list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+        </member>
+        <member name="T:NUnit.Framework.AbstractAsserter">
+            <summary>
+            NOTE: The use of asserters for extending NUnit has
+            now been replaced by the use of constraints. This
+            class is marked obsolete.
+            
+            AbstractAsserter is the base class for all asserters.
+            Asserters encapsulate a condition test and generation 
+            of an AssertionException with a tailored message. They
+            are used by the Assert class as helper objects.
+            
+            User-defined asserters may be passed to the 
+            Assert.DoAssert method in order to implement 
+            extended asserts.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.IAsserter">
+            <summary>
+            NOTE: The use of asserters for extending NUnit has
+            now been replaced by the use of constraints. This
+            interface is marked obsolete.
+            
+            The interface implemented by an asserter. Asserters
+            encapsulate a condition test and generation of an
+            AssertionException with a tailored message. They
+            are used by the Assert class as helper objects.
+            
+            User-defined asserters may be passed to the
+            Assert.DoAssert method in order to implement
+            extended asserts.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.IAsserter.Test">
+            <summary>
+            Test the condition for the assertion.
+            </summary>
+            <returns>True if the test succeeds</returns>
+        </member>
+        <member name="P:NUnit.Framework.IAsserter.Message">
+            <summary>
+            Return the message giving the failure reason.
+            The return value is unspecified if no failure
+            has occured.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.AbstractAsserter.userMessage">
+            <summary>
+            The user-defined message for this asserter.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.AbstractAsserter.args">
+            <summary>
+            Arguments to use in formatting the user-defined message.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.AbstractAsserter.failureMessage">
+            <summary>
+            Our failure message object, initialized as needed
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.AbstractAsserter.#ctor(System.String,System.Object[])">
+            <summary>
+            Constructs an AbstractAsserter
+            </summary>
+            <param name="message">The message issued upon failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.AbstractAsserter.Test">
+            <summary>
+            Test method to be implemented by derived types.
+            Default always succeeds.
+            </summary>
+            <returns>True if the test succeeds</returns>
+        </member>
+        <member name="P:NUnit.Framework.AbstractAsserter.FailureMessage">
+            <summary>
+            AssertionFailureMessage object used internally
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.AbstractAsserter.Message">
+            <summary>
+            Message related to a failure. If no failure has
+            occured, the result is unspecified.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Assertion">
+            <summary>
+            The Assertion class is obsolete and has been
+            replaced by the Assert class.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.Assert(System.String,System.Boolean)">
+            <summary>
+            Asserts that a condition is true. If it isn't it throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="message">The message to display is the condition
+            is false</param>
+            <param name="condition">The evaluated condition</param>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.Assert(System.Boolean)">
+            <summary>
+            Asserts that a condition is true. If it isn't it throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.AssertEquals(System.Double,System.Double,System.Double)">
+            <summary>
+            /// Asserts that two doubles are equal concerning a delta. If the
+            expected value is infinity then the delta value is ignored.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="delta">The maximum acceptable difference between the
+            the expected and the actual</param>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.AssertEquals(System.Single,System.Single,System.Single)">
+            <summary>
+            /// Asserts that two singles are equal concerning a delta. If the
+            expected value is infinity then the delta value is ignored.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="delta">The maximum acceptable difference between the
+            the expected and the actual</param>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.AssertEquals(System.Object,System.Object)">
+            <summary>Asserts that two objects are equal. If they are not
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.</summary>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.AssertEquals(System.Int32,System.Int32)">
+            <summary>Asserts that two ints are equal. If they are not
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.</summary>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.AssertEquals(System.String,System.Int32,System.Int32)">
+            <summary>Asserts that two ints are equal. If they are not
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.</summary>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.AssertEquals(System.String,System.Double,System.Double,System.Double)">
+            <summary>Asserts that two doubles are equal concerning a delta.
+            If the expected value is infinity then the delta value is ignored.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.AssertEquals(System.String,System.Single,System.Single,System.Single)">
+            <summary>Asserts that two floats are equal concerning a delta.
+            If the expected value is infinity then the delta value is ignored.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.AssertEquals(System.String,System.Object,System.Object)">
+            <summary>
+            Asserts that two objects are equal.  Two objects are considered
+            equal if both are null, or if both have the same value.  Numeric
+            types are compared via string comparision on their contents to
+            avoid problems comparing values between different types.  All
+            non-numeric types are compared by using the <c>Equals</c> method.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.AssertNotNull(System.Object)">
+            <summary>Asserts that an object isn't null.</summary>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.AssertNotNull(System.String,System.Object)">
+            <summary>Asserts that an object isn't null.</summary>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.AssertNull(System.Object)">
+            <summary>Asserts that an object is null.</summary>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.AssertNull(System.String,System.Object)">
+            <summary>Asserts that an object is null.</summary>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.AssertSame(System.Object,System.Object)">
+            <summary>Asserts that two objects refer to the same object. If they
+            are not the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.AssertSame(System.String,System.Object,System.Object)">
+            <summary>Asserts that two objects refer to the same object. 
+            If they are not an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.Fail">
+            <summary>Fails a test with no message.</summary>
+        </member>
+        <member name="M:NUnit.Framework.Assertion.Fail(System.String)">
+            <summary>Fails a test with the given message.</summary>
+        </member>
+        <member name="T:NUnit.Framework.AssertionException">
+            <summary>
+            Thrown when an assertion failed.
+            </summary>
+            
+        </member>
+        <member name="M:NUnit.Framework.AssertionException.#ctor(System.String)">
+            <param name="message">The error message that explains 
+            the reason for the exception</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionException.#ctor(System.String,System.Exception)">
+            <param name="message">The error message that explains 
+            the reason for the exception</param>
+            <param name="inner">The exception that caused the 
+            current exception</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Serialization Constructor
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.AssertionFailureMessage">
+            <summary>
+            AssertionFailureMessage encapsulates a failure message
+            issued as a result of an Assert failure.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.AssertionFailureMessage.PreClipLength">
+            <summary>
+            Number of characters before a highlighted position before
+            clipping will occur.  Clipped text is replaced with an
+            elipsis "..."
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.AssertionFailureMessage.PostClipLength">
+            <summary>
+            Number of characters after a highlighted position before
+            clipping will occur.  Clipped text is replaced with an
+            elipsis "..."
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.AssertionFailureMessage.expectedPrefix">
+            <summary>
+            Prefix used to start an expected value line.
+            Must be same length as actualPrefix.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.AssertionFailureMessage.actualPrefix">
+            <summary>
+            Prefix used to start an actual value line.
+            Must be same length as expectedPrefix.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.#ctor(System.String,System.Object[])">
+            <summary>
+            Construct an AssertionFailureMessage with a message
+            and optional arguments.
+            </summary>
+            <param name="message"></param>
+            <param name="args"></param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.#ctor">
+            <summary>
+            Construct an empty AssertionFailureMessage
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.WriteExpectedLine(System.String)">
+            <summary>
+            Add an expected value line to the message containing
+            the text provided as an argument.
+            </summary>
+            <param name="text">Text describing what was expected.</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.WriteActualLine(System.String)">
+            <summary>
+            Add an actual value line to the message containing
+            the text provided as an argument.
+            </summary>
+            <param name="text">Text describing the actual value.</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.DisplayExpectedValue(System.Object)">
+            <summary>
+            Add an expected value line to the message containing
+            a string representation of the object provided.
+            </summary>
+            <param name="expected">An object representing the expected value</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.DisplayExpectedValue(System.Double,System.Double)">
+            <summary>
+            Add an expected value line to the message containing a double
+            and the tolerance used in making the comparison.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="tolerance">The tolerance specified in the Assert</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.DisplayActualValue(System.Object)">
+            <summary>
+            Add an actual value line to the message containing
+            a string representation of the object provided.
+            </summary>
+            <param name="actual">An object representing what was actually found</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.DisplayExpectedAndActual(System.Object,System.Object)">
+            <summary>
+            Display two lines that communicate the expected value, and the actual value
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value found</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.DisplayExpectedAndActual(System.Double,System.Double,System.Double)">
+            <summary>
+            Display two lines that communicate the expected value, the actual value and
+            the tolerance used in comparing two doubles.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value found</param>
+            <param name="tolerance">The tolerance specified in the Assert</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.DisplayPositionMarker(System.Int32)">
+            <summary>
+            Draws a marker under the expected/actual strings that highlights
+            where in the string a mismatch occurred.
+            </summary>
+            <param name="iPosition">The position of the mismatch</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.BuildStringLengthReport(System.String,System.String)">
+            <summary>
+            Reports whether the string lengths are the same or different, and
+            what the string lengths are.
+            </summary>
+            <param name="sExpected">The expected string</param>
+            <param name="sActual">The actual string value</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.DisplayDifferences(System.Object,System.Object,System.Boolean)">
+            <summary>
+            Called to create additional message lines when two objects have been 
+            found to be unequal.  If the inputs are strings, a special message is
+            rendered that can help track down where the strings are different,
+            based on differences in length, or differences in content.
+            
+            If the inputs are not strings, the ToString method of the objects
+            is used to show what is different about them.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="caseInsensitive">True if a case-insensitive comparison is being performed</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.DisplayDifferencesWithTolerance(System.Double,System.Double,System.Double)">
+            <summary>
+            Called to create additional message lines when two doubles have been 
+            found to be unequal, within the specified tolerance.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.DisplayStringDifferences(System.String,System.String,System.Boolean)">
+            <summary>
+            Constructs a message that can be displayed when the content of two
+            strings are different, but the string lengths are the same.  The
+            message will clip the strings to a reasonable length, centered
+            around the first position where they are mismatched, and draw 
+            a line marking the position of the difference to make comparison
+            quicker.
+            </summary>
+            <param name="sExpected">The expected string value</param>
+            <param name="sActual">The actual string value</param>
+            <param name="caseInsensitive">True if a case-insensitive comparison is being performed</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.DisplayArrayDifferences(System.Array,System.Array,System.Int32)">
+            <summary>
+            Display a standard message showing the differences found between 
+            two arrays that were expected to be equal.
+            </summary>
+            <param name="expected">The expected array value</param>
+            <param name="actual">The actual array value</param>
+            <param name="index">The index at which a difference was found</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.DisplayCollectionDifferences(System.Collections.ICollection,System.Collections.ICollection,System.Int32)">
+            <summary>
+            Display a standard message showing the differences found between 
+            two collections that were expected to be equal.
+            </summary>
+            <param name="expected">The expected collection value</param>
+            <param name="actual">The actual collection value</param>
+            <param name="index">The index at which a difference was found</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.GetArrayIndicesFromCollectionIndex(System.Collections.ICollection,System.Int32)">
+            <summary>
+            Get an array of indices representing the point in a collection or
+            array corresponding to a single int index into the collection.
+            </summary>
+            <param name="collection">The collection to which the indices apply</param>
+            <param name="index">Index in the collection</param>
+            <returns>Array of indices</returns>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.DisplayListElements(System.String,System.Collections.IList,System.Int32,System.Int32)">
+            <summary>
+            Displays elements from a list on a line
+            </summary>
+            <param name="label">Text to prefix the line with</param>
+            <param name="list">The list of items to display</param>
+            <param name="index">The index in the list of the first element to display</param>
+            <param name="max">The maximum number of elements to display</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.FormatObjectForDisplay(System.Object)">
+            <summary>
+            Formats an object for display in a message line
+            </summary>
+            <param name="obj">The object to be displayed</param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.InputsAreStrings(System.Object,System.Object)">
+            <summary>
+            Tests two objects to determine if they are strings.
+            </summary>
+            <param name="expected"></param>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.ClipAroundPosition(System.String,System.Int32)">
+            <summary>
+            Renders up to M characters before, and up to N characters after
+            the specified index position.  If leading or trailing text is
+            clipped, and elipses "..." is added where the missing text would
+            be.
+            
+            Clips strings to limit previous or post newline characters,
+            since these mess up the comparison
+            </summary>
+            <param name="sString"></param>
+            <param name="iPosition"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.FindMismatchPosition(System.String,System.String,System.Int32)">
+            <summary>
+            Shows the position two strings start to differ.  Comparison 
+            starts at the start index.
+            </summary>
+            <param name="sExpected"></param>
+            <param name="sActual"></param>
+            <param name="iStart"></param>
+            <returns>-1 if no mismatch found, or the index where mismatch found</returns>
+        </member>
+        <member name="M:NUnit.Framework.AssertionFailureMessage.ConvertWhitespace(System.String)">
+            <summary>
+            Turns CR, LF, or TAB into visual indicator to preserve visual marker 
+            position.   This is done by replacing the '\r' into '\\' and 'r' 
+            characters, and the '\n' into '\\' and 'n' characters, and '\t' into
+            '\\' and 't' characters.  
+            
+            Thus the single character becomes two characters for display.
+            </summary>
+            <param name="sInput"></param>
+            <returns></returns>
+        </member>
+        <member name="T:NUnit.Framework.CategoryAttribute">
+            <summary>
+            Attribute used to apply a category to a test
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.CategoryAttribute.categoryName">
+            <summary>
+            The name of the category
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.CategoryAttribute.#ctor(System.String)">
+            <summary>
+            Construct attribute for a given category
+            </summary>
+            <param name="name">The name of the category</param>
+        </member>
+        <member name="M:NUnit.Framework.CategoryAttribute.#ctor">
+            <summary>
+            Protected constructor uses the Type name as the name
+            of the category.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.CategoryAttribute.Name">
+            <summary>
+            The name of the category
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.IncludeExcludeAttribute">
+            <summary>
+            Abstract base for Attributes that are used to include tests
+            in the test run based on environmental settings.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor">
+            <summary>
+            Constructor with no included items specified, for use
+            with named property syntax.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor(System.String)">
+            <summary>
+            Constructor taking one or more included items
+            </summary>
+            <param name="include">Comma-delimited list of included items</param>
+        </member>
+        <member name="P:NUnit.Framework.IncludeExcludeAttribute.Include">
+            <summary>
+            Name of the item that is needed in order for
+            a test to run. Multiple itemss may be given,
+            separated by a comma.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.IncludeExcludeAttribute.Exclude">
+            <summary>
+            Name of the item to be excluded. Multiple items
+            may be given, separated by a comma.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.IncludeExcludeAttribute.Reason">
+            <summary>
+            The reason for including or excluding the test
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.PlatformAttribute">
+            <summary>
+            PlatformAttribute is used to mark a test fixture or an
+            individual method as applying to a particular platform only.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.PlatformAttribute.#ctor">
+            <summary>
+            Constructor with no platforms specified, for use
+            with named property syntax.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.PlatformAttribute.#ctor(System.String)">
+            <summary>
+            Constructor taking one or more platforms
+            </summary>
+            <param name="platforms">Comma-deliminted list of platforms</param>
+        </member>
+        <member name="T:NUnit.Framework.CultureAttribute">
+            <summary>
+            CultureAttribute is used to mark a test fixture or an
+            individual method as applying to a particular Culture only.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.CultureAttribute.#ctor">
+            <summary>
+            Constructor with no cultures specified, for use
+            with named property syntax.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.CultureAttribute.#ctor(System.String)">
+            <summary>
+            Constructor taking one or more cultures
+            </summary>
+            <param name="cultures">Comma-deliminted list of cultures</param>
+        </member>
+        <member name="T:NUnit.Framework.MessageWriter">
+            <summary>
+            MessageWriter is the abstract base for classes that write
+            constraint descriptions and messages in some form. The
+            class has separate methods for writing various components
+            of a message, allowing implementations to tailor the
+            presentation as needed.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.MessageWriter.#ctor">
+            <summary>
+            Construct a MessageWriter given a culture
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.MessageWriter.WriteMessageLine(System.String,System.Object[])">
+            <summary>
+            Method to write single line  message with optional args, usually
+            written to precede the general failure message.
+            </summary>
+            <param name="message">The message to be written</param>
+            <param name="args">Any arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.MessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])">
+            <summary>
+            Method to write single line  message with optional args, usually
+            written to precede the general failure message, at a givel 
+            indentation level.
+            </summary>
+            <param name="level">The indentation level of the message</param>
+            <param name="message">The message to be written</param>
+            <param name="args">Any arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.MessageWriter.DisplayDifferences(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Display Expected and Actual lines for a constraint. This
+            is called by MessageWriter's default implementation of 
+            WriteMessageTo and provides the generic two-line display. 
+            </summary>
+            <param name="constraint">The constraint that failed</param>
+        </member>
+        <member name="M:NUnit.Framework.MessageWriter.DisplayDifferences(System.Object,System.Object)">
+            <summary>
+            Display Expected and Actual lines for given values. This
+            method may be called by constraints that need more control over
+            the display of actual and expected values than is provided
+            by the default implementation.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value causing the failure</param>
+        </member>
+        <member name="M:NUnit.Framework.MessageWriter.DisplayDifferences(System.Object,System.Object,System.Object)">
+            <summary>
+            Display Expected and Actual lines for given values, including
+            a tolerance value on the Expected line.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value causing the failure</param>
+            <param name="tolerance">The tolerance within which the test was made</param>
+        </member>
+        <member name="M:NUnit.Framework.MessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)">
+            <summary>
+            Display the expected and actual string values on separate lines.
+            If the mismatch parameter is >=0, an additional line is displayed
+            line containing a caret that points to the mismatch point.
+            </summary>
+            <param name="expected">The expected string value</param>
+            <param name="actual">The actual string value</param>
+            <param name="mismatch">The point at which the strings don't match or -1</param>
+            <param name="ignoreCase">If true, case is ignored in locating the point where the strings differ</param>
+            <param name="clipping">If true, the strings should be clipped to fit the line</param>
+        </member>
+        <member name="M:NUnit.Framework.MessageWriter.WriteConnector(System.String)">
+            <summary>
+            Writes the text for a connector.
+            </summary>
+            <param name="connector">The connector.</param>
+        </member>
+        <member name="M:NUnit.Framework.MessageWriter.WritePredicate(System.String)">
+            <summary>
+            Writes the text for a predicate.
+            </summary>
+            <param name="predicate">The predicate.</param>
+        </member>
+        <member name="M:NUnit.Framework.MessageWriter.WriteExpectedValue(System.Object)">
+            <summary>
+            Writes the text for an expected value.
+            </summary>
+            <param name="expected">The expected value.</param>
+        </member>
+        <member name="M:NUnit.Framework.MessageWriter.WriteModifier(System.String)">
+            <summary>
+            Writes the text for a modifier
+            </summary>
+            <param name="modifier">The modifier.</param>
+        </member>
+        <member name="M:NUnit.Framework.MessageWriter.WriteActualValue(System.Object)">
+            <summary>
+            Writes the text for an actual value.
+            </summary>
+            <param name="actual">The actual value.</param>
+        </member>
+        <member name="M:NUnit.Framework.MessageWriter.WriteValue(System.Object)">
+            <summary>
+            Writes the text for a generalized value.
+            </summary>
+            <param name="val">The value.</param>
+        </member>
+        <member name="M:NUnit.Framework.MessageWriter.WriteCollectionElements(System.Collections.ICollection,System.Int32,System.Int32)">
+            <summary>
+            Writes the text for a collection value,
+            starting at a particular point, to a max length
+            </summary>
+            <param name="collection">The collection containing elements to write.</param>
+            <param name="start">The starting point of the elements to write</param>
+            <param name="max">The maximum number of elements to write</param>
+        </member>
+        <member name="P:NUnit.Framework.MessageWriter.MaxLineLength">
+            <summary>
+            Abstract method to get the max line length
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.MsgUtils">
+            <summary>
+            Static methods used in creating messages
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.MsgUtils.ELLIPSIS">
+            <summary>
+            Static string used when strings are clipped
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.MsgUtils.GetTypeRepresentation(System.Object)">
+            <summary>
+            Returns the representation of a type as used in NUnitLite.
+            This is the same as Type.ToString() except for arrays,
+            which are displayed with their declared sizes.
+            </summary>
+            <param name="obj"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.MsgUtils.ConvertWhitespace(System.String)">
+            <summary>
+            Converts any control characters in a string 
+            to their escaped representation.
+            </summary>
+            <param name="s">The string to be converted</param>
+            <returns>The converted string</returns>
+        </member>
+        <member name="M:NUnit.Framework.MsgUtils.GetArrayIndicesAsString(System.Int32[])">
+            <summary>
+            Return the a string representation for a set of indices into an array
+            </summary>
+            <param name="indices">Array of indices for which a string is needed</param>
+        </member>
+        <member name="M:NUnit.Framework.MsgUtils.GetArrayIndicesFromCollectionIndex(System.Collections.ICollection,System.Int32)">
+            <summary>
+            Get an array of indices representing the point in a collection or
+            array corresponding to a single int index into the collection.
+            </summary>
+            <param name="collection">The collection to which the indices apply</param>
+            <param name="index">Index in the collection</param>
+            <returns>Array of indices</returns>
+        </member>
+        <member name="M:NUnit.Framework.MsgUtils.ClipString(System.String,System.Int32,System.Int32)">
+            <summary>
+            Clip a string to a given length, starting at a particular offset, returning the clipped
+            string with ellipses representing the removed parts
+            </summary>
+            <param name="s">The string to be clipped</param>
+            <param name="maxStringLength">The maximum permitted length of the result string</param>
+            <param name="clipStart">The point at which to start clipping</param>
+            <returns>The clipped string</returns>
+        </member>
+        <member name="M:NUnit.Framework.MsgUtils.ClipExpectedAndActual(System.String@,System.String@,System.Int32,System.Int32)">
+            <summary>
+            Clip the expected and actual strings in a coordinated fashion, 
+            so that they may be displayed together.
+            </summary>
+            <param name="expected"></param>
+            <param name="actual"></param>
+            <param name="maxDisplayLength"></param>
+            <param name="mismatch"></param>
+        </member>
+        <member name="M:NUnit.Framework.MsgUtils.FindMismatchPosition(System.String,System.String,System.Int32,System.Boolean)">
+            <summary>
+            Shows the position two strings start to differ.  Comparison 
+            starts at the start index.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The actual string</param>
+            <param name="istart">The index in the strings at which comparison should start</param>
+            <param name="ignoreCase">Boolean indicating whether case should be ignored</param>
+            <returns>-1 if no mismatch found, or the index where mismatch found</returns>
+        </member>
+        <member name="T:NUnit.Framework.SetCultureAttribute">
+            <summary>
+            Summary description for SetCultureAttribute.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.PropertyAttribute">
+            <summary>
+            PropertyAttribute is used to attach information to a test as a name/value pair..
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.PropertyAttribute.propertyName">
+            <summary>
+            The property name
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.PropertyAttribute.propertyValue">
+            <summary>
+            The property value
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.Object)">
+            <summary>
+            Construct a PropertyAttribute with a name and value
+            </summary>
+            <param name="propertyName">The name of the property</param>
+            <param name="propertyValue">The property value</param>
+        </member>
+        <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.Object)">
+            <summary>
+            Constructor for use by inherited classes that use the
+            name of the type as the property name.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.PropertyAttribute.Name">
+            <summary>
+            Gets the property name
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.PropertyAttribute.Value">
+            <summary>
+            Gets the property value
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SetCultureAttribute.#ctor(System.String)">
+            <summary>
+            Construct given the name of a culture
+            </summary>
+            <param name="culture"></param>
+        </member>
+        <member name="T:NUnit.Framework.TextMessageWriter">
+            <summary>
+            TextMessageWriter writes constraint descriptions and messages
+            in displayable form as a text stream. It tailors the display
+            of individual message components to form the standard message
+            format of NUnit assertion failure messages.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.TextMessageWriter.Pfx_Expected">
+            <summary>
+            Prefix used for the expected value line of a message
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.TextMessageWriter.Pfx_Actual">
+            <summary>
+            Prefix used for the actual value line of a message
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.TextMessageWriter.PrefixLength">
+            <summary>
+            Length of a message prefix
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.#ctor">
+            <summary>
+            Construct a TextMessageWriter
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.#ctor(System.String,System.Object[])">
+            <summary>
+            Construct a TextMessageWriter, specifying a user message
+            and optional formatting arguments.
+            </summary>
+            <param name="userMessage"></param>
+            <param name="args"></param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])">
+            <summary>
+            Method to write single line  message with optional args, usually
+            written to precede the general failure message, at a givel 
+            indentation level.
+            </summary>
+            <param name="level">The indentation level of the message</param>
+            <param name="message">The message to be written</param>
+            <param name="args">Any arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.DisplayDifferences(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Display Expected and Actual lines for a constraint. This
+            is called by MessageWriter's default implementation of 
+            WriteMessageTo and provides the generic two-line display. 
+            </summary>
+            <param name="constraint">The constraint that failed</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.DisplayDifferences(System.Object,System.Object)">
+            <summary>
+            Display Expected and Actual lines for given values. This
+            method may be called by constraints that need more control over
+            the display of actual and expected values than is provided
+            by the default implementation.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value causing the failure</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.DisplayDifferences(System.Object,System.Object,System.Object)">
+            <summary>
+            Display Expected and Actual lines for given values, including
+            a tolerance value on the expected line.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value causing the failure</param>
+            <param name="tolerance">The tolerance within which the test was made</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)">
+            <summary>
+            Display the expected and actual string values on separate lines.
+            If the mismatch parameter is >=0, an additional line is displayed
+            line containing a caret that points to the mismatch point.
+            </summary>
+            <param name="expected">The expected string value</param>
+            <param name="actual">The actual string value</param>
+            <param name="mismatch">The point at which the strings don't match or -1</param>
+            <param name="ignoreCase">If true, case is ignored in string comparisons</param>
+            <param name="clipping">If true, clip the strings to fit the max line length</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteConnector(System.String)">
+            <summary>
+            Writes the text for a connector.
+            </summary>
+            <param name="connector">The connector.</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WritePredicate(System.String)">
+            <summary>
+            Writes the text for a predicate.
+            </summary>
+            <param name="predicate">The predicate.</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteModifier(System.String)">
+            <summary>
+            Write the text for a modifier.
+            </summary>
+            <param name="modifier">The modifier.</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteExpectedValue(System.Object)">
+            <summary>
+            Writes the text for an expected value.
+            </summary>
+            <param name="expected">The expected value.</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteActualValue(System.Object)">
+            <summary>
+            Writes the text for an actual value.
+            </summary>
+            <param name="actual">The actual value.</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteValue(System.Object)">
+            <summary>
+            Writes the text for a generalized value.
+            </summary>
+            <param name="val">The value.</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteCollectionElements(System.Collections.ICollection,System.Int32,System.Int32)">
+            <summary>
+            Writes the text for a collection value,
+            starting at a particular point, to a max length
+            </summary>
+            <param name="collection">The collection containing elements to write.</param>
+            <param name="start">The starting point of the elements to write</param>
+            <param name="max">The maximum number of elements to write</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteExpectedLine(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Write the generic 'Expected' line for a constraint
+            </summary>
+            <param name="constraint">The constraint that failed</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteExpectedLine(System.Object)">
+            <summary>
+            Write the generic 'Expected' line for a given value
+            </summary>
+            <param name="expected">The expected value</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteExpectedLine(System.Object,System.Object)">
+            <summary>
+            Write the generic 'Expected' line for a given value
+            and tolerance.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="tolerance">The tolerance within which the test was made</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteActualLine(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Write the generic 'Actual' line for a constraint
+            </summary>
+            <param name="constraint">The constraint for which the actual value is to be written</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteActualLine(System.Object)">
+            <summary>
+            Write the generic 'Actual' line for a given value
+            </summary>
+            <param name="actual">The actual value causing a failure</param>
+        </member>
+        <member name="P:NUnit.Framework.TextMessageWriter.MaxLineLength">
+            <summary>
+            Gets or sets the maximum line length for this writer
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.StringAssert">
+            <summary>
+            Basic Asserts on strings.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.Equals(System.Object,System.Object)">
+            <summary>
+            The Equals method throws an AssertionException. This is done 
+            to make sure there is no mistake by calling this function.
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.ReferenceEquals(System.Object,System.Object)">
+            <summary>
+            override the default ReferenceEquals to throw an AssertionException. This 
+            implementation makes sure there is no mistake in calling this function 
+            as part of Assert. 
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that a string is found within another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String,System.String)">
+            <summary>
+            Asserts that a string is found within another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String)">
+            <summary>
+            Asserts that a string is found within another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that a string starts with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String,System.String)">
+            <summary>
+            Asserts that a string starts with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String)">
+            <summary>
+            Asserts that a string starts with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that a string ends with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String,System.String)">
+            <summary>
+            Asserts that a string ends with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String)">
+            <summary>
+            Asserts that a string ends with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that two strings are equal, without regard to case.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The actual string</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String,System.String)">
+            <summary>
+            Asserts that two strings are equal, without regard to case.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The actual string</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String)">
+            <summary>
+            Asserts that two strings are equal, without regard to case.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The actual string</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that a string matches an expected regular expression pattern.
+            </summary>
+            <param name="expected">The expected expression</param>
+            <param name="actual">The actual string</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String,System.String)">
+            <summary>
+            Asserts that a string matches an expected regular expression pattern.
+            </summary>
+            <param name="expected">The expected expression</param>
+            <param name="actual">The actual string</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String)">
+            <summary>
+            Asserts that a string matches an expected regular expression pattern.
+            </summary>
+            <param name="expected">The expected expression</param>
+            <param name="actual">The actual string</param>
+        </member>
+        <member name="T:NUnit.Framework.AssertionHelper">
+            <summary>
+            AssertionHelper is an optional base class for user tests,
+            allowing the use of shorter names for constraints and
+            asserts and avoiding conflict with the definition of 
+            <see cref="T:NUnit.Framework.SyntaxHelpers.Is"/>, from which it inherits much of its
+            behavior, in certain mock object frameworks.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Object,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure. Works
+            identically to <see cref="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.Constraint)"/>
+            </summary>
+            <param name="constraint">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Object,NUnit.Framework.Constraints.Constraint,System.String)">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure. Works
+            identically to <see cref="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.Constraint,System.String)"/>
+            </summary>
+            <param name="constraint">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Object,NUnit.Framework.Constraints.Constraint,System.String,System.Object[])">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure. Works
+            identically to <see cref="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.Constraint,System.String,System.Object[])"/>
+            </summary>
+            <param name="constraint">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean,System.String,System.Object[])">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to 
+            <see cref="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])"/>.
+            </summary> 
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display if the condition is false</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean,System.String)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to 
+            <see cref="M:NUnit.Framework.Assert.That(System.Boolean,System.String)"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display if the condition is false</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to <see cref="M:NUnit.Framework.Assert.That(System.Boolean)"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Map(System.Collections.ICollection)">
+            <summary>
+            Returns a ListMapper based on a collection.
+            </summary>
+            <param name="original">The original collection</param>
+            <returns></returns>
+        </member>
+        <member name="T:NUnit.Framework.FileAssert">
+            <summary>
+            Summary description for FileAssert.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.Equals(System.Object,System.Object)">
+            <summary>
+            The Equals method throws an AssertionException. This is done 
+            to make sure there is no mistake by calling this function.
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.ReferenceEquals(System.Object,System.Object)">
+            <summary>
+            override the default ReferenceEquals to throw an AssertionException. This 
+            implementation makes sure there is no mistake in calling this function 
+            as part of Assert. 
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.#ctor">
+            <summary>
+            We don't actually want any instances of this object, but some people
+            like to inherit from it to add other static methods. Hence, the
+            protected constructor disallows any instances of this object. 
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])">
+            <summary>
+            Verifies that two Streams are equal.  Two Streams are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected Stream</param>
+            <param name="actual">The actual Stream</param>
+            <param name="message">The message to display if Streams are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream,System.String)">
+            <summary>
+            Verifies that two Streams are equal.  Two Streams are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected Stream</param>
+            <param name="actual">The actual Stream</param>
+            <param name="message">The message to display if objects are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream)">
+            <summary>
+            Verifies that two Streams are equal.  Two Streams are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected Stream</param>
+            <param name="actual">The actual Stream</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])">
+            <summary>
+            Verifies that two files are equal.  Two files are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A file containing the value that is expected</param>
+            <param name="actual">A file containing the actual value</param>
+            <param name="message">The message to display if Streams are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo,System.String)">
+            <summary>
+            Verifies that two files are equal.  Two files are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A file containing the value that is expected</param>
+            <param name="actual">A file containing the actual value</param>
+            <param name="message">The message to display if objects are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo)">
+            <summary>
+            Verifies that two files are equal.  Two files are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A file containing the value that is expected</param>
+            <param name="actual">A file containing the actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Verifies that two files are equal.  Two files are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The path to a file containing the value that is expected</param>
+            <param name="actual">The path to a file containing the actual value</param>
+            <param name="message">The message to display if Streams are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String,System.String)">
+            <summary>
+            Verifies that two files are equal.  Two files are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The path to a file containing the value that is expected</param>
+            <param name="actual">The path to a file containing the actual value</param>
+            <param name="message">The message to display if objects are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String)">
+            <summary>
+            Verifies that two files are equal.  Two files are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The path to a file containing the value that is expected</param>
+            <param name="actual">The path to a file containing the actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])">
+            <summary>
+            Asserts that two Streams are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected Stream</param>
+            <param name="actual">The actual Stream</param>
+            <param name="message">The message to be displayed when the two Stream are the same.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream,System.String)">
+            <summary>
+            Asserts that two Streams are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected Stream</param>
+            <param name="actual">The actual Stream</param>
+            <param name="message">The message to be displayed when the Streams are the same.</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream)">
+            <summary>
+            Asserts that two Streams are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected Stream</param>
+            <param name="actual">The actual Stream</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])">
+            <summary>
+            Asserts that two files are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A file containing the value that is expected</param>
+            <param name="actual">A file containing the actual value</param>
+            <param name="message">The message to display if Streams are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo,System.String)">
+            <summary>
+            Asserts that two files are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A file containing the value that is expected</param>
+            <param name="actual">A file containing the actual value</param>
+            <param name="message">The message to display if objects are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo)">
+            <summary>
+            Asserts that two files are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A file containing the value that is expected</param>
+            <param name="actual">A file containing the actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that two files are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The path to a file containing the value that is expected</param>
+            <param name="actual">The path to a file containing the actual value</param>
+            <param name="message">The message to display if Streams are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String,System.String)">
+            <summary>
+            Asserts that two files are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The path to a file containing the value that is expected</param>
+            <param name="actual">The path to a file containing the actual value</param>
+            <param name="message">The message to display if objects are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String)">
+            <summary>
+            Asserts that two files are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The path to a file containing the value that is expected</param>
+            <param name="actual">The path to a file containing the actual value</param>
+        </member>
+        <member name="T:NUnit.Framework.IgnoreException">
+            <summary>
+            Thrown when an assertion failed.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String)">
+            <param name="message"></param>
+        </member>
+        <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String,System.Exception)">
+            <param name="message">The error message that explains 
+            the reason for the exception</param>
+            <param name="inner">The exception that caused the 
+            current exception</param>
+        </member>
+        <member name="M:NUnit.Framework.IgnoreException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Serialization Constructor
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.GlobalSettings">
+            <summary>
+            GlobalSettings is a place for setting default values used
+            by the framework in performing asserts.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.GlobalSettings.DefaultFloatingPointTolerance">
+            <summary>
+            Default tolerance for floating point equality
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TestCase">
+            <summary>
+            Obsolete class, formerly used to identify tests through
+            inheritance. Avoid using this class for new tests.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.TestCase.SetUp">
+            <summary>
+            Method called immediately before running the test.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.TestCase.TearDown">
+            <summary>
+            Method Called immediately after running the test. It is
+            guaranteed to be called, even if an exception is thrown. 
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.SetUpAttribute">
+            <summary>
+            Attribute used to mark a class that contains one-time SetUp 
+            and/or TearDown methods that apply to all the tests in a
+            namespace or an assembly.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.SetUpFixtureAttribute">
+            <summary>
+            SetUpFixtureAttribute is used to identify a SetUpFixture
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.SuiteAttribute">
+            <summary>
+            Attribute used to mark a static (shared in VB) property
+            that returns a list of tests.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TearDownAttribute">
+            <summary>
+            Attribute used to identify a method that is called 
+            immediately after each test is run. The method is 
+            guaranteed to be called, even if an exception is thrown.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TestAttribute">
+            <summary>
+            Adding this attribute to a method within a <seealso cref="T:NUnit.Framework.TestFixtureAttribute"/> 
+            class makes the method callable from the NUnit test runner. There is a property 
+            called Description which is optional which you can provide a more detailed test
+            description. This class cannot be inherited.
+            </summary>
+            
+            <example>
+            [TestFixture]
+            public class Fixture
+            {
+              [Test]
+              public void MethodToTest()
+              {}
+              
+              [Test(Description = "more detailed description")]
+              publc void TestDescriptionMethod()
+              {}
+            }
+            </example>
+            
+        </member>
+        <member name="P:NUnit.Framework.TestAttribute.Description">
+            <summary>
+            Descriptive text for this test
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TestFixtureAttribute">
+            <example>
+            [TestFixture]
+            public class ExampleClass 
+            {}
+            </example>
+        </member>
+        <member name="P:NUnit.Framework.TestFixtureAttribute.Description">
+            <summary>
+            Descriptive text for this fixture
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TestFixtureSetUpAttribute">
+            <summary>
+            Attribute used to identify a method that is 
+            called before any tests in a fixture are run.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TestFixtureTearDownAttribute">
+            <summary>
+            Attribute used to identify a method that is called after
+            all the tests in a fixture have run. The method is 
+            guaranteed to be called, even if an exception is thrown.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.IgnoreAttribute">
+            <summary>
+            Attribute used to mark a test that is to be ignored.
+            Ignored tests result in a warning message when the
+            tests are run.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.IgnoreAttribute.#ctor">
+            <summary>
+            Constructs the attribute without giving a reason 
+            for ignoring the test.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.IgnoreAttribute.#ctor(System.String)">
+            <summary>
+            Constructs the attribute giving a reason for ignoring the test
+            </summary>
+            <param name="reason">The reason for ignoring the test</param>
+        </member>
+        <member name="P:NUnit.Framework.IgnoreAttribute.Reason">
+            <summary>
+            The reason for ignoring a test
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.ExplicitAttribute">
+            <summary>
+            ExplicitAttribute marks a test or test fixture so that it will
+            only be run if explicitly executed from the gui or command line
+            or if it is included by use of a filter. The test will not be
+            run simply because an enclosing suite is run.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.ExplicitAttribute.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.ExplicitAttribute.#ctor(System.String)">
+            <summary>
+            Constructor with a reason
+            </summary>
+            <param name="reason">The reason test is marked explicit</param>
+        </member>
+        <member name="P:NUnit.Framework.ExplicitAttribute.Reason">
+            <summary>
+            The reason test is marked explicit
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.DescriptionAttribute">
+            <summary>
+            Attribute used to provide descriptive text about a 
+            test case or fixture.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.DescriptionAttribute.#ctor(System.String)">
+            <summary>
+            Construct the attribute
+            </summary>
+            <param name="description">Text describing the test</param>
+        </member>
+        <member name="P:NUnit.Framework.DescriptionAttribute.Description">
+            <summary>
+            Gets the test description
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.IExpectException">
+            <summary>
+            Interface implemented by a user fixture in order to
+            validate any expected exceptions. It is only called
+            for test methods marked with the ExpectedException
+            attribute.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.IExpectException.HandleException(System.Exception)">
+            <summary>
+            Method to handle an expected exception
+            </summary>
+            <param name="ex">The exception to be handled</param>
+        </member>
+    </members>
+</doc>

BIN
lib/NUnit/nunit.mocks.dll


BIN
lib/NUnit/nunit.uikit.dll


BIN
lib/NUnit/nunit.util.dll


+ 505 - 0
lib/Npgsql/LICENSE.txt

@@ -0,0 +1,505 @@
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+
+

BIN
lib/Npgsql/mono-1.0/Npgsql.dll


BIN
lib/Npgsql/mono-2.0/Npgsql.dll


+ 25 - 0
lib/Npgsql/net-1.1/Mono.Security.Protocol.Tls.license

@@ -0,0 +1,25 @@
+2. Transport Security Layer (TLS) sources license
+-- --------- -------- ----- ----  ------- -------
+
+The MIT License
+
+Copyright (c) 2003 Carlos Guzmán Álvarez
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"), 
+to deal in the Software without restriction, including without limitation 
+the rights to use, copy, modify, merge, publish, distribute, sublicense, 
+and/or sell copies of the Software, and to permit persons to whom the 
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included 
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
+THE USE OR OTHER DEALINGS IN THE SOFTWARE.

BIN
lib/Npgsql/net-1.1/Mono.Security.dll


BIN
lib/Npgsql/net-1.1/Npgsql.dll


+ 2873 - 0
lib/Npgsql/net-1.1/Npgsql.xml

@@ -0,0 +1,2873 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Npgsql</name>
+    </assembly>
+    <members>
+        <member name="M:Npgsql.HashAlgorithm.#ctor">
+            <summary>
+            Called from constructor of derived class.
+            </summary>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.Finalize">
+            <summary>
+            Finalizer for HashAlgorithm
+            </summary>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.ComputeHash(System.Byte[])">
+            <summary>
+            Computes the entire hash of all the bytes in the byte array.
+            </summary>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.HashCore(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            When overridden in a derived class, drives the hashing function.
+            </summary>
+            <param name="rgb"></param>
+            <param name="start"></param>
+            <param name="size"></param>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.HashFinal">
+            <summary>
+            When overridden in a derived class, this pads and hashes whatever data might be left in the buffers and then returns the hash created.
+            </summary>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.Initialize">
+            <summary>
+            When overridden in a derived class, initializes the object to prepare for hashing.
+            </summary>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Used for stream chaining.  Computes hash as data passes through it.
+            </summary>
+            <param name="inputBuffer">The buffer from which to grab the data to be copied.</param>
+            <param name="inputOffset">The offset into the input buffer to start reading at.</param>
+            <param name="inputCount">The number of bytes to be copied.</param>
+            <param name="outputBuffer">The buffer to write the copied data to.</param>
+            <param name="outputOffset">At what point in the outputBuffer to write the data at.</param>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.TransformFinalBlock(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Used for stream chaining.  Computes hash as data passes through it.  Finishes off the hash.
+            </summary>
+            <param name="inputBuffer">The buffer from which to grab the data to be copied.</param>
+            <param name="inputOffset">The offset into the input buffer to start reading at.</param>
+            <param name="inputCount">The number of bytes to be copied.</param>
+        </member>
+        <member name="P:Npgsql.HashAlgorithm.CanTransformMultipleBlocks">
+            <summary>
+            Get whether or not the hash can transform multiple blocks at a time.
+            Note: MUST be overriden if descendant can transform multiple block
+            on a single call!
+            </summary>
+        </member>
+        <member name="P:Npgsql.HashAlgorithm.Hash">
+            <summary>
+            Gets the previously computed hash.
+            </summary>
+        </member>
+        <member name="P:Npgsql.HashAlgorithm.HashSize">
+            <summary>
+            Returns the size in bits of the hash.
+            </summary>
+        </member>
+        <member name="P:Npgsql.HashAlgorithm.InputBlockSize">
+            <summary>
+            Must be overriden if not 1
+            </summary>
+        </member>
+        <member name="P:Npgsql.HashAlgorithm.OutputBlockSize">
+            <summary>
+            Must be overriden if not 1
+            </summary>
+        </member>
+        <member name="T:Npgsql.MD5">
+            <summary>
+            Common base class for all derived MD5 implementations.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5.#ctor">
+            <summary>
+            Called from constructor of derived class.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5.Create">
+            <summary>
+            Creates the default derived class.
+            </summary>
+        </member>
+        <member name="T:Npgsql.MD5CryptoServiceProvider">
+            <summary>
+            C# implementation of the MD5 cryptographic hash function.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.#ctor">
+            <summary>
+            Creates a new MD5CryptoServiceProvider.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.HashCore(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Drives the hashing function.
+            </summary>
+            <param name="rgb">Byte array containing the data to hash.</param>
+            <param name="start">Where in the input buffer to start.</param>
+            <param name="size">Size in bytes of the data in the buffer to hash.</param>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.HashFinal">
+            <summary>
+            This finalizes the hash.  Takes the data from the chaining variables and returns it.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.Initialize">
+            <summary>
+            Resets the class after use.  Called automatically after hashing is done.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.ProcessBlock(System.Byte[],System.Int32)">
+            <summary>
+            This is the meat of the hash function.  It is what processes each block one at a time.
+            </summary>
+            <param name="inputBuffer">Byte array to process data from.</param>
+            <param name="inputOffset">Where in the byte array to start processing.</param>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.ProcessFinalBlock(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Pads and then processes the final block.
+            </summary>
+            <param name="inputBuffer">Buffer to grab data from.</param>
+            <param name="inputOffset">Position in buffer in bytes to get data from.</param>
+            <param name="inputCount">How much data in bytes in the buffer to use.</param>
+        </member>
+        <member name="T:Npgsql.NpgsqlAsciiRow">
+            <summary>
+            This class represents the AsciiRow (version 2) and DataRow (version 3+)
+            message sent from the PostgreSQL server.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlRow">
+            <summary>
+            This is the abstract base class for NpgsqlAsciiRow and NpgsqlBinaryRow.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlRow.Item(System.Int32)">
+            <summary>
+            Provide access to the fields in this row.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlBackEndKeyData">
+            <summary>
+            This class represents a BackEndKeyData message received
+            from PostgreSQL
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlBinaryRow">
+            <summary>
+            This class represents the BinaryRow message sent from  the PostgreSQL
+            server.  This is unused as of protocol version 3.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlBind">
+            <summary>
+            This class represents the Bind message sent to PostgreSQL
+            server.
+            </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlCancelRequest">
+            <summary>
+            This class represents the CancelRequest message sent to PostgreSQL
+            server.
+            </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlState">
+            <summary> This class represents the base class for the state pattern design pattern
+             implementation.
+             </summary>
+            
+        </member>
+        <member name="M:Npgsql.NpgsqlState.ChangeState(Npgsql.NpgsqlConnector,Npgsql.NpgsqlState)">
+            <summary>
+            This method is used by the states to change the state of the context.
+             </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlState.ProcessBackendResponses(Npgsql.NpgsqlConnector)">
+            <summary>
+             This method is responsible to handle all protocol messages sent from the backend.
+             It holds all the logic to do it.
+             To exchange data, it uses a Mediator object from which it reads/writes information
+             to handle backend requests.
+             </summary>
+            
+        </member>
+        <member name="M:Npgsql.NpgsqlClosedState.ResolveIPHost(System.String)">
+            <summary>
+            Resolve a host name or IP address.
+            This is needed because if you call Dns.Resolve() with an IP address, it will attempt
+            to resolve it as a host name, when it should just convert it to an IP address.
+            </summary>
+            <param name="HostName"></param>
+        </member>
+        <member name="T:Npgsql.NpgsqlCommand">
+            <summary>
+            Represents a SQL statement or function (stored procedure) to execute
+            against a PostgreSQL database. This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class with the text of the query.
+            </summary>
+            <param name="cmdText">The text of the query.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String,Npgsql.NpgsqlConnection)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class with the text of the query and a <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>.
+            </summary>
+            <param name="cmdText">The text of the query.</param>
+            <param name="connection">A <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> that represents the connection to a PostgreSQL server.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String,Npgsql.NpgsqlConnection,Npgsql.NpgsqlTransaction)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class with the text of the query, a <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>, and the <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>.
+            </summary>
+            <param name="cmdText">The text of the query.</param>
+            <param name="connection">A <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> that represents the connection to a PostgreSQL server.</param>
+            <param name="transaction">The <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see> in which the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> executes.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String,Npgsql.NpgsqlConnector)">
+            <summary>
+            Used to execute internal commands.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.Cancel">
+            <summary>
+            Attempts to cancel the execution of a <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>.
+            </summary>
+            <remarks>This Method isn't implemented yet.</remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.System#ICloneable#Clone">
+            <summary>
+            Create a new command based on this one.
+            </summary>
+            <returns>A new NpgsqlCommand object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.Clone">
+            <summary>
+            Create a new connection based on this one.
+            </summary>
+            <returns>A new NpgsqlConnection object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.System#Data#IDbCommand#CreateParameter">
+            <summary>
+            Creates a new instance of an <see cref="T:System.Data.IDbDataParameter">IDbDataParameter</see> object.
+            </summary>
+            <returns>An <see cref="T:System.Data.IDbDataParameter">IDbDataParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.CreateParameter">
+            <summary>
+            Creates a new instance of a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.
+            </summary>
+            <returns>A <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.ExecuteNonQuery">
+            <summary>
+            Executes a SQL statement against the connection and returns the number of rows affected.
+            </summary>
+            <returns>The number of rows affected.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.System#Data#IDbCommand#ExecuteReader">
+            <summary>
+            Sends the <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> to
+            the <see cref="T:Npgsql.NpgsqlConnection">Connection</see> and builds a
+            <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see>.
+            </summary>
+            <returns>A <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.System#Data#IDbCommand#ExecuteReader(System.Data.CommandBehavior)">
+            <summary>
+            Sends the <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> to
+            the <see cref="T:Npgsql.NpgsqlConnection">Connection</see> and builds a
+            <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see>
+            using one of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.
+            </summary>
+            <param name="cb">One of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.</param>
+            <returns>A <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.ExecuteReader">
+            <summary>
+            Sends the <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> to
+            the <see cref="T:Npgsql.NpgsqlConnection">Connection</see> and builds a
+            <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see>.
+            </summary>
+            <returns>A <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.ExecuteReader(System.Data.CommandBehavior)">
+            <summary>
+            Sends the <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> to
+            the <see cref="T:Npgsql.NpgsqlConnection">Connection</see> and builds a
+            <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see>
+            using one of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.
+            </summary>
+            <param name="cb">One of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.</param>
+            <returns>A <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see> object.</returns>
+            <remarks>Currently the CommandBehavior parameter is ignored.</remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.BindParameters">
+            <summary>
+             This method binds the parameters from parameters collection to the bind
+             message.
+             </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.ExecuteScalar">
+            <summary>
+            Executes the query, and returns the first column of the first row
+            in the result set returned by the query. Extra columns or rows are ignored.
+            </summary>
+            <returns>The first column of the first row in the result set,
+            or a null reference if the result set is empty.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.Prepare">
+            <summary>
+            Creates a prepared version of the command on a PostgreSQL server.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.CheckConnectionState">
+            <summary>
+             This method checks the connection state to see if the connection
+             is set or it is open. If one of this conditions is not met, throws
+             an InvalidOperationException
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.GetCommandText">
+            <summary>
+            This method substitutes the <see cref="P:Npgsql.NpgsqlCommand.Parameters">Parameters</see>, if exist, in the command
+            to their actual values.
+            The parameter name format is <b>:ParameterName</b>.
+            </summary>
+            <returns>A version of <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> with the <see cref="P:Npgsql.NpgsqlCommand.Parameters">Parameters</see> inserted.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.ProcessRefcursorFunctionReturn(System.String)">
+            <summary>
+             This methods takes a string with a function call witch returns a refcursor or a set of
+             refcursor. It will return the names of the open cursors/portals which will hold
+             results. In turn, it returns the string which is needed to get the data of this cursors
+             in form of one resultset for each cursor open. This way, clients don't need to do anything
+             else besides calling function normally to get results in this way.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.CommandText">
+            <summary>
+            Gets or sets the SQL statement or function (stored procedure) to execute at the data source.
+            </summary>
+            <value>The Transact-SQL statement or stored procedure to execute. The default is an empty string.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.CommandTimeout">
+            <summary>
+            Gets or sets the wait time before terminating the attempt
+            to execute a command and generating an error.
+            </summary>
+            <value>The time (in seconds) to wait for the command to execute.
+            The default is 20 seconds.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.CommandType">
+            <summary>
+            Gets or sets a value indicating how the
+            <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> property is to be interpreted.
+            </summary>
+            <value>One of the <see cref="T:System.Data.CommandType">CommandType</see> values. The default is <see cref="T:System.Data.CommandType">CommandType.Text</see>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.Connection">
+            <summary>
+            Gets or sets the <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>
+            used by this instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>.
+            </summary>
+            <value>The connection to a data source. The default value is a null reference.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.Parameters">
+            <summary>
+            Gets the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see>.
+            </summary>
+            <value>The parameters of the SQL statement or function (stored procedure). The default is an empty collection.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.Transaction">
+            <summary>
+            Gets or sets the <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>
+            within which the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> executes.
+            </summary>
+            <value>The <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>.
+            The default value is a null reference.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.UpdatedRowSource">
+            <summary>
+            Gets or sets how command results are applied to the <see cref="T:System.Data.DataRow">DataRow</see>
+            when used by the <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)">Update</see>
+            method of the <see cref="T:System.Data.Common.DbDataAdapter">DbDataAdapter</see>.
+            </summary>
+            <value>One of the <see cref="T:System.Data.UpdateRowSource">UpdateRowSource</see> values.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.LastInsertedOID">
+            <summary>
+            Returns oid of inserted row. This is only updated when using executenonQuery and when command inserts just a single row. If table is created without oids, this will always be 0.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlCommandBuilder">
+            <summary>
+             This class is responsible to create database commands for automatic insert, update and delete operations.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommandBuilder.DeriveParameters(Npgsql.NpgsqlCommand)">
+            <summary>
+            
+             This method is reponsible to derive the command parameter list with values obtained from function definition. 
+             It clears the Parameters collection of command. Also, if there is any parameter type which is not supported by Npgsql, an InvalidOperationException will be thrown.
+             Parameters name will be parameter1, parameter2, ...
+             For while, only parameter name and NpgsqlDbType are obtained.
+            </summary>
+             <param name="command">NpgsqlCommand whose function parameters will be obtained.</param>
+        </member>
+        <member name="T:Npgsql.NoticeEventHandler">
+            <summary>
+            Represents the method that handles the <see cref="E:Npgsql.NpgsqlConnection.Notification">Notice</see> events.
+            </summary>
+            <param name="e">A <see cref="T:Npgsql.NpgsqlNoticeEventArgs">NpgsqlNoticeEventArgs</see> that contains the event data.</param>
+        </member>
+        <member name="T:Npgsql.NotificationEventHandler">
+            <summary>
+            Represents the method that handles the <see cref="E:Npgsql.NpgsqlConnection.Notification">Notification</see> events.
+            </summary>
+            <param name="sender">The source of the event.</param>
+            <param name="e">A <see cref="T:Npgsql.NpgsqlNotificationEventArgs">NpgsqlNotificationEventArgs</see> that contains the event data.</param>
+        </member>
+        <member name="T:Npgsql.NpgsqlConnection">
+            <summary>
+            This class represents a connection to a
+            PostgreSQL server.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.#ctor">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> class.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> class
+            and sets the <see cref="P:Npgsql.NpgsqlConnection.ConnectionString">ConnectionString</see>.
+            </summary>
+            <param name="ConnectionString">The connection used to open the PostgreSQL database.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.System#Data#IDbConnection#BeginTransaction">
+            <summary>
+            Begins a database transaction.
+            </summary>
+            <returns>An <see cref="T:System.Data.IDbTransaction">IDbTransaction</see>
+            object representing the new transaction.</returns>
+            <remarks>
+            Currently there's no support for nested transactions.
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.System#Data#IDbConnection#BeginTransaction(System.Data.IsolationLevel)">
+            <summary>
+            Begins a database transaction with the specified isolation level.
+            </summary>
+            <param name="level">The <see cref="T:System.Data.IsolationLevel">isolation level</see> under which the transaction should run.</param>
+            <returns>An <see cref="T:System.Data.IDbTransaction">IDbTransaction</see>
+            object representing the new transaction.</returns>
+            <remarks>
+            Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend.
+            There's no support for nested transactions.
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.BeginTransaction">
+            <summary>
+            Begins a database transaction.
+            </summary>
+            <returns>A <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>
+            object representing the new transaction.</returns>
+            <remarks>
+            Currently there's no support for nested transactions.
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.BeginTransaction(System.Data.IsolationLevel)">
+            <summary>
+            Begins a database transaction with the specified isolation level.
+            </summary>
+            <param name="level">The <see cref="T:System.Data.IsolationLevel">isolation level</see> under which the transaction should run.</param>
+            <returns>A <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>
+            object representing the new transaction.</returns>
+            <remarks>
+            Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend.
+            There's no support for nested transactions.
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.Open">
+            <summary>
+            Opens a database connection with the property settings specified by the
+            <see cref="P:Npgsql.NpgsqlConnection.ConnectionString">ConnectionString</see>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.ChangeDatabase(System.String)">
+            <summary>
+            This method changes the current database by disconnecting from the actual
+            database and connecting to the specified.
+            </summary>
+            <param name="dbName">The name of the database to use in place of the current database.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.Close">
+            <summary>
+            Releases the connection to the database.  If the connection is pooled, it will be
+            made available for re-use.  If it is non-pooled, the actual connection will be shutdown.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.System#Data#IDbConnection#CreateCommand">
+            <summary>
+            Creates and returns a <see cref="T:System.Data.IDbCommand">IDbCommand</see>
+            object associated with the <see cref="T:System.Data.IDbConnection">IDbConnection</see>.
+            </summary>
+            <returns>A <see cref="T:System.Data.IDbCommand">IDbCommand</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.CreateCommand">
+            <summary>
+            Creates and returns a <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>
+            object associated with the <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>.
+            </summary>
+            <returns>A <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.Dispose(System.Boolean)">
+            <summary>
+            Releases all resources used by the
+            <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>.
+            </summary>
+            <param name="disposing"><b>true</b> when called from Dispose();
+            <b>false</b> when being called from the finalizer.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.System#ICloneable#Clone">
+            <summary>
+            Create a new connection based on this one.
+            </summary>
+            <returns>A new NpgsqlConnection object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.Clone">
+            <summary>
+            Create a new connection based on this one.
+            </summary>
+            <returns>A new NpgsqlConnection object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.DefaultCertificateSelectionCallback(System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)">
+            <summary>
+            Default SSL CertificateSelectionCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.DefaultCertificateValidationCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[])">
+            <summary>
+            Default SSL CertificateValidationCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.DefaultPrivateKeySelectionCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.String)">
+            <summary>
+            Default SSL PrivateKeySelectionCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.LogConnectionString">
+            <summary>
+            Write each key/value pair in the connection string to the log.
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "M:Npgsql.NpgsqlConnection.GetSchema" -->
+        <member name="M:Npgsql.NpgsqlConnection.GetSchema(System.String)">
+            <summary>
+            Returns the schema collection specified by the collection name.
+            </summary>
+            <param name="collectionName">The collection name.</param>
+            <returns>The collection specified.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.GetSchema(System.String,System.String[])">
+            <summary>
+            Returns the schema collection specified by the collection name filtered by the restrictions.
+            </summary>
+            <param name="collectionName">The collection name.</param>
+            <param name="restrictions">
+            The restriction values to filter the results.  A description of the restrictions is contained
+            in the Restrictions collection.
+            </param>
+            <returns>The collection specified.</returns>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnection.Notice">
+            <summary>
+            Occurs on NoticeResponses from the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnection.Notification">
+            <summary>
+            Occurs on NotificationResponses from the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnection.CertificateSelectionCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnection.CertificateValidationCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.CertificateValidationCallback delegate.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnection.PrivateKeySelectionCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate.
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "P:Npgsql.NpgsqlConnection.ConnectionString" -->
+        <member name="P:Npgsql.NpgsqlConnection.Host">
+            <summary>
+            Backend server host name.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.Port">
+            <summary>
+            Backend server port.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.SSL">
+            <summary>
+            If true, the connection will attempt to use SSL.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.ConnectionTimeout">
+            <summary>
+            Gets the time to wait while trying to establish a connection
+            before terminating the attempt and generating an error.
+            </summary>
+            <value>The time (in seconds) to wait for a connection to open. The default value is 15 seconds.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.ConnectionLifeTime">
+            <summary>
+            Gets the time to wait before closing unused connections in the pool if the count
+            of all connections exeeds MinPoolSize.
+            </summary>
+            <remarks>
+            If connection pool contains unused connections for ConnectionLifeTime seconds,
+            the half of them will be closed. If there will be unused connections in a second
+            later then again the half of them will be closed and so on.
+            This strategy provide smooth change of connection count in the pool.
+            </remarks>
+            <value>The time (in seconds) to wait. The default value is 15 seconds.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.Database">
+            <summary>
+             Gets the name of the current database or the database to be used after a connection is opened.
+             </summary>
+             <value>The name of the current database or the name of the database to be
+             used after a connection is opened. The default value is the empty string.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.SyncNotification">
+            <summary>
+            Gets flag indicating if we are using Synchronous notification or not.
+            The default value is false.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.State">
+            <summary>
+            Gets the current state of the connection.
+            </summary>
+            <value>A bitwise combination of the <see cref="T:System.Data.ConnectionState">ConnectionState</see> values. The default is <b>Closed</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.ServerVersion">
+            <summary>
+            Version of the PostgreSQL backend.
+            This can only be called when there is an active connection.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.BackendProtocolVersion">
+            <summary>
+            Protocol version in use.
+            This can only be called when there is an active connection.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.Connector">
+            <summary>
+            The connector object connected to the backend.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.ConnectionStringValues">
+            <summary>
+            Gets the NpgsqlConnectionString containing the parsed connection string values.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.UserName">
+            <summary>
+            User name.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.Password">
+            <summary>
+            Password.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.Pooling">
+            <summary>
+            Determine if connection pooling will be used for this connection.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlConnectionString">
+            <summary>
+            Represents a connection string.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.Clone">
+            <summary>
+            Return an exact copy of this NpgsqlConnectionString.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ParseConnectionString(System.String)">
+            <summary>
+            This method parses a connection string and returns a new NpgsqlConnectionString object.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.Contains(System.String)">
+            <summary>
+            Report whether a value with the provided key name exists in this connection string.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToString">
+            <summary>
+            Return a clean string representation of this connection string.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToString(System.String)">
+            <summary>
+            Return a string value from the current connection string, even if the
+            given key is not in the string or if the value is null.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToString(System.String,System.String)">
+            <summary>
+            Return a string value from the current connection string, even if the
+            given key is not in the string or if the value is null.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToInt32(System.String)">
+            <summary>
+            Return an integer value from the current connection string, even if the
+            given key is not in the string or if the value is null.
+            Throw an appropriate exception if the value cannot be coerced to an integer.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToInt32(System.String,System.Int32,System.Int32)">
+            <summary>
+            Return an integer value from the current connection string, even if the
+            given key is not in the string or if the value is null.
+            Throw an appropriate exception if the value cannot be coerced to an integer.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToInt32(System.String,System.Int32)">
+            <summary>
+            Return an integer value from the current connection string, even if the
+            given key is not in the string or if the value is null.
+            Throw an appropriate exception if the value cannot be coerced to an integer.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToInt32(System.String,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Return an integer value from the current connection string, even if the
+            given key is not in the string.
+            Throw an appropriate exception if the value cannot be coerced to an integer.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToBool(System.String)">
+            <summary>
+            Return a boolean value from the current connection string, even if the
+            given key is not in the string.
+            Throw an appropriate exception if the value is not recognized as a boolean.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToBool(System.String,System.Boolean)">
+            <summary>
+            Return a boolean value from the current connection string, even if the
+            given key is not in the string.
+            Throw an appropriate exception if the value is not recognized as a boolean.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToProtocolVersion(System.String)">
+            <summary>
+            Return a ProtocolVersion from the current connection string, even if the
+            given key is not in the string.
+            Throw an appropriate exception if the value is not recognized as
+            integer 2 or 3.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToSslMode(System.String,Npgsql.SslMode)">
+            <summary>
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnectionString.Item(System.String)">
+            <summary>
+            Case insensative accessor for indivual connection string values.
+            </summary>
+        </member>
+        <member name="T:Npgsql.ConnectionStringKeys">
+            <summary>
+            Know connection string keys.
+            </summary>
+        </member>
+        <member name="T:Npgsql.ConnectionStringDefaults">
+            <summary>
+            Connection string default values.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlConnector">
+            <summary>
+            !!! Helper class, for compilation only.
+            Connector implements the logic for the Connection Objects to
+            access the physical connection to the database, and isolate
+            the application developer from connection pooling internals.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.#ctor(Npgsql.NpgsqlConnectionString,System.Boolean,System.Boolean)">
+            <summary>
+            Constructor.
+            </summary>
+            <param name="Shared">Controls whether the connector can be shared.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.IsValid">
+            <summary>
+            This method checks if the connector is still ok.
+            We try to send a simple query text, select 1 as ConnectionTest;
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.ReleaseResources">
+            <summary>
+            This method is responsible for releasing all resources associated with this Connector.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.ReleasePlansPortals">
+            <summary>
+            This method is responsible to release all portals used by this Connector.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.CheckErrors">
+            <summary>
+            Check for mediator errors (sent by backend) and throw the appropriate
+            exception if errors found.  This needs to be called after every interaction
+            with the backend.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.CheckNotices">
+            <summary>
+            Check for notices and fire the appropiate events.
+            This needs to be called after every interaction
+            with the backend.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.CheckNotifications">
+            <summary>
+            Check for notifications and fire the appropiate events.
+            This needs to be called after every interaction
+            with the backend.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.CheckErrorsAndNotifications">
+            <summary>
+            Check for errors AND notifications in one call.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.DefaultCertificateSelectionCallback(System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)">
+            <summary>
+            Default SSL CertificateSelectionCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.DefaultCertificateValidationCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[])">
+            <summary>
+            Default SSL CertificateValidationCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.DefaultPrivateKeySelectionCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.String)">
+            <summary>
+            Default SSL PrivateKeySelectionCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.ProcessServerVersion">
+            <summary>
+            This method is required to set all the version dependent features flags.
+            SupportsPrepare means the server can use prepared query plans (7.3+)
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.Open">
+            <summary>
+            Opens the physical connection to the server.
+            </summary>
+            <remarks>Usually called by the RequestConnector
+            Method of the connection pool manager.</remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.Close">
+            <summary>
+            Closes the physical connection to the server.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.NextPortalName">
+            <summary>
+             Returns next portal index.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.NextPlanName">
+            <summary>
+             Returns next plan index.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnector.Notice">
+            <summary>
+            Occurs on NoticeResponses from the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnector.Notification">
+            <summary>
+            Occurs on NotificationResponses from the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnector.CertificateSelectionCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnector.CertificateValidationCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.CertificateValidationCallback delegate.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnector.PrivateKeySelectionCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.State">
+            <summary>
+            Gets the current state of the connection.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.ServerVersion">
+            <summary>
+            Version of backend server this connector is connected to.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.BackendProtocolVersion">
+            <summary>
+            Backend protocol version in use by this connector.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.Stream">
+            <summary>
+            The physical connection stream to the backend.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.Socket">
+            <summary>
+            The physical connection socket to the backend.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.IsInitialized">
+            <summary>
+            Reports if this connector is fully connected.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.Mediator">
+            <summary>
+            The connection mediator.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.Transaction">
+            <summary>
+            Report if the connection is in a transaction.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.SupportsPrepare">
+            <summary>
+            Report whether the current connection can support prepare functionality.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlConnectorPool">
+            <summary>
+            This class manages all connector objects, pooled AND non-pooled.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlConnectorPool.ConnectorPoolMgr">
+            <value>Unique static instance of the connector pool
+            mamager.</value>
+        </member>
+        <member name="F:Npgsql.NpgsqlConnectorPool.PooledConnectors">
+            <value>Map of index to unused pooled connectors, avaliable to the
+            next RequestConnector() call.</value>
+            <remarks>This hashmap will be indexed by connection string.
+            This key will hold a list of queues of pooled connectors available to be used.</remarks>
+        </member>
+        <member name="F:Npgsql.NpgsqlConnectorPool.Timer">
+            <value>Timer for tracking unused connections in pools.</value>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.RequestConnector(Npgsql.NpgsqlConnection)">
+            <summary>
+            Searches the shared and pooled connector lists for a
+            matching connector object or creates a new one.
+            </summary>
+            <param name="Connection">The NpgsqlConnection that is requesting
+            the connector. Its ConnectionString will be used to search the
+            pool for available connectors.</param>
+            <returns>A connector object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.RequestPooledConnector(Npgsql.NpgsqlConnection)">
+            <summary>
+            Find a pooled connector.  Handle locking and timeout here.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.RequestPooledConnectorInternal(Npgsql.NpgsqlConnection)">
+            <summary>
+            Find a pooled connector.  Handle shared/non-shared here.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.ReleaseConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Releases a connector, possibly back to the pool for future use.
+            </summary>
+            <remarks>
+            Pooled connectors will be put back into the pool if there is room.
+            Shared connectors should just have their use count decremented
+            since they always stay in the shared pool.
+            </remarks>
+            <param name="Connector">The connector to release.</param>
+            <param name="ForceClose">Force the connector to close, even if it is pooled.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.ReleasePooledConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Release a pooled connector.  Handle locking here.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.ReleasePooledConnectorInternal(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Release a pooled connector.  Handle shared/non-shared here.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.GetNonPooledConnector(Npgsql.NpgsqlConnection)">
+            <summary>
+            Create a connector without any pooling functionality.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.GetPooledConnector(Npgsql.NpgsqlConnection)">
+            <summary>
+            Find an available pooled connector in the non-shared pool, or create
+            a new one if none found.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.GetSharedConnector(Npgsql.NpgsqlConnection)">
+            <summary>
+            Find an available shared connector in the shared pool, or create
+            a new one if none found.
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "M:Npgsql.NpgsqlConnectorPool.FixPoolCountBecauseOfConnectionDisposeFalse(Npgsql.NpgsqlConnection)" -->
+        <member name="M:Npgsql.NpgsqlConnectorPool.UngetNonPooledConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Close the connector.
+            </summary>
+            <param name="Connector">Connector to release</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.UngetPooledConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Put a pooled connector into the pool queue.
+            </summary>
+            <param name="Connector">Connector to pool</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.UngetSharedConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Stop sharing a shared connector.
+            </summary>
+            <param name="Connector">Connector to unshare</param>
+        </member>
+        <member name="T:Npgsql.NpgsqlConnectorPool.ConnectorQueue">
+            <summary>
+            A queue with an extra Int32 for keeping track of busy connections.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlConnectorPool.ConnectorQueue.UseCount">
+            <summary>
+            The number of pooled Connectors that belong to this queue but
+            are currently in use.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlRowUpdatedEventHandler">
+            <summary>
+            Represents the method that handles the <see cref="E:Npgsql.NpgsqlDataAdapter.RowUpdated">RowUpdated</see> events.
+            </summary>
+            <param name="sender">The source of the event.</param>
+            <param name="e">A <see cref="!:Npgsql.NpgsqlRowUpdatedEventArgs">NpgsqlRowUpdatedEventArgs</see> that contains the event data.</param>
+        </member>
+        <member name="T:Npgsql.NpgsqlRowUpdatingEventHandler">
+            <summary>
+            Represents the method that handles the <see cref="E:Npgsql.NpgsqlDataAdapter.RowUpdating">RowUpdating</see> events.
+            </summary>
+            <param name="sender">The source of the event.</param>
+            <param name="e">A <see cref="!:Npgsql.NpgsqlRowUpdatingEventArgs">NpgsqlRowUpdatingEventArgs</see> that contains the event data.</param>
+        </member>
+        <member name="T:Npgsql.NpgsqlDataAdapter">
+            <summary>
+            This class represents an adapter from many commands: select, update, insert and delete to fill <see cref="T:System.Data.DataSet">Datasets.</see>
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlDataReader">
+            <summary>
+            Provides a means of reading a forward-only stream of rows from a PostgreSQL backend.  This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.Dispose">
+            <summary>
+            Releases the resources used by the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.Dispose(System.Boolean)">
+            <summary>
+            Releases the resources used by the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.Close">
+            <summary>
+            Closes the data reader object.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.NextResult">
+            <summary>
+            Advances the data reader to the next result, when multiple result sets were returned by the PostgreSQL backend.
+            </summary>
+            <returns>True if the reader was advanced, otherwise false.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.Read">
+            <summary>
+            Advances the data reader to the next row.
+            </summary>
+            <returns>True if the reader was advanced, otherwise false.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetSchemaTable">
+            <summary>
+            Returns a System.Data.DataTable that describes the column metadata of the DataReader.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetName(System.Int32)">
+            <summary>
+            Return the column name of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetDataTypeOID(System.Int32)">
+            <summary>
+            Return the data type OID of the column at index <param name="Index"></param>.
+            </summary>
+            FIXME: Why this method returns String?
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetDataTypeName(System.Int32)">
+            <summary>
+            Return the data type name of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetFieldType(System.Int32)">
+            <summary>
+            Return the data type of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetFieldDbType(System.Int32)">
+            <summary>
+            Return the data DbType of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetFieldNpgsqlDbType(System.Int32)">
+            <summary>
+            Return the data NpgsqlDbType of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetValue(System.Int32)">
+            <summary>
+            Return the value of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetValues(System.Object[])">
+            <summary>
+            Copy values from each column in the current row into <param name="Values"></param>.
+            </summary>
+            <returns>The number of column values copied.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetOrdinal(System.String)">
+            <summary>
+            Return the column name of the column named <param name="Name"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetBoolean(System.Int32)">
+            <summary>
+            Gets the value of a column as Boolean.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetByte(System.Int32)">
+            <summary>
+            Gets the value of a column as Byte.  Not implemented.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Gets raw data from a column.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetChar(System.Int32)">
+            <summary>
+            Gets the value of a column as Char.  Not implemented.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)">
+            <summary>
+            Gets raw data from a column.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetGuid(System.Int32)">
+            <summary>
+            Gets the value of a column converted to a Guid.  Not implemented.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetInt16(System.Int32)">
+            <summary>
+            Gets the value of a column as Int16.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetInt32(System.Int32)">
+            <summary>
+            Gets the value of a column as Int32.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetInt64(System.Int32)">
+            <summary>
+            Gets the value of a column as Int64.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetFloat(System.Int32)">
+            <summary>
+            Gets the value of a column as Single.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetDouble(System.Int32)">
+            <summary>
+            Gets the value of a column as Double.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetString(System.Int32)">
+            <summary>
+            Gets the value of a column as String.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetDecimal(System.Int32)">
+            <summary>
+            Gets the value of a column as Decimal.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetDateTime(System.Int32)">
+            <summary>
+            Gets the value of a column as DateTime.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetData(System.Int32)">
+            <summary>
+            Not implemented.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.IsDBNull(System.Int32)">
+            <summary>
+            Report whether the value in a column is DBNull.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetTableNameFromQuery">
+            <summary>
+             This methods parses the command text and tries to get the tablename
+             from it.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.Depth">
+            <summary>
+            Gets a value indicating the depth of nesting for the current row.  Always returns zero.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.IsClosed">
+            <summary>
+            Gets a value indicating whether the data reader is closed.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.RecordsAffected">
+            <summary>
+            Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.HasRows">
+            <summary>
+            Indicates if NpgsqlDatareader has rows to be read.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlDataReader.ReaderClosed">
+            <summary>
+            Is raised whenever Close() is called.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.FieldCount">
+            <summary>
+            Gets the number of columns in the current row.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.Item(System.Int32)">
+            <summary>
+            Gets the value of a column in its native format.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.Item(System.String)">
+            <summary>
+            Gets the value of a column in its native format.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlDataReader.KeyLookup.primaryKey">
+            <summary>
+            Contains the column names as the keys
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlDataReader.KeyLookup.uniqueColumns">
+            <summary>
+            Contains all unique columns
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlDescribe">
+            <summary>
+            This class represents the Parse message sent to PostgreSQL
+            server.
+            </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlNoticeEventArgs">
+            <summary>
+            EventArgs class to send Notice parameters, which are just NpgsqlError's in a lighter context.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlNoticeEventArgs.Notice">
+            <summary>
+            Notice information.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlError">
+            <summary>
+            This class represents the ErrorResponse and NoticeResponse
+            message sent from PostgreSQL server.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlError.ToString">
+            <summary>
+            Return a string representation of this error object.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Severity">
+            <summary>
+            Severity code.  All versions.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Code">
+            <summary>
+            Error code.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Message">
+            <summary>
+            Terse error message.  All versions.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Detail">
+            <summary>
+            Detailed error message.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Hint">
+            <summary>
+            Suggestion to help resolve the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Position">
+            <summary>
+            Position (one based) within the query string where the error was encounterd.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Where">
+            <summary>
+            Trace back information.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.File">
+            <summary>
+            Source file (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Line">
+            <summary>
+            Source file line number (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Routine">
+            <summary>
+            Source routine (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.ErrorSql">
+            <summary>
+            String containing the sql sent which produced this error.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.BackendProtocolVersion">
+            <summary>
+            Backend protocol version in use.
+            </summary>
+        </member>
+        <member name="T:Npgsql.LogLevel">
+            <summary>
+            The level of verbosity of the NpgsqlEventLog
+            </summary>
+        </member>
+        <member name="F:Npgsql.LogLevel.None">
+            <summary>
+            Don't log at all
+            </summary>
+        </member>
+        <member name="F:Npgsql.LogLevel.Normal">
+            <summary>
+            Only log the most common issues
+            </summary>
+        </member>
+        <member name="F:Npgsql.LogLevel.Debug">
+            <summary>
+            Log everything
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlEventLog">
+            <summary>
+            This class handles all the Npgsql event and debug logging
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMsg(System.String,Npgsql.LogLevel)">
+            <summary>
+            Writes a string to the Npgsql event log if msglevel is bigger then <see cref="P:Npgsql.NpgsqlEventLog.Level">NpgsqlEventLog.Level</see>
+            </summary>
+            <remarks>
+            This method is obsolete and should no longer be used.
+            It is likely to be removed in future versions of Npgsql
+            </remarks>
+            <param name="message">The message to write to the event log</param>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMsg(System.Resources.ResourceManager,System.String,Npgsql.LogLevel,System.Object[])">
+            <summary>
+            Writes a string to the Npgsql event log if msglevel is bigger then <see cref="P:Npgsql.NpgsqlEventLog.Level">NpgsqlEventLog.Level</see>
+            </summary>
+            <param name="resman">The <see cref="T:System.Resources.ResourceManager">ResourceManager</see> to get the localized resources</param>
+            <param name="ResourceString">The name of the resource that should be fetched by the <see cref="T:System.Resources.ResourceManager">ResourceManager</see></param>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="Parameters">The additional parameters that shall be included into the log-message (must be compatible with the string in the resource):</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogIndexerGet(Npgsql.LogLevel,System.String,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling the Get-part of an Indexer to the log file.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Indexer</param>
+            <param name="IndexerParam">The parameter given to the Indexer</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogIndexerSet(Npgsql.LogLevel,System.String,System.Object,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling the Set-part of an Indexer to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Indexer</param>
+            <param name="IndexerParam">The parameter given to the Indexer</param>
+            <param name="value">The value the Indexer is set to</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogPropertyGet(Npgsql.LogLevel,System.String,System.String)">
+            <summary>
+            Writes the default log-message for the action of calling the Get-part of a Property to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Property</param>
+            <param name="PropertyName">The name of the Property</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogPropertySet(Npgsql.LogLevel,System.String,System.String,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling the Set-part of a Property to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Property</param>
+            <param name="PropertyName">The name of the Property</param>
+            <param name="value">The value the Property is set to</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String)">
+            <summary>
+            Writes the default log-message for the action of calling a Method without Arguments to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Method</param>
+            <param name="MethodName">The name of the Method</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling a Method with one Argument to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Method</param>
+            <param name="MethodName">The name of the Method</param>
+            <param name="MethodParameter">The value of the Argument of the Method</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling a Method with two Arguments to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Method</param>
+            <param name="MethodName">The name of the Method</param>
+            <param name="MethodParameter1">The value of the first Argument of the Method</param>
+            <param name="MethodParameter2">The value of the second Argument of the Method</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object,System.Object,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling a Method with three Arguments to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Method</param>
+            <param name="MethodName">The name of the Method</param>
+            <param name="MethodParameter1">The value of the first Argument of the Method</param>
+            <param name="MethodParameter2">The value of the second Argument of the Method</param>
+            <param name="MethodParameter3">The value of the third Argument of the Method</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object[])">
+            <summary>
+            Writes the default log-message for the action of calling a Method with more than three Arguments to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Method</param>
+            <param name="MethodName">The name of the Method</param>
+            <param name="MethodParameters">A <see cref="T:System.Object">Object</see>-Array with zero or more Ojects that are Arguments of the Method.</param>
+        </member>
+        <member name="P:Npgsql.NpgsqlEventLog.Level">
+            <summary>
+             Sets/Returns the level of information to log to the logfile.
+             </summary>
+             <value>The current <see cref="T:Npgsql.LogLevel">LogLevel</see></value>
+        </member>
+        <member name="P:Npgsql.NpgsqlEventLog.LogName">
+            <summary>
+             Sets/Returns the filename to use for logging.
+             </summary>
+             <value>The filename of the current Log file.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlEventLog.EchoMessages">
+            <summary>
+             Sets/Returns whether Log messages should be echoed to the console
+             </summary>
+             <value><b>true</b> if Log messages are echoed to the console, otherwise <b>false</b></value>
+        </member>
+        <member name="T:Npgsql.NpgsqlException">
+            <summary>
+            The exception that is thrown when the PostgreSQL backend reports errors.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlException.#ctor(System.Collections.IList)">
+            <summary>
+            Construct a backend error exception based on a list of one or more
+            backend errors.  The basic Exception.Message will be built from the
+            first (usually the only) error in the list.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlException.ToString">
+            <summary>
+            Format a .NET style exception string.
+            Include all errors in the list, including any hints.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlException.AppendString(System.IO.StringWriter,System.String,System.String)">
+            <summary>
+            Append a line to the given Stream, first checking for zero-length.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Item(System.Int32)">
+            <summary>
+            Provide access to the entire list of errors provided by the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Severity">
+            <summary>
+            Severity code.  All versions.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Code">
+            <summary>
+            Error code.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.BaseMessage">
+            <summary>
+            Basic error message.  All versions.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Detail">
+            <summary>
+            Detailed error message.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Hint">
+            <summary>
+            Suggestion to help resolve the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Position">
+            <summary>
+            Position (one based) within the query string where the error was encounterd.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Where">
+            <summary>
+            Trace back information.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.File">
+            <summary>
+            Source file (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Line">
+            <summary>
+            Source file line number (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Routine">
+            <summary>
+            Source routine (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.ErrorSql">
+            <summary>
+            String containing the sql sent which produced this error.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Errors">
+            <summary>
+            Returns the entire list of errors provided by the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlExecute">
+            <summary>
+            This class represents the Parse message sent to PostgreSQL
+            server.
+            </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlFlush">
+            <summary>
+            This class represents the Parse message sent to PostgreSQL
+            server.
+            </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlMediator">
+            <summary>
+             This class is responsible for serving as bridge between the backend
+             protocol handling and the core classes. It is used as the mediator for
+             exchanging data generated/sent from/to backend.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlMessageTypes_Ver_2">
+            <summary>
+            Class NpgsqlMessageTypes_Ver_2.
+            Defines PG frontend/backend protocol message types and parameters used in protocol version 2.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlMessageTypes_Ver_3">
+            <summary>
+            Class NpgsqlMessageTypes_Ver_3.
+            Defines PG frontend/backend protocol message types and parameters used in protocol version 3.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlNotificationEventArgs">
+            <summary>
+            EventArgs class to send Notification parameters.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlNotificationEventArgs.PID">
+            <summary>
+            Process ID of the PostgreSQL backend that sent this notification.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlNotificationEventArgs.Condition">
+            <summary>
+            Condition that triggered that notification.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlParameter">
+            <summary>
+             This class represents a parameter to a command that will be sent to server
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "M:Npgsql.NpgsqlParameter.#ctor" -->
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            class with the parameter name and a value of the new <b>NpgsqlParameter</b>.
+            </summary>
+            <param name="parameterName">The name of the parameter to map.</param>
+            <param name="value">An <see cref="T:System.Object">Object</see> that is the value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.</param>
+            <remarks>
+            <p>When you specify an <see cref="T:System.Object">Object</see>
+            in the value parameter, the <see cref="T:System.Data.DbType">DbType</see> is
+            inferred from the .NET Framework type of the <b>Object</b>.</p>
+            <p>When using this constructor, you must be aware of a possible misuse of the constructor which takes a DbType parameter.
+            This happens when calling this constructor passing an int 0 and the compiler thinks you are passing a value of DbType.
+            Use <code> Convert.ToInt32(value) </code> for example to have compiler calling the correct constructor.</p>
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlNativeTypeInfo)">
+            <summary>
+            Internal constructor to handle parameter creation from CommandBuilder passing a NpgsqlNativeTypeInfo directly.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            class with the parameter name and the data type.
+            </summary>
+            <param name="parameterName">The name of the parameter to map.</param>
+            <param name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            class with the parameter name, the <see cref="T:System.Data.DbType">DbType</see>, and the size.
+            </summary>
+            <param name="parameterName">The name of the parameter to map.</param>
+            <param name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
+            <param name="size">The length of the parameter.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            class with the parameter name, the <see cref="T:System.Data.DbType">DbType</see>, the size,
+            and the source column name.
+            </summary>
+            <param name="parameterName">The name of the parameter to map.</param>
+            <param name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
+            <param name="size">The length of the parameter.</param>
+            <param name="sourceColumn">The name of the source column.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32,System.String,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.Data.DataRowVersion,System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            class with the parameter name, the <see cref="T:System.Data.DbType">DbType</see>, the size,
+            the source column name, a <see cref="T:System.Data.ParameterDirection">ParameterDirection</see>,
+            the precision of the parameter, the scale of the parameter, a
+            <see cref="T:System.Data.DataRowVersion">DataRowVersion</see> to use, and the
+            value of the parameter.
+            </summary>
+            <param name="parameterName">The name of the parameter to map.</param>
+            <param name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
+            <param name="size">The length of the parameter.</param>
+            <param name="sourceColumn">The name of the source column.</param>
+            <param name="direction">One of the <see cref="T:System.Data.ParameterDirection">ParameterDirection</see> values.</param>
+            <param name="isNullable"><b>true</b> if the value of the field can be null, otherwise <b>false</b>.</param>
+            <param name="precision">The total number of digits to the left and right of the decimal point to which
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved.</param>
+            <param name="scale">The total number of decimal places to which
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved.</param>
+            <param name="sourceVersion">One of the <see cref="T:System.Data.DataRowVersion">DataRowVersion</see> values.</param>
+            <param name="value">An <see cref="T:System.Object">Object</see> that is the value
+            of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.System#ICloneable#Clone">
+            <summary>
+            Creates a new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> that
+            is a copy of the current instance.
+            </summary>
+            <returns>A new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> that is a copy of this instance.</returns>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.Precision">
+            <summary>
+            Gets or sets the maximum number of digits used to represent the
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> property.
+            </summary>
+            <value>The maximum number of digits used to represent the
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> property.
+            The default value is 0, which indicates that the data provider
+            sets the precision for <b>Value</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.Scale">
+            <summary>
+            Gets or sets the number of decimal places to which
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved.
+            </summary>
+            <value>The number of decimal places to which
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved. The default is 0.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.Size">
+            <summary>
+            Gets or sets the maximum size, in bytes, of the data within the column.
+            </summary>
+            <value>The maximum size, in bytes, of the data within the column.
+            The default value is inferred from the parameter value.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.DbType">
+            <summary>
+            Gets or sets the <see cref="T:System.Data.DbType">DbType</see> of the parameter.
+            </summary>
+            <value>One of the <see cref="T:System.Data.DbType">DbType</see> values. The default is <b>String</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.NpgsqlDbType">
+            <summary>
+            Gets or sets the <see cref="T:System.Data.DbType">DbType</see> of the parameter.
+            </summary>
+            <value>One of the <see cref="T:System.Data.DbType">DbType</see> values. The default is <b>String</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.Direction">
+            <summary>
+            Gets or sets a value indicating whether the parameter is input-only,
+            output-only, bidirectional, or a stored procedure return value parameter.
+            </summary>
+            <value>One of the <see cref="T:System.Data.ParameterDirection">ParameterDirection</see>
+            values. The default is <b>Input</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.IsNullable">
+            <summary>
+            Gets or sets a value indicating whether the parameter accepts null values.
+            </summary>
+            <value><b>true</b> if null values are accepted; otherwise, <b>false</b>. The default is <b>false</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.ParameterName">
+            <summary>
+            Gets or sets the name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.
+            </summary>
+            <value>The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.
+            The default is an empty string.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.SourceColumn">
+            <summary>
+            Gets or sets the name of the source column that is mapped to the
+            <see cref="T:System.Data.DataSet">DataSet</see> and used for loading or
+            returning the <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see>.
+            </summary>
+            <value>The name of the source column that is mapped to the
+            <see cref="T:System.Data.DataSet">DataSet</see>. The default is an empty string.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.SourceVersion">
+            <summary>
+            Gets or sets the <see cref="T:System.Data.DataRowVersion">DataRowVersion</see>
+            to use when loading <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see>.
+            </summary>
+            <value>One of the <see cref="T:System.Data.DataRowVersion">DataRowVersion</see> values.
+            The default is <b>Current</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.Value">
+            <summary>
+            Gets or sets the value of the parameter.
+            </summary>
+            <value>An <see cref="T:System.Object">Object</see> that is the value of the parameter.
+            The default value is null.</value>
+        </member>
+        <member name="T:Npgsql.NpgsqlParameterCollection">
+            <summary>
+            Represents a collection of parameters relevant to a <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>
+            as well as their respective mappings to columns in a <see cref="T:System.Data.DataSet">DataSet</see>.
+            This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.#ctor">
+            <summary>
+            Initializes a new instance of the NpgsqlParameterCollection class.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(Npgsql.NpgsqlParameter)">
+            <summary>
+            Adds the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see>.
+            </summary>
+            <param name="value">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
+            <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,System.Object)">
+            <summary>
+            Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> given the specified parameter name and value.
+            </summary>
+            <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.</param>
+            <param name="value">The Value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
+            <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+            <remarks>
+            Use caution when using this overload of the
+            <b>Add</b> method to specify integer parameter values.
+            Because this overload takes a <i>value</i> of type Object,
+            you must convert the integral value to an <b>Object</b>
+            type when the value is zero, as the following C# example demonstrates.
+            <code>parameters.Add(":pname", Convert.ToInt32(0));</code>
+            If you do not perform this conversion, the compiler will assume you
+            are attempting to call the NpgsqlParameterCollection.Add(string, DbType) overload.
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,NpgsqlTypes.NpgsqlDbType)">
+            <summary>
+            Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> given the parameter name and the data type.
+            </summary>
+            <param name="parameterName">The name of the parameter.</param>
+            <param name="parameterType">One of the DbType values.</param>
+            <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32)">
+            <summary>
+            Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> with the parameter name, the data type, and the column length.
+            </summary>
+            <param name="parameterName">The name of the parameter.</param>
+            <param name="parameterType">One of the DbType values.</param>
+            <param name="size">The length of the column.</param>
+            <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32,System.String)">
+            <summary>
+            Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> with the parameter name, the data type, the column length, and the source column name.
+            </summary>
+            <param name="parameterName">The name of the parameter.</param>
+            <param name="parameterType">One of the DbType values.</param>
+            <param name="size">The length of the column.</param>
+            <param name="sourceColumn">The name of the source column.</param>
+            <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.RemoveAt(System.String)">
+            <summary>
+            Removes the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> from the collection using the parameter name.
+            </summary>
+            <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to retrieve.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Contains(System.String)">
+            <summary>
+            Gets a value indicating whether a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> with the specified parameter name exists in the collection.
+            </summary>
+            <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
+            <returns><b>true</b> if the collection contains the parameter; otherwise, <b>false</b>.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.IndexOf(System.String)">
+            <summary>
+            Gets the location of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> in the collection with a specific parameter name.
+            </summary>
+            <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
+            <returns>The zero-based location of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> in the collection.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.RemoveAt(System.Int32)">
+            <summary>
+            Removes the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> from the collection using a specific index.
+            </summary>
+            <param name="index">The zero-based index of the parameter.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Insert(System.Int32,System.Object)">
+            <summary>
+            Inserts a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> into the collection at the specified index.
+            </summary>
+            <param name="index">The zero-based index where the parameter is to be inserted within the collection.</param>
+            <param name="value">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Remove(System.Object)">
+            <summary>
+            Removes the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> from the collection.
+            </summary>
+            <param name="value">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to remove from the collection.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Contains(System.Object)">
+            <summary>
+            Gets a value indicating whether a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> exists in the collection.
+            </summary>
+            <param name="value">The value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
+            <returns>true if the collection contains the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object; otherwise, false.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.TryGetValue(System.String,Npgsql.NpgsqlParameter@)">
+            <returns><b>true</b> if the collection contains the parameter and param will contain the parameter; otherwise, <b>false</b>.</returns>
        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Clear">
+            <summary>
+            Removes all items from the collection.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.IndexOf(System.Object)">
+            <summary>
+            Gets the location of a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> in the collection.
+            </summary>
+            <param name="value">The value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
+            <returns>The zero-based index of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object in the collection.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.Object)">
+            <summary>
+            Adds the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see>.
+            </summary>
+            <param name="value">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
+            <returns>The zero-based index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.CopyTo(System.Array,System.Int32)">
+            <summary>
+            Copies <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects from the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> to the specified array.
+            </summary>
+            <param name="array">An <see cref="T:System.Array">Array</see> to which to copy the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects in the collection.</param>
+            <param name="index">The starting index of the array.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Returns an enumerator that can iterate through the collection.
+            </summary>
+            <returns>An <see cref="T:System.Collections.IEnumerator">IEnumerator</see> that can be used to iterate through the collection.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.CheckType(System.Object)">
+            <summary>
+            In methods taking an object as argument this method is used to verify
+            that the argument has the type <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            </summary>
+            <param name="Object">The object to verify</param>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameterCollection.Item(System.String)">
+            <summary>
+            Gets the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> with the specified name.
+            </summary>
+            <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to retrieve.</param>
+            <value>The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> with the specified name, or a null reference if the parameter is not found.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameterCollection.Item(System.Int32)">
+            <summary>
+            Gets the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> at the specified index.
+            </summary>
+            <param name="index">The zero-based index of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to retrieve.</param>
+            <value>The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> at the specified index.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameterCollection.Count">
+            <summary>
+            Gets the number of <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects in the collection.
+            </summary>
+            <value>The number of <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects in the collection.</value>
+        </member>
+        <member name="T:Npgsql.NpgsqlParameterStatus">
+            <summary>
+            This class represents the ParameterStatus message sent from PostgreSQL
+            server.
+            </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlParse">
+            <summary>
+            This class represents the Parse message sent to PostgreSQL
+            server.
+            </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlPasswordPacket">
+            <summary>
+            This class represents a PasswordPacket message sent to backend
+            PostgreSQL.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlQuery">
+            <summary>
+            Summary description for NpgsqlQuery
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlRowDescriptionFieldData">
+            <summary>
+            This struct represents the internal data of the RowDescription message.
+            </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlRowDescription">
+            <summary>
+            This class represents a RowDescription message sent from
+            the PostgreSQL.
+            </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlSchema">
+            <summary>
+            Provides the underlying mechanism for reading schema information.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.#ctor(Npgsql.NpgsqlConnection)">
+            <summary>
+            Creates an NpgsqlSchema that can read schema information from the database.
+            </summary>
+            <param name="connection">An open database connection for reading metadata.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetMetaDataCollections">
+            <summary>
+            Returns the MetaDataCollections that lists all possible collections.
+            </summary>
+            <returns>The MetaDataCollections</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetRestrictions">
+            <summary>
+            Returns the Restrictions that contains the meaning and position of the values in the restrictions array.
+            </summary>
+            <returns>The Restrictions</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetDatabases(System.String[])">
+            <summary>
+            Returns the Databases that contains a list of all accessable databases.
+            </summary>
+            <param name="restrictions">The restrictions to filter the collection.</param>
+            <returns>The Databases</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetTables(System.String[])">
+            <summary>
+            Returns the Tables that contains table and view names and the database and schema they come from.
+            </summary>
+            <param name="restrictions">The restrictions to filter the collection.</param>
+            <returns>The Tables</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetColumns(System.String[])">
+            <summary>
+            Returns the Columns that contains information about columns in tables. 
+            </summary>
+            <param name="restrictions">The restrictions to filter the collection.</param>
+            <returns>The Columns.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetViews(System.String[])">
+            <summary>
+            Returns the Views that contains view names and the database and schema they come from.
+            </summary>
+            <param name="restrictions">The restrictions to filter the collection.</param>
+            <returns>The Views</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetUsers(System.String[])">
+            <summary>
+            Returns the Users containing user names and the sysid of those users.
+            </summary>
+            <param name="restrictions">The restrictions to filter the collection.</param>
+            <returns>The Users.</returns>
+        </member>
+        <member name="T:Npgsql.NpgsqlStartupPacket">
+            <summary>
+            This class represents a StartupPacket message of PostgreSQL
+            protocol.
+            </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlSync">
+            <summary>
+            This class represents the Parse message sent to PostgreSQL
+            server.
+            </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlTransaction">
+            <summary>
+            Represents a transaction to be made in a PostgreSQL database. This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlTransaction.Dispose">
+            <summary>
+            Releases the unmanaged resources used by the
+            <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>
+            and optionally releases the managed resources.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlTransaction.Commit">
+            <summary>
+            Commits the database transaction.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlTransaction.Rollback">
+            <summary>
+            Rolls back a transaction from a pending state.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlTransaction.Cancel">
+            <summary>
+            Cancel the transaction without telling the backend about it.  This is
+            used to make the transaction go away when closing a connection.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlTransaction.Connection">
+            <summary>
+            Gets the <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>
+            object associated with the transaction, or a null reference if the
+            transaction is no longer valid.
+            </summary>
+            <value>The <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>
+            object associated with the transaction.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlTransaction.IsolationLevel">
+            <summary>
+            Specifies the <see cref="T:System.Data.IsolationLevel">IsolationLevel</see> for this transaction.
+            </summary>
+            <value>The <see cref="T:System.Data.IsolationLevel">IsolationLevel</see> for this transaction.
+            The default is <b>ReadCommitted</b>.</value>
+        </member>
+        <member name="T:Npgsql.ProtocolVersion">
+            <summary>
+            Represent the frontend/backend protocol version.
+            </summary>
+        </member>
+        <member name="T:Npgsql.ServerVersion">
+            <summary>
+            Represent the backend server version.
+            </summary>
+        </member>
+        <member name="M:Npgsql.ServerVersion.ToString">
+            <summary>
+            Returns the string representation of this version in three place dot notation (Major.Minor.Patch).
+            </summary>
+        </member>
+        <member name="P:Npgsql.ServerVersion.Major">
+            <summary>
+            Server version major number.
+            </summary>
+        </member>
+        <member name="P:Npgsql.ServerVersion.Minor">
+            <summary>
+            Server version minor number.
+            </summary>
+        </member>
+        <member name="P:Npgsql.ServerVersion.Patch">
+            <summary>
+            Server version patch level number.
+            </summary>
+        </member>
+        <member name="T:Npgsql.PGUtil">
+            <summary>
+             This class provides many util methods to handle
+             reading and writing of PostgreSQL protocol messages.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ConvertProtocolVersion(Npgsql.ProtocolVersion)">
+            <summary>
+             This method takes a ProtocolVersion and returns an integer
+             version number that the Postgres backend will recognize in a
+             startup packet.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ExtractServerVersion(System.String)">
+            <summary>
+            This method takes a version string as returned by SELECT VERSION() and returns
+            a valid version string ("7.2.2" for example).
+            This is only needed when running protocol version 2.
+            This does not do any validity checks.
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ParseServerVersion(System.String)">
+            <summary>
+            This method takes a version string ("7.4.1" for example) and produces
+            the required integer version numbers (7, 4, and 1).
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ConvertBeginToInt32(System.String)">
+            <summary>
+            Convert the beginning numeric part of the given string to Int32.
+            For example:
+              Strings "12345ABCD" and "12345.54321" would both be converted to int 12345.
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ReadString(System.IO.Stream,System.Text.Encoding)">
+            <summary>
+             This method gets a C NULL terminated string from the network stream.
+             It keeps reading a byte in each time until a NULL byte is returned.
+             It returns the resultant string of bytes read.
+             This string is sent from backend.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ReadString(System.IO.Stream,System.Text.Encoding,System.Int32)">
+            <summary>
+             This method gets a length terminated string from a network stream.
+             It returns the resultant string of bytes read.
+             This string is sent from backend.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.WriteString(System.String,System.IO.Stream,System.Text.Encoding)">
+            <summary>
+             This method writes a C NULL terminated string to the network stream.
+             It appends a NULL terminator to the end of the String.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.WriteLimString(System.String,System.Int32,System.IO.Stream,System.Text.Encoding)">
+            <summary>
+             This method writes a C NULL terminated string limited in length to the
+             backend server.
+             It pads the string with null bytes to the size specified.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.WriteInt32(System.IO.Stream,System.Int32)">
+            <summary>
+            Write a 32-bit integer to the given stream in the correct byte order.
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ReadInt32(System.IO.Stream,System.Byte[])">
+            <summary>
+            Read a 32-bit integer from the given stream in the correct byte order.
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.WriteInt16(System.IO.Stream,System.Int16)">
+            <summary>
+            Write a 16-bit integer to the given stream in the correct byte order.
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ReadInt16(System.IO.Stream,System.Byte[])">
+            <summary>
+            Read a 16-bit integer from the given stream in the correct byte order.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.LargeObjectManager">
+            <summary>
+            Summary description for LargeObjectManager.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.BasicBackendToNativeTypeConverter">
+            <summary>
+            Provide event handlers to convert all native supported basic data types from their backend
+            text representation to a .NET object.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToBinary(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Binary data.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToBoolean(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql boolean to a System.Boolean.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToBit(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql bit to a System.Boolean.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToDateTime(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql datetime to a System.DateTime.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToDate(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql date to a System.DateTime.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToTime(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql time to a System.DateTime.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToMoney(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql money to a System.Decimal.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.BasicNativeToBackendTypeConverter">
+            <summary>
+            Provide event handlers to convert the basic native supported data types from
+            native form to backend representation.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToBinary(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Binary data.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToBoolean(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgresql boolean.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToBit(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgresql bit.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToDateTime(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgresql timestamp.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToDate(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgresql date.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToTime(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgresql time.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToMoney(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgres money.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.ExtendedBackendToNativeTypeConverter">
+            <summary>
+            Provide event handlers to convert extended native supported data types from their backend
+            text representation to a .NET object.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToPoint(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql point to a System.NpgsqlPoint.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToBox(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql point to a System.RectangleF.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToLSeg(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            LDeg.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToPath(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Path.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToPolygon(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Polygon.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToCircle(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Circle.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToInet(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Inet.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.ExtendedNativeToBackendTypeConverter">
+            <summary>
+            Provide event handlers to convert extended native supported data types from
+            native form to backend representation.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToPoint(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Point.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToBox(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Box.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToLSeg(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            LSeg.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToPath(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Open path.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToPolygon(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Polygon.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToCircle(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Circle.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToIPAddress(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgres inet.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlPoint">
+            <summary>
+            Represents a PostgreSQL Point type
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlLSeg">
+            <summary>
+            Represents a PostgreSQL Line Segment type.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlPath">
+            <summary>
+            Represents a PostgreSQL Path type.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlPolygon">
+            <summary>
+            Represents a PostgreSQL Polygon type.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlCircle">
+            <summary>
+            Represents a PostgreSQL Circle type.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlInet">
+            <summary>
+            Represents a PostgreSQL inet type.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlTypesHelper">
+            <summary>
+            This class contains helper methods for type conversion between
+            the .Net type system and postgresql.
+            </summary>
+        </member>
+        <member name="F:NpgsqlTypes.NpgsqlTypesHelper.BackendTypeMappingCache">
+            <summary>
+            A cache of basic datatype mappings keyed by server version.  This way we don't
+            have to load the basic type mappings for every connection.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.GetNativeTypeInfo(NpgsqlTypes.NpgsqlDbType)">
+            <summary>
+            Find a NpgsqlNativeTypeInfo in the default types map that can handle objects
+            of the given NpgsqlDbType.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.GetNativeTypeInfo(System.Data.DbType)">
+            <summary>
+            Find a NpgsqlNativeTypeInfo in the default types map that can handle objects
+            of the given DbType.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.GetNativeTypeInfo(System.Type)">
+            <summary>
+            Find a NpgsqlNativeTypeInfo in the default types map that can handle objects
+            of the given System.Type.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.ConvertBackendStringToSystemType(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+             This method is responsible to convert the string received from the backend
+             to the corresponding NpgsqlType.
+             The given TypeInfo is called upon to do the conversion.
+             If no TypeInfo object is provided, no conversion is performed.
+             </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.VerifyDefaultTypesMap">
+            <summary>
+            Create the one and only native to backend type map.
+            This map is used when formatting native data
+            types to backend representations.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.CreateAndLoadInitialTypesMapping(Npgsql.NpgsqlConnector)">
+            <summary>
+             This method creates (or retrieves from cache) a mapping between type and OID 
+             of all natively supported postgresql data types.
+             This is needed as from one version to another, this mapping can be changed and
+             so we avoid hardcoding them.
+             </summary>
+             <returns>NpgsqlTypeMapping containing all known data types.  The mapping must be
+             cloned before it is modified because it is cached; changes made by one connection may
+             effect another connection.</returns>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.LoadTypesMappings(Npgsql.NpgsqlConnector,NpgsqlTypes.NpgsqlBackendTypeMapping,System.Collections.IList)">
+            <summary>
+            Attempt to map types by issuing a query against pg_type.
+            This function takes a list of NpgsqlTypeInfo and attempts to resolve the OID field
+            of each by querying pg_type.  If the mapping is found, the type info object is
+            updated (OID) and added to the provided NpgsqlTypeMapping object.
+            </summary>
+            <param name="conn">NpgsqlConnector to send query through.</param>
+            <param name="TypeMappings">Mapping object to add types too.</param>
+            <param name="TypeInfoList">List of types that need to have OID's mapped.</param>
+        </member>
+        <member name="T:NpgsqlTypes.ConvertBackendToNativeHandler">
+            <summary>
+            Delegate called to convert the given backend data to its native representation.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.ConvertNativeToBackendHandler">
+            <summary>
+            Delegate called to convert the given native data to its backand representation.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlBackendTypeInfo">
+            <summary>
+            Represents a backend data type.
+            This class can be called upon to convert a backend field representation to a native object.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeInfo.#ctor(System.Int32,System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Type,NpgsqlTypes.ConvertBackendToNativeHandler)">
+            <summary>
+            Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers.
+            </summary>
+            <param name="OID">Type OID provided by the backend server.</param>
+            <param name="Name">Type name provided by the backend server.</param>
+            <param name="NpgsqlDbType">NpgsqlDbType</param>
+            <param name="Type">System type to convert fields of this type to.</param>
+            <param name="ConvertBackendToNative">Data conversion handler.</param>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeInfo.ConvertToNative(System.String,System.Int16,System.Int32)">
+            <summary>
+            Perform a data conversion from a backend representation to 
+            a native object.
+            </summary>
+            <param name="BackendData">Data sent from the backend.</param>
+            <param name="TypeModifier">Type modifier field sent from the backend.</param>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.OID">
+            <summary>
+            Type OID provided by the backend server.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.Name">
+            <summary>
+            Type name provided by the backend server.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.NpgsqlDbType">
+            <summary>
+            NpgsqlDbType.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.DbType">
+            <summary>
+            NpgsqlDbType.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.Type">
+            <summary>
+            System type to convert fields of this type to.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlNativeTypeInfo">
+            <summary>
+            Represents a backend data type.
+            This class can be called upon to convert a native object to its backend field representation,
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeInfo.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Boolean,NpgsqlTypes.ConvertNativeToBackendHandler)">
+            <summary>
+            Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers.
+            </summary>
+            <param name="OID">Type OID provided by the backend server.</param>
+            <param name="Name">Type name provided by the backend server.</param>
+            <param name="NpgsqlDbType">NpgsqlDbType</param>
+            <param name="Type">System type to convert fields of this type to.</param>
+            <param name="ConvertBackendToNative">Data conversion handler.</param>
+            <param name="ConvertNativeToBackend">Data conversion handler.</param>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeInfo.ConvertToBackend(System.Object,System.Boolean)">
+            <summary>
+            Perform a data conversion from a native object to
+            a backend representation.
+            DBNull and null values are handled differently depending if a plain query is used
+            When 
+            </summary>
+            <param name="NativeData">Native .NET object to be converted.</param>
+            <param name="ForExtendedQuery">Flag indicating if the conversion has to be done for 
+            plain queries or extended queries</param>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.Name">
+            <summary>
+            Type name provided by the backend server.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.NpgsqlDbType">
+            <summary>
+            NpgsqlDbType.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.DbType">
+            <summary>
+            DbType.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.Quote">
+            <summary>
+            Apply quoting.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.UseSize">
+            <summary>
+            Use parameter size information.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlBackendTypeMapping">
+            <summary>
+            Provide mapping between type OID, type name, and a NpgsqlBackendTypeInfo object that represents it.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.#ctor">
+            <summary>
+            Construct an empty mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.#ctor(NpgsqlTypes.NpgsqlBackendTypeMapping)">
+            <summary>
+            Copy constuctor.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.AddType(NpgsqlTypes.NpgsqlBackendTypeInfo)">
+            <summary>
+            Add the given NpgsqlBackendTypeInfo to this mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.AddType(System.Int32,System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Type,NpgsqlTypes.ConvertBackendToNativeHandler)">
+            <summary>
+            Add a new NpgsqlBackendTypeInfo with the given attributes and conversion handlers to this mapping.
+            </summary>
+            <param name="OID">Type OID provided by the backend server.</param>
+            <param name="Name">Type name provided by the backend server.</param>
+            <param name="NpgsqlDbType">NpgsqlDbType</param>
+            <param name="Type">System type to convert fields of this type to.</param>
+            <param name="ConvertBackendToNative">Data conversion handler.</param>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.Clone">
+            <summary>
+            Make a shallow copy of this type mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.ContainsOID(System.Int32)">
+            <summary>
+            Determine if a NpgsqlBackendTypeInfo with the given backend type OID exists in this mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.ContainsName(System.String)">
+            <summary>
+            Determine if a NpgsqlBackendTypeInfo with the given backend type name exists in this mapping.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeMapping.Count">
+            <summary>
+            Get the number of type infos held.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeMapping.Item(System.Int32)">
+            <summary>
+            Retrieve the NpgsqlBackendTypeInfo with the given backend type OID, or null if none found.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeMapping.Item(System.String)">
+            <summary>
+            Retrieve the NpgsqlBackendTypeInfo with the given backend type name, or null if none found.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlNativeTypeMapping">
+            <summary>
+            Provide mapping between type Type, NpgsqlDbType and a NpgsqlNativeTypeInfo object that represents it.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.#ctor">
+            <summary>
+            Construct an empty mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.AddType(NpgsqlTypes.NpgsqlNativeTypeInfo)">
+            <summary>
+            Add the given NpgsqlNativeTypeInfo to this mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.AddType(System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Boolean,NpgsqlTypes.ConvertNativeToBackendHandler)">
+            <summary>
+            Add a new NpgsqlNativeTypeInfo with the given attributes and conversion handlers to this mapping.
+            </summary>
+            <param name="OID">Type OID provided by the backend server.</param>
+            <param name="Name">Type name provided by the backend server.</param>
+            <param name="NpgsqlDbType">NpgsqlDbType</param>
+            <param name="ConvertBackendToNative">Data conversion handler.</param>
+            <param name="ConvertNativeToBackend">Data conversion handler.</param>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.ContainsName(System.String)">
+            <summary>
+            Determine if a NpgsqlNativeTypeInfo with the given backend type name exists in this mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.ContainsNpgsqlDbType(NpgsqlTypes.NpgsqlDbType)">
+            <summary>
+            Determine if a NpgsqlNativeTypeInfo with the given NpgsqlDbType exists in this mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.ContainsType(System.Type)">
+            <summary>
+            Determine if a NpgsqlNativeTypeInfo with the given Type name exists in this mapping.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Count">
+            <summary>
+            Get the number of type infos held.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Item(System.String)">
+            <summary>
+            Retrieve the NpgsqlNativeTypeInfo with the given backend type name, or null if none found.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Item(NpgsqlTypes.NpgsqlDbType)">
+            <summary>
+            Retrieve the NpgsqlNativeTypeInfo with the given NpgsqlDbType, or null if none found.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Item(System.Data.DbType)">
+            <summary>
+            Retrieve the NpgsqlNativeTypeInfo with the given DbType, or null if none found.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Item(System.Type)">
+            <summary>
+            Retrieve the NpgsqlNativeTypeInfo with the given Type, or null if none found.
+            </summary>
+        </member>
+        <member name="T:Npgsql.Design.ConnectionStringEditor">
+            <summary>
+            An UITypeEditor that simply initializes a
+            ConnectionStringEditorForm if possible
+            </summary>
+        </member>
+        <member name="M:Npgsql.Design.ConnectionStringEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
+            <summary>
+            Edits the Value of the given Object using the EditSyle given by GetEditStyle.
+            </summary>
+            <param name="context">An ITypeDescriptorContext, through wich you can get additional context information.</param>
+            <param name="provider">An IServiceProvider, through which this editor may order services.</param>
+            <param name="value">The Object to edit</param>
+            <returns>The new value of the Object</returns>
+        </member>
+        <member name="M:Npgsql.Design.ConnectionStringEditor.GetEditStyle(System.ComponentModel.ITypeDescriptorContext)">
+            <summary>
+            Requests the EditSyle to be used by EditValue
+            </summary>
+            <param name="context">An ITypeDescriptorContext, through wich you can get additional context information.</param>
+            <returns>An UITypeEditorEditStyle-Value, indicating the EditStyle used by EditValue. If UITypeEditor doesn't support this method, GetEditStyle returns the value None.</returns>
+        </member>
+        <member name="F:Npgsql.Design.ConnectionStringEditorForm.components">
+            <summary>
+            Required designer variable.
+            </summary>
+        </member>
+        <member name="M:Npgsql.Design.ConnectionStringEditorForm.Dispose(System.Boolean)">
+            <summary>
+            Clean up any resources being used.
+            </summary>
+        </member>
+        <member name="M:Npgsql.Design.ConnectionStringEditorForm.InitializeComponent">
+            <summary>
+            Required method for Designer support - do not modify
+            the contents of this method with the code editor.
+            </summary>
+        </member>
+        <member name="P:Npgsql.Design.ConnectionStringEditorForm.ConnectionString">
+            <summary>
+            Returns the generated ConnectionString
+            </summary>
+        </member>
+        <member name="T:Npgsql.Design.NpgsqlParameterConverter">
+            <summary>
+            Zusammenfassung fr NpgsqlParameterConverter.
+            </summary>
+        </member>
+        <member name="T:Npgsql.Design.NpgsqlParametersEditor">
+            <summary>
+            Zusammenfassung fr NpgsqlParametersEditor.
+            </summary>
+        </member>
+    </members>
+</doc>

+ 25 - 0
lib/Npgsql/net-2.0/Mono.Security.Protocol.Tls.license

@@ -0,0 +1,25 @@
+2. Transport Security Layer (TLS) sources license
+-- --------- -------- ----- ----  ------- -------
+
+The MIT License
+
+Copyright (c) 2003 Carlos Guzmán Álvarez
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"), 
+to deal in the Software without restriction, including without limitation 
+the rights to use, copy, modify, merge, publish, distribute, sublicense, 
+and/or sell copies of the Software, and to permit persons to whom the 
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included 
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
+THE USE OR OTHER DEALINGS IN THE SOFTWARE.

BIN
lib/Npgsql/net-2.0/Mono.Security.dll


BIN
lib/Npgsql/net-2.0/Npgsql.dll


+ 2874 - 0
lib/Npgsql/net-2.0/Npgsql.xml

@@ -0,0 +1,2874 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Npgsql</name>
+    </assembly>
+    <members>
+        <member name="M:Npgsql.HashAlgorithm.#ctor">
+            <summary>
+            Called from constructor of derived class.
+            </summary>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.Finalize">
+            <summary>
+            Finalizer for HashAlgorithm
+            </summary>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.ComputeHash(System.Byte[])">
+            <summary>
+            Computes the entire hash of all the bytes in the byte array.
+            </summary>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.HashCore(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            When overridden in a derived class, drives the hashing function.
+            </summary>
+            <param name="rgb"></param>
+            <param name="start"></param>
+            <param name="size"></param>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.HashFinal">
+            <summary>
+            When overridden in a derived class, this pads and hashes whatever data might be left in the buffers and then returns the hash created.
+            </summary>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.Initialize">
+            <summary>
+            When overridden in a derived class, initializes the object to prepare for hashing.
+            </summary>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Used for stream chaining.  Computes hash as data passes through it.
+            </summary>
+            <param name="inputBuffer">The buffer from which to grab the data to be copied.</param>
+            <param name="inputOffset">The offset into the input buffer to start reading at.</param>
+            <param name="inputCount">The number of bytes to be copied.</param>
+            <param name="outputBuffer">The buffer to write the copied data to.</param>
+            <param name="outputOffset">At what point in the outputBuffer to write the data at.</param>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.TransformFinalBlock(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Used for stream chaining.  Computes hash as data passes through it.  Finishes off the hash.
+            </summary>
+            <param name="inputBuffer">The buffer from which to grab the data to be copied.</param>
+            <param name="inputOffset">The offset into the input buffer to start reading at.</param>
+            <param name="inputCount">The number of bytes to be copied.</param>
+        </member>
+        <member name="P:Npgsql.HashAlgorithm.CanTransformMultipleBlocks">
+            <summary>
+            Get whether or not the hash can transform multiple blocks at a time.
+            Note: MUST be overriden if descendant can transform multiple block
+            on a single call!
+            </summary>
+        </member>
+        <member name="P:Npgsql.HashAlgorithm.Hash">
+            <summary>
+            Gets the previously computed hash.
+            </summary>
+        </member>
+        <member name="P:Npgsql.HashAlgorithm.HashSize">
+            <summary>
+            Returns the size in bits of the hash.
+            </summary>
+        </member>
+        <member name="P:Npgsql.HashAlgorithm.InputBlockSize">
+            <summary>
+            Must be overriden if not 1
+            </summary>
+        </member>
+        <member name="P:Npgsql.HashAlgorithm.OutputBlockSize">
+            <summary>
+            Must be overriden if not 1
+            </summary>
+        </member>
+        <member name="T:Npgsql.MD5">
+            <summary>
+            Common base class for all derived MD5 implementations.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5.#ctor">
+            <summary>
+            Called from constructor of derived class.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5.Create">
+            <summary>
+            Creates the default derived class.
+            </summary>
+        </member>
+        <member name="T:Npgsql.MD5CryptoServiceProvider">
+            <summary>
+            C# implementation of the MD5 cryptographic hash function.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.#ctor">
+            <summary>
+            Creates a new MD5CryptoServiceProvider.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.HashCore(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Drives the hashing function.
+            </summary>
+            <param name="rgb">Byte array containing the data to hash.</param>
+            <param name="start">Where in the input buffer to start.</param>
+            <param name="size">Size in bytes of the data in the buffer to hash.</param>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.HashFinal">
+            <summary>
+            This finalizes the hash.  Takes the data from the chaining variables and returns it.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.Initialize">
+            <summary>
+            Resets the class after use.  Called automatically after hashing is done.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.ProcessBlock(System.Byte[],System.Int32)">
+            <summary>
+            This is the meat of the hash function.  It is what processes each block one at a time.
+            </summary>
+            <param name="inputBuffer">Byte array to process data from.</param>
+            <param name="inputOffset">Where in the byte array to start processing.</param>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.ProcessFinalBlock(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Pads and then processes the final block.
+            </summary>
+            <param name="inputBuffer">Buffer to grab data from.</param>
+            <param name="inputOffset">Position in buffer in bytes to get data from.</param>
+            <param name="inputCount">How much data in bytes in the buffer to use.</param>
+        </member>
+        <member name="T:Npgsql.NpgsqlAsciiRow">
+            <summary>
+            This class represents the AsciiRow (version 2) and DataRow (version 3+)
+            message sent from the PostgreSQL server.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlRow">
+            <summary>
+            This is the abstract base class for NpgsqlAsciiRow and NpgsqlBinaryRow.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlRow.Item(System.Int32)">
+            <summary>
+            Provide access to the fields in this row.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlBackEndKeyData">
+            <summary>
+            This class represents a BackEndKeyData message received
+            from PostgreSQL
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlBinaryRow">
+            <summary>
+            This class represents the BinaryRow message sent from  the PostgreSQL
+            server.  This is unused as of protocol version 3.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlBind">
+             <summary>
+             This class represents the Bind message sent to PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlCancelRequest">
+             <summary>
+             This class represents the CancelRequest message sent to PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlState">
+            <summary> This class represents the base class for the state pattern design pattern
+             implementation.
+             </summary>
+            
+        </member>
+        <member name="M:Npgsql.NpgsqlState.ChangeState(Npgsql.NpgsqlConnector,Npgsql.NpgsqlState)">
+            <summary>
+            This method is used by the states to change the state of the context.
+             </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlState.ProcessBackendResponses(Npgsql.NpgsqlConnector)">
+            <summary>
+             This method is responsible to handle all protocol messages sent from the backend.
+             It holds all the logic to do it.
+             To exchange data, it uses a Mediator object from which it reads/writes information
+             to handle backend requests.
+             </summary>
+            
+        </member>
+        <member name="M:Npgsql.NpgsqlClosedState.ResolveIPHost(System.String)">
+            <summary>
+            Resolve a host name or IP address.
+            This is needed because if you call Dns.Resolve() with an IP address, it will attempt
+            to resolve it as a host name, when it should just convert it to an IP address.
+            </summary>
+            <param name="HostName"></param>
+        </member>
+        <member name="T:Npgsql.NpgsqlCommand">
+            <summary>
+            Represents a SQL statement or function (stored procedure) to execute
+            against a PostgreSQL database. This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class with the text of the query.
+            </summary>
+            <param name="cmdText">The text of the query.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String,Npgsql.NpgsqlConnection)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class with the text of the query and a <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>.
+            </summary>
+            <param name="cmdText">The text of the query.</param>
+            <param name="connection">A <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> that represents the connection to a PostgreSQL server.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String,Npgsql.NpgsqlConnection,Npgsql.NpgsqlTransaction)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class with the text of the query, a <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>, and the <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>.
+            </summary>
+            <param name="cmdText">The text of the query.</param>
+            <param name="connection">A <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> that represents the connection to a PostgreSQL server.</param>
+            <param name="transaction">The <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see> in which the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> executes.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String,Npgsql.NpgsqlConnector)">
+            <summary>
+            Used to execute internal commands.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.Cancel">
+            <summary>
+            Attempts to cancel the execution of a <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>.
+            </summary>
+            <remarks>This Method isn't implemented yet.</remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.System#ICloneable#Clone">
+            <summary>
+            Create a new command based on this one.
+            </summary>
+            <returns>A new NpgsqlCommand object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.Clone">
+            <summary>
+            Create a new connection based on this one.
+            </summary>
+            <returns>A new NpgsqlConnection object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.System#Data#IDbCommand#CreateParameter">
+            <summary>
+            Creates a new instance of an <see cref="T:System.Data.IDbDataParameter">IDbDataParameter</see> object.
+            </summary>
+            <returns>An <see cref="T:System.Data.IDbDataParameter">IDbDataParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.CreateParameter">
+            <summary>
+            Creates a new instance of a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.
+            </summary>
+            <returns>A <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.ExecuteNonQuery">
+            <summary>
+            Executes a SQL statement against the connection and returns the number of rows affected.
+            </summary>
+            <returns>The number of rows affected.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.System#Data#IDbCommand#ExecuteReader">
+            <summary>
+            Sends the <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> to
+            the <see cref="T:Npgsql.NpgsqlConnection">Connection</see> and builds a
+            <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see>.
+            </summary>
+            <returns>A <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.System#Data#IDbCommand#ExecuteReader(System.Data.CommandBehavior)">
+            <summary>
+            Sends the <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> to
+            the <see cref="T:Npgsql.NpgsqlConnection">Connection</see> and builds a
+            <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see>
+            using one of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.
+            </summary>
+            <param name="cb">One of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.</param>
+            <returns>A <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.ExecuteReader">
+            <summary>
+            Sends the <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> to
+            the <see cref="T:Npgsql.NpgsqlConnection">Connection</see> and builds a
+            <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see>.
+            </summary>
+            <returns>A <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.ExecuteReader(System.Data.CommandBehavior)">
+            <summary>
+            Sends the <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> to
+            the <see cref="T:Npgsql.NpgsqlConnection">Connection</see> and builds a
+            <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see>
+            using one of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.
+            </summary>
+            <param name="cb">One of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.</param>
+            <returns>A <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see> object.</returns>
+            <remarks>Currently the CommandBehavior parameter is ignored.</remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.BindParameters">
+            <summary>
+             This method binds the parameters from parameters collection to the bind
+             message.
+             </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.ExecuteScalar">
+            <summary>
+            Executes the query, and returns the first column of the first row
+            in the result set returned by the query. Extra columns or rows are ignored.
+            </summary>
+            <returns>The first column of the first row in the result set,
+            or a null reference if the result set is empty.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.Prepare">
+            <summary>
+            Creates a prepared version of the command on a PostgreSQL server.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.CheckConnectionState">
+            <summary>
+             This method checks the connection state to see if the connection
+             is set or it is open. If one of this conditions is not met, throws
+             an InvalidOperationException
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.GetCommandText">
+            <summary>
+            This method substitutes the <see cref="P:Npgsql.NpgsqlCommand.Parameters">Parameters</see>, if exist, in the command
+            to their actual values.
+            The parameter name format is <b>:ParameterName</b>.
+            </summary>
+            <returns>A version of <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> with the <see cref="P:Npgsql.NpgsqlCommand.Parameters">Parameters</see> inserted.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.ProcessRefcursorFunctionReturn(System.String)">
+            <summary>
+             This methods takes a string with a function call witch returns a refcursor or a set of
+             refcursor. It will return the names of the open cursors/portals which will hold
+             results. In turn, it returns the string which is needed to get the data of this cursors
+             in form of one resultset for each cursor open. This way, clients don't need to do anything
+             else besides calling function normally to get results in this way.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.CommandText">
+            <summary>
+            Gets or sets the SQL statement or function (stored procedure) to execute at the data source.
+            </summary>
+            <value>The Transact-SQL statement or stored procedure to execute. The default is an empty string.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.CommandTimeout">
+            <summary>
+            Gets or sets the wait time before terminating the attempt
+            to execute a command and generating an error.
+            </summary>
+            <value>The time (in seconds) to wait for the command to execute.
+            The default is 20 seconds.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.CommandType">
+            <summary>
+            Gets or sets a value indicating how the
+            <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> property is to be interpreted.
+            </summary>
+            <value>One of the <see cref="T:System.Data.CommandType">CommandType</see> values. The default is <see cref="T:System.Data.CommandType">CommandType.Text</see>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.Connection">
+            <summary>
+            Gets or sets the <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>
+            used by this instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>.
+            </summary>
+            <value>The connection to a data source. The default value is a null reference.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.Parameters">
+            <summary>
+            Gets the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see>.
+            </summary>
+            <value>The parameters of the SQL statement or function (stored procedure). The default is an empty collection.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.Transaction">
+            <summary>
+            Gets or sets the <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>
+            within which the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> executes.
+            </summary>
+            <value>The <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>.
+            The default value is a null reference.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.UpdatedRowSource">
+            <summary>
+            Gets or sets how command results are applied to the <see cref="T:System.Data.DataRow">DataRow</see>
+            when used by the <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)">Update</see>
+            method of the <see cref="T:System.Data.Common.DbDataAdapter">DbDataAdapter</see>.
+            </summary>
+            <value>One of the <see cref="T:System.Data.UpdateRowSource">UpdateRowSource</see> values.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.LastInsertedOID">
+            <summary>
+            Returns oid of inserted row. This is only updated when using executenonQuery and when command inserts just a single row. If table is created without oids, this will always be 0.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlCommandBuilder">
+            <summary>
+             This class is responsible to create database commands for automatic insert, update and delete operations.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommandBuilder.DeriveParameters(Npgsql.NpgsqlCommand)">
+            <summary>
+            
+             This method is reponsible to derive the command parameter list with values obtained from function definition. 
+             It clears the Parameters collection of command. Also, if there is any parameter type which is not supported by Npgsql, an InvalidOperationException will be thrown.
+             Parameters name will be parameter1, parameter2, ...
+             For while, only parameter name and NpgsqlDbType are obtained.
+            </summary>
+             <param name="command">NpgsqlCommand whose function parameters will be obtained.</param>
+        </member>
+        <member name="T:Npgsql.NoticeEventHandler">
+            <summary>
+            Represents the method that handles the <see cref="E:Npgsql.NpgsqlConnection.Notification">Notice</see> events.
+            </summary>
+            <param name="e">A <see cref="T:Npgsql.NpgsqlNoticeEventArgs">NpgsqlNoticeEventArgs</see> that contains the event data.</param>
+        </member>
+        <member name="T:Npgsql.NotificationEventHandler">
+            <summary>
+            Represents the method that handles the <see cref="E:Npgsql.NpgsqlConnection.Notification">Notification</see> events.
+            </summary>
+            <param name="sender">The source of the event.</param>
+            <param name="e">A <see cref="T:Npgsql.NpgsqlNotificationEventArgs">NpgsqlNotificationEventArgs</see> that contains the event data.</param>
+        </member>
+        <member name="T:Npgsql.NpgsqlConnection">
+            <summary>
+            This class represents a connection to a
+            PostgreSQL server.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.#ctor">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> class.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> class
+            and sets the <see cref="P:Npgsql.NpgsqlConnection.ConnectionString">ConnectionString</see>.
+            </summary>
+            <param name="ConnectionString">The connection used to open the PostgreSQL database.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.System#Data#IDbConnection#BeginTransaction">
+            <summary>
+            Begins a database transaction.
+            </summary>
+            <returns>An <see cref="T:System.Data.IDbTransaction">IDbTransaction</see>
+            object representing the new transaction.</returns>
+            <remarks>
+            Currently there's no support for nested transactions.
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.System#Data#IDbConnection#BeginTransaction(System.Data.IsolationLevel)">
+            <summary>
+            Begins a database transaction with the specified isolation level.
+            </summary>
+            <param name="level">The <see cref="T:System.Data.IsolationLevel">isolation level</see> under which the transaction should run.</param>
+            <returns>An <see cref="T:System.Data.IDbTransaction">IDbTransaction</see>
+            object representing the new transaction.</returns>
+            <remarks>
+            Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend.
+            There's no support for nested transactions.
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.BeginTransaction">
+            <summary>
+            Begins a database transaction.
+            </summary>
+            <returns>A <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>
+            object representing the new transaction.</returns>
+            <remarks>
+            Currently there's no support for nested transactions.
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.BeginTransaction(System.Data.IsolationLevel)">
+            <summary>
+            Begins a database transaction with the specified isolation level.
+            </summary>
+            <param name="level">The <see cref="T:System.Data.IsolationLevel">isolation level</see> under which the transaction should run.</param>
+            <returns>A <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>
+            object representing the new transaction.</returns>
+            <remarks>
+            Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend.
+            There's no support for nested transactions.
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.Open">
+            <summary>
+            Opens a database connection with the property settings specified by the
+            <see cref="P:Npgsql.NpgsqlConnection.ConnectionString">ConnectionString</see>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.ChangeDatabase(System.String)">
+            <summary>
+            This method changes the current database by disconnecting from the actual
+            database and connecting to the specified.
+            </summary>
+            <param name="dbName">The name of the database to use in place of the current database.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.Close">
+            <summary>
+            Releases the connection to the database.  If the connection is pooled, it will be
+            made available for re-use.  If it is non-pooled, the actual connection will be shutdown.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.System#Data#IDbConnection#CreateCommand">
+            <summary>
+            Creates and returns a <see cref="T:System.Data.IDbCommand">IDbCommand</see>
+            object associated with the <see cref="T:System.Data.IDbConnection">IDbConnection</see>.
+            </summary>
+            <returns>A <see cref="T:System.Data.IDbCommand">IDbCommand</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.CreateCommand">
+            <summary>
+            Creates and returns a <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>
+            object associated with the <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>.
+            </summary>
+            <returns>A <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.Dispose(System.Boolean)">
+            <summary>
+            Releases all resources used by the
+            <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>.
+            </summary>
+            <param name="disposing"><b>true</b> when called from Dispose();
+            <b>false</b> when being called from the finalizer.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.System#ICloneable#Clone">
+            <summary>
+            Create a new connection based on this one.
+            </summary>
+            <returns>A new NpgsqlConnection object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.Clone">
+            <summary>
+            Create a new connection based on this one.
+            </summary>
+            <returns>A new NpgsqlConnection object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.DefaultCertificateSelectionCallback(System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)">
+            <summary>
+            Default SSL CertificateSelectionCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.DefaultCertificateValidationCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[])">
+            <summary>
+            Default SSL CertificateValidationCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.DefaultPrivateKeySelectionCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.String)">
+            <summary>
+            Default SSL PrivateKeySelectionCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.LogConnectionString">
+            <summary>
+            Write each key/value pair in the connection string to the log.
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "M:Npgsql.NpgsqlConnection.GetSchema" -->
+        <member name="M:Npgsql.NpgsqlConnection.GetSchema(System.String)">
+            <summary>
+            Returns the schema collection specified by the collection name.
+            </summary>
+            <param name="collectionName">The collection name.</param>
+            <returns>The collection specified.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.GetSchema(System.String,System.String[])">
+            <summary>
+            Returns the schema collection specified by the collection name filtered by the restrictions.
+            </summary>
+            <param name="collectionName">The collection name.</param>
+            <param name="restrictions">
+            The restriction values to filter the results.  A description of the restrictions is contained
+            in the Restrictions collection.
+            </param>
+            <returns>The collection specified.</returns>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnection.Notice">
+            <summary>
+            Occurs on NoticeResponses from the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnection.Notification">
+            <summary>
+            Occurs on NotificationResponses from the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnection.CertificateSelectionCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnection.CertificateValidationCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.CertificateValidationCallback delegate.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnection.PrivateKeySelectionCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate.
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "P:Npgsql.NpgsqlConnection.ConnectionString" -->
+        <member name="P:Npgsql.NpgsqlConnection.Host">
+            <summary>
+            Backend server host name.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.Port">
+            <summary>
+            Backend server port.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.SSL">
+            <summary>
+            If true, the connection will attempt to use SSL.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.ConnectionTimeout">
+            <summary>
+            Gets the time to wait while trying to establish a connection
+            before terminating the attempt and generating an error.
+            </summary>
+            <value>The time (in seconds) to wait for a connection to open. The default value is 15 seconds.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.ConnectionLifeTime">
+            <summary>
+            Gets the time to wait before closing unused connections in the pool if the count
+            of all connections exeeds MinPoolSize.
+            </summary>
+            <remarks>
+            If connection pool contains unused connections for ConnectionLifeTime seconds,
+            the half of them will be closed. If there will be unused connections in a second
+            later then again the half of them will be closed and so on.
+            This strategy provide smooth change of connection count in the pool.
+            </remarks>
+            <value>The time (in seconds) to wait. The default value is 15 seconds.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.Database">
+            <summary>
+             Gets the name of the current database or the database to be used after a connection is opened.
+             </summary>
+             <value>The name of the current database or the name of the database to be
+             used after a connection is opened. The default value is the empty string.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.SyncNotification">
+            <summary>
+            Gets flag indicating if we are using Synchronous notification or not.
+            The default value is false.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.State">
+            <summary>
+            Gets the current state of the connection.
+            </summary>
+            <value>A bitwise combination of the <see cref="T:System.Data.ConnectionState">ConnectionState</see> values. The default is <b>Closed</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.ServerVersion">
+            <summary>
+            Version of the PostgreSQL backend.
+            This can only be called when there is an active connection.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.BackendProtocolVersion">
+            <summary>
+            Protocol version in use.
+            This can only be called when there is an active connection.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.Connector">
+            <summary>
+            The connector object connected to the backend.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.ConnectionStringValues">
+            <summary>
+            Gets the NpgsqlConnectionString containing the parsed connection string values.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.UserName">
+            <summary>
+            User name.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.Password">
+            <summary>
+            Password.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.Pooling">
+            <summary>
+            Determine if connection pooling will be used for this connection.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlConnectionString">
+            <summary>
+            Represents a connection string.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.Clone">
+            <summary>
+            Return an exact copy of this NpgsqlConnectionString.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ParseConnectionString(System.String)">
+            <summary>
+            This method parses a connection string and returns a new NpgsqlConnectionString object.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.Contains(System.String)">
+            <summary>
+            Report whether a value with the provided key name exists in this connection string.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToString">
+            <summary>
+            Return a clean string representation of this connection string.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToString(System.String)">
+            <summary>
+            Return a string value from the current connection string, even if the
+            given key is not in the string or if the value is null.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToString(System.String,System.String)">
+            <summary>
+            Return a string value from the current connection string, even if the
+            given key is not in the string or if the value is null.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToInt32(System.String)">
+            <summary>
+            Return an integer value from the current connection string, even if the
+            given key is not in the string or if the value is null.
+            Throw an appropriate exception if the value cannot be coerced to an integer.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToInt32(System.String,System.Int32,System.Int32)">
+            <summary>
+            Return an integer value from the current connection string, even if the
+            given key is not in the string or if the value is null.
+            Throw an appropriate exception if the value cannot be coerced to an integer.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToInt32(System.String,System.Int32)">
+            <summary>
+            Return an integer value from the current connection string, even if the
+            given key is not in the string or if the value is null.
+            Throw an appropriate exception if the value cannot be coerced to an integer.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToInt32(System.String,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Return an integer value from the current connection string, even if the
+            given key is not in the string.
+            Throw an appropriate exception if the value cannot be coerced to an integer.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToBool(System.String)">
+            <summary>
+            Return a boolean value from the current connection string, even if the
+            given key is not in the string.
+            Throw an appropriate exception if the value is not recognized as a boolean.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToBool(System.String,System.Boolean)">
+            <summary>
+            Return a boolean value from the current connection string, even if the
+            given key is not in the string.
+            Throw an appropriate exception if the value is not recognized as a boolean.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToProtocolVersion(System.String)">
+            <summary>
+            Return a ProtocolVersion from the current connection string, even if the
+            given key is not in the string.
+            Throw an appropriate exception if the value is not recognized as
+            integer 2 or 3.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToSslMode(System.String,Npgsql.SslMode)">
+            <summary>
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnectionString.Item(System.String)">
+            <summary>
+            Case insensative accessor for indivual connection string values.
+            </summary>
+        </member>
+        <member name="T:Npgsql.ConnectionStringKeys">
+            <summary>
+            Know connection string keys.
+            </summary>
+        </member>
+        <member name="T:Npgsql.ConnectionStringDefaults">
+            <summary>
+            Connection string default values.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlConnector">
+            <summary>
+            !!! Helper class, for compilation only.
+            Connector implements the logic for the Connection Objects to
+            access the physical connection to the database, and isolate
+            the application developer from connection pooling internals.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.#ctor(Npgsql.NpgsqlConnectionString,System.Boolean,System.Boolean)">
+            <summary>
+            Constructor.
+            </summary>
+            <param name="Shared">Controls whether the connector can be shared.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.IsValid">
+            <summary>
+            This method checks if the connector is still ok.
+            We try to send a simple query text, select 1 as ConnectionTest;
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.ReleaseResources">
+            <summary>
+            This method is responsible for releasing all resources associated with this Connector.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.ReleasePlansPortals">
+            <summary>
+            This method is responsible to release all portals used by this Connector.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.CheckErrors">
+            <summary>
+            Check for mediator errors (sent by backend) and throw the appropriate
+            exception if errors found.  This needs to be called after every interaction
+            with the backend.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.CheckNotices">
+            <summary>
+            Check for notices and fire the appropiate events.
+            This needs to be called after every interaction
+            with the backend.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.CheckNotifications">
+            <summary>
+            Check for notifications and fire the appropiate events.
+            This needs to be called after every interaction
+            with the backend.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.CheckErrorsAndNotifications">
+            <summary>
+            Check for errors AND notifications in one call.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.DefaultCertificateSelectionCallback(System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)">
+            <summary>
+            Default SSL CertificateSelectionCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.DefaultCertificateValidationCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[])">
+            <summary>
+            Default SSL CertificateValidationCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.DefaultPrivateKeySelectionCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.String)">
+            <summary>
+            Default SSL PrivateKeySelectionCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.ProcessServerVersion">
+            <summary>
+            This method is required to set all the version dependent features flags.
+            SupportsPrepare means the server can use prepared query plans (7.3+)
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.Open">
+            <summary>
+            Opens the physical connection to the server.
+            </summary>
+            <remarks>Usually called by the RequestConnector
+            Method of the connection pool manager.</remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.Close">
+            <summary>
+            Closes the physical connection to the server.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.NextPortalName">
+            <summary>
+             Returns next portal index.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.NextPlanName">
+            <summary>
+             Returns next plan index.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnector.Notice">
+            <summary>
+            Occurs on NoticeResponses from the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnector.Notification">
+            <summary>
+            Occurs on NotificationResponses from the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnector.CertificateSelectionCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnector.CertificateValidationCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.CertificateValidationCallback delegate.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnector.PrivateKeySelectionCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.State">
+            <summary>
+            Gets the current state of the connection.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.ServerVersion">
+            <summary>
+            Version of backend server this connector is connected to.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.BackendProtocolVersion">
+            <summary>
+            Backend protocol version in use by this connector.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.Stream">
+            <summary>
+            The physical connection stream to the backend.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.Socket">
+            <summary>
+            The physical connection socket to the backend.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.IsInitialized">
+            <summary>
+            Reports if this connector is fully connected.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.Mediator">
+            <summary>
+            The connection mediator.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.Transaction">
+            <summary>
+            Report if the connection is in a transaction.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.SupportsPrepare">
+            <summary>
+            Report whether the current connection can support prepare functionality.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlConnectorPool">
+            <summary>
+            This class manages all connector objects, pooled AND non-pooled.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlConnectorPool.ConnectorPoolMgr">
+            <value>Unique static instance of the connector pool
+            mamager.</value>
+        </member>
+        <member name="F:Npgsql.NpgsqlConnectorPool.PooledConnectors">
+            <value>Map of index to unused pooled connectors, avaliable to the
+            next RequestConnector() call.</value>
+            <remarks>This hashmap will be indexed by connection string.
+            This key will hold a list of queues of pooled connectors available to be used.</remarks>
+        </member>
+        <member name="F:Npgsql.NpgsqlConnectorPool.Timer">
+            <value>Timer for tracking unused connections in pools.</value>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.RequestConnector(Npgsql.NpgsqlConnection)">
+            <summary>
+            Searches the shared and pooled connector lists for a
+            matching connector object or creates a new one.
+            </summary>
+            <param name="Connection">The NpgsqlConnection that is requesting
+            the connector. Its ConnectionString will be used to search the
+            pool for available connectors.</param>
+            <returns>A connector object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.RequestPooledConnector(Npgsql.NpgsqlConnection)">
+            <summary>
+            Find a pooled connector.  Handle locking and timeout here.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.RequestPooledConnectorInternal(Npgsql.NpgsqlConnection)">
+            <summary>
+            Find a pooled connector.  Handle shared/non-shared here.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.ReleaseConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Releases a connector, possibly back to the pool for future use.
+            </summary>
+            <remarks>
+            Pooled connectors will be put back into the pool if there is room.
+            Shared connectors should just have their use count decremented
+            since they always stay in the shared pool.
+            </remarks>
+            <param name="Connector">The connector to release.</param>
+            <param name="ForceClose">Force the connector to close, even if it is pooled.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.ReleasePooledConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Release a pooled connector.  Handle locking here.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.ReleasePooledConnectorInternal(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Release a pooled connector.  Handle shared/non-shared here.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.GetNonPooledConnector(Npgsql.NpgsqlConnection)">
+            <summary>
+            Create a connector without any pooling functionality.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.GetPooledConnector(Npgsql.NpgsqlConnection)">
+            <summary>
+            Find an available pooled connector in the non-shared pool, or create
+            a new one if none found.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.GetSharedConnector(Npgsql.NpgsqlConnection)">
+            <summary>
+            Find an available shared connector in the shared pool, or create
+            a new one if none found.
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "M:Npgsql.NpgsqlConnectorPool.FixPoolCountBecauseOfConnectionDisposeFalse(Npgsql.NpgsqlConnection)" -->
+        <member name="M:Npgsql.NpgsqlConnectorPool.UngetNonPooledConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Close the connector.
+            </summary>
+            <param name="Connector">Connector to release</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.UngetPooledConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Put a pooled connector into the pool queue.
+            </summary>
+            <param name="Connector">Connector to pool</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.UngetSharedConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Stop sharing a shared connector.
+            </summary>
+            <param name="Connector">Connector to unshare</param>
+        </member>
+        <member name="T:Npgsql.NpgsqlConnectorPool.ConnectorQueue">
+            <summary>
+            A queue with an extra Int32 for keeping track of busy connections.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlConnectorPool.ConnectorQueue.UseCount">
+            <summary>
+            The number of pooled Connectors that belong to this queue but
+            are currently in use.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlRowUpdatedEventHandler">
+            <summary>
+            Represents the method that handles the <see cref="E:Npgsql.NpgsqlDataAdapter.RowUpdated">RowUpdated</see> events.
+            </summary>
+            <param name="sender">The source of the event.</param>
+            <param name="e">A <see cref="!:Npgsql.NpgsqlRowUpdatedEventArgs">NpgsqlRowUpdatedEventArgs</see> that contains the event data.</param>
+        </member>
+        <member name="T:Npgsql.NpgsqlRowUpdatingEventHandler">
+            <summary>
+            Represents the method that handles the <see cref="E:Npgsql.NpgsqlDataAdapter.RowUpdating">RowUpdating</see> events.
+            </summary>
+            <param name="sender">The source of the event.</param>
+            <param name="e">A <see cref="!:Npgsql.NpgsqlRowUpdatingEventArgs">NpgsqlRowUpdatingEventArgs</see> that contains the event data.</param>
+        </member>
+        <member name="T:Npgsql.NpgsqlDataAdapter">
+            <summary>
+            This class represents an adapter from many commands: select, update, insert and delete to fill <see cref="T:System.Data.DataSet">Datasets.</see>
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlDataReader">
+            <summary>
+            Provides a means of reading a forward-only stream of rows from a PostgreSQL backend.  This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.Dispose">
+            <summary>
+            Releases the resources used by the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.Dispose(System.Boolean)">
+            <summary>
+            Releases the resources used by the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.Close">
+            <summary>
+            Closes the data reader object.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.NextResult">
+            <summary>
+            Advances the data reader to the next result, when multiple result sets were returned by the PostgreSQL backend.
+            </summary>
+            <returns>True if the reader was advanced, otherwise false.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.Read">
+            <summary>
+            Advances the data reader to the next row.
+            </summary>
+            <returns>True if the reader was advanced, otherwise false.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetSchemaTable">
+            <summary>
+            Returns a System.Data.DataTable that describes the column metadata of the DataReader.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetName(System.Int32)">
+            <summary>
+            Return the column name of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetDataTypeOID(System.Int32)">
+            <summary>
+            Return the data type OID of the column at index <param name="Index"></param>.
+            </summary>
+            FIXME: Why this method returns String?
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetDataTypeName(System.Int32)">
+            <summary>
+            Return the data type name of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetFieldType(System.Int32)">
+            <summary>
+            Return the data type of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetFieldDbType(System.Int32)">
+            <summary>
+            Return the data DbType of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetFieldNpgsqlDbType(System.Int32)">
+            <summary>
+            Return the data NpgsqlDbType of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetValue(System.Int32)">
+            <summary>
+            Return the value of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetValues(System.Object[])">
+            <summary>
+            Copy values from each column in the current row into <param name="Values"></param>.
+            </summary>
+            <returns>The number of column values copied.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetOrdinal(System.String)">
+            <summary>
+            Return the column name of the column named <param name="Name"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetBoolean(System.Int32)">
+            <summary>
+            Gets the value of a column as Boolean.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetByte(System.Int32)">
+            <summary>
+            Gets the value of a column as Byte.  Not implemented.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Gets raw data from a column.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetChar(System.Int32)">
+            <summary>
+            Gets the value of a column as Char.  Not implemented.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)">
+            <summary>
+            Gets raw data from a column.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetGuid(System.Int32)">
+            <summary>
+            Gets the value of a column converted to a Guid.  Not implemented.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetInt16(System.Int32)">
+            <summary>
+            Gets the value of a column as Int16.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetInt32(System.Int32)">
+            <summary>
+            Gets the value of a column as Int32.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetInt64(System.Int32)">
+            <summary>
+            Gets the value of a column as Int64.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetFloat(System.Int32)">
+            <summary>
+            Gets the value of a column as Single.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetDouble(System.Int32)">
+            <summary>
+            Gets the value of a column as Double.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetString(System.Int32)">
+            <summary>
+            Gets the value of a column as String.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetDecimal(System.Int32)">
+            <summary>
+            Gets the value of a column as Decimal.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetDateTime(System.Int32)">
+            <summary>
+            Gets the value of a column as DateTime.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetData(System.Int32)">
+            <summary>
+            Not implemented.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.IsDBNull(System.Int32)">
+            <summary>
+            Report whether the value in a column is DBNull.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetTableNameFromQuery">
+            <summary>
+             This methods parses the command text and tries to get the tablename
+             from it.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.Depth">
+            <summary>
+            Gets a value indicating the depth of nesting for the current row.  Always returns zero.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.IsClosed">
+            <summary>
+            Gets a value indicating whether the data reader is closed.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.RecordsAffected">
+            <summary>
+            Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.HasRows">
+            <summary>
+            Indicates if NpgsqlDatareader has rows to be read.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlDataReader.ReaderClosed">
+            <summary>
+            Is raised whenever Close() is called.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.FieldCount">
+            <summary>
+            Gets the number of columns in the current row.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.Item(System.Int32)">
+            <summary>
+            Gets the value of a column in its native format.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.Item(System.String)">
+            <summary>
+            Gets the value of a column in its native format.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlDataReader.KeyLookup.primaryKey">
+            <summary>
+            Contains the column names as the keys
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlDataReader.KeyLookup.uniqueColumns">
+            <summary>
+            Contains all unique columns
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlDescribe">
+             <summary>
+             This class represents the Parse message sent to PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlNoticeEventArgs">
+            <summary>
+            EventArgs class to send Notice parameters, which are just NpgsqlError's in a lighter context.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlNoticeEventArgs.Notice">
+            <summary>
+            Notice information.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlError">
+            <summary>
+            This class represents the ErrorResponse and NoticeResponse
+            message sent from PostgreSQL server.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlError.ToString">
+            <summary>
+            Return a string representation of this error object.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Severity">
+            <summary>
+            Severity code.  All versions.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Code">
+            <summary>
+            Error code.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Message">
+            <summary>
+            Terse error message.  All versions.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Detail">
+            <summary>
+            Detailed error message.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Hint">
+            <summary>
+            Suggestion to help resolve the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Position">
+            <summary>
+            Position (one based) within the query string where the error was encounterd.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Where">
+            <summary>
+            Trace back information.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.File">
+            <summary>
+            Source file (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Line">
+            <summary>
+            Source file line number (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Routine">
+            <summary>
+            Source routine (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.ErrorSql">
+            <summary>
+            String containing the sql sent which produced this error.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.BackendProtocolVersion">
+            <summary>
+            Backend protocol version in use.
+            </summary>
+        </member>
+        <member name="T:Npgsql.LogLevel">
+            <summary>
+            The level of verbosity of the NpgsqlEventLog
+            </summary>
+        </member>
+        <member name="F:Npgsql.LogLevel.None">
+            <summary>
+            Don't log at all
+            </summary>
+        </member>
+        <member name="F:Npgsql.LogLevel.Normal">
+            <summary>
+            Only log the most common issues
+            </summary>
+        </member>
+        <member name="F:Npgsql.LogLevel.Debug">
+            <summary>
+            Log everything
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlEventLog">
+            <summary>
+            This class handles all the Npgsql event and debug logging
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMsg(System.String,Npgsql.LogLevel)">
+            <summary>
+            Writes a string to the Npgsql event log if msglevel is bigger then <see cref="P:Npgsql.NpgsqlEventLog.Level">NpgsqlEventLog.Level</see>
+            </summary>
+            <remarks>
+            This method is obsolete and should no longer be used.
+            It is likely to be removed in future versions of Npgsql
+            </remarks>
+            <param name="message">The message to write to the event log</param>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMsg(System.Resources.ResourceManager,System.String,Npgsql.LogLevel,System.Object[])">
+            <summary>
+            Writes a string to the Npgsql event log if msglevel is bigger then <see cref="P:Npgsql.NpgsqlEventLog.Level">NpgsqlEventLog.Level</see>
+            </summary>
+            <param name="resman">The <see cref="T:System.Resources.ResourceManager">ResourceManager</see> to get the localized resources</param>
+            <param name="ResourceString">The name of the resource that should be fetched by the <see cref="T:System.Resources.ResourceManager">ResourceManager</see></param>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="Parameters">The additional parameters that shall be included into the log-message (must be compatible with the string in the resource):</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogIndexerGet(Npgsql.LogLevel,System.String,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling the Get-part of an Indexer to the log file.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Indexer</param>
+            <param name="IndexerParam">The parameter given to the Indexer</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogIndexerSet(Npgsql.LogLevel,System.String,System.Object,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling the Set-part of an Indexer to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Indexer</param>
+            <param name="IndexerParam">The parameter given to the Indexer</param>
+            <param name="value">The value the Indexer is set to</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogPropertyGet(Npgsql.LogLevel,System.String,System.String)">
+            <summary>
+            Writes the default log-message for the action of calling the Get-part of a Property to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Property</param>
+            <param name="PropertyName">The name of the Property</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogPropertySet(Npgsql.LogLevel,System.String,System.String,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling the Set-part of a Property to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Property</param>
+            <param name="PropertyName">The name of the Property</param>
+            <param name="value">The value the Property is set to</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String)">
+            <summary>
+            Writes the default log-message for the action of calling a Method without Arguments to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Method</param>
+            <param name="MethodName">The name of the Method</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling a Method with one Argument to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Method</param>
+            <param name="MethodName">The name of the Method</param>
+            <param name="MethodParameter">The value of the Argument of the Method</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling a Method with two Arguments to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Method</param>
+            <param name="MethodName">The name of the Method</param>
+            <param name="MethodParameter1">The value of the first Argument of the Method</param>
+            <param name="MethodParameter2">The value of the second Argument of the Method</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object,System.Object,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling a Method with three Arguments to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Method</param>
+            <param name="MethodName">The name of the Method</param>
+            <param name="MethodParameter1">The value of the first Argument of the Method</param>
+            <param name="MethodParameter2">The value of the second Argument of the Method</param>
+            <param name="MethodParameter3">The value of the third Argument of the Method</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object[])">
+            <summary>
+            Writes the default log-message for the action of calling a Method with more than three Arguments to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Method</param>
+            <param name="MethodName">The name of the Method</param>
+            <param name="MethodParameters">A <see cref="T:System.Object">Object</see>-Array with zero or more Ojects that are Arguments of the Method.</param>
+        </member>
+        <member name="P:Npgsql.NpgsqlEventLog.Level">
+            <summary>
+             Sets/Returns the level of information to log to the logfile.
+             </summary>
+             <value>The current <see cref="T:Npgsql.LogLevel">LogLevel</see></value>
+        </member>
+        <member name="P:Npgsql.NpgsqlEventLog.LogName">
+            <summary>
+             Sets/Returns the filename to use for logging.
+             </summary>
+             <value>The filename of the current Log file.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlEventLog.EchoMessages">
+            <summary>
+             Sets/Returns whether Log messages should be echoed to the console
+             </summary>
+             <value><b>true</b> if Log messages are echoed to the console, otherwise <b>false</b></value>
+        </member>
+        <member name="T:Npgsql.NpgsqlException">
+            <summary>
+            The exception that is thrown when the PostgreSQL backend reports errors.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlException.#ctor(System.Collections.IList)">
+            <summary>
+            Construct a backend error exception based on a list of one or more
+            backend errors.  The basic Exception.Message will be built from the
+            first (usually the only) error in the list.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlException.ToString">
+            <summary>
+            Format a .NET style exception string.
+            Include all errors in the list, including any hints.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlException.AppendString(System.IO.StringWriter,System.String,System.String)">
+            <summary>
+            Append a line to the given Stream, first checking for zero-length.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Item(System.Int32)">
+            <summary>
+            Provide access to the entire list of errors provided by the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Severity">
+            <summary>
+            Severity code.  All versions.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Code">
+            <summary>
+            Error code.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.BaseMessage">
+            <summary>
+            Basic error message.  All versions.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Detail">
+            <summary>
+            Detailed error message.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Hint">
+            <summary>
+            Suggestion to help resolve the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Position">
+            <summary>
+            Position (one based) within the query string where the error was encounterd.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Where">
+            <summary>
+            Trace back information.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.File">
+            <summary>
+            Source file (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Line">
+            <summary>
+            Source file line number (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Routine">
+            <summary>
+            Source routine (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.ErrorSql">
+            <summary>
+            String containing the sql sent which produced this error.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Errors">
+            <summary>
+            Returns the entire list of errors provided by the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlExecute">
+             <summary>
+             This class represents the Parse message sent to PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlFlush">
+             <summary>
+             This class represents the Parse message sent to PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlMediator">
+            <summary>
+             This class is responsible for serving as bridge between the backend
+             protocol handling and the core classes. It is used as the mediator for
+             exchanging data generated/sent from/to backend.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlMessageTypes_Ver_2">
+            <summary>
+            Class NpgsqlMessageTypes_Ver_2.
+            Defines PG frontend/backend protocol message types and parameters used in protocol version 2.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlMessageTypes_Ver_3">
+            <summary>
+            Class NpgsqlMessageTypes_Ver_3.
+            Defines PG frontend/backend protocol message types and parameters used in protocol version 3.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlNotificationEventArgs">
+            <summary>
+            EventArgs class to send Notification parameters.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlNotificationEventArgs.PID">
+            <summary>
+            Process ID of the PostgreSQL backend that sent this notification.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlNotificationEventArgs.Condition">
+            <summary>
+            Condition that triggered that notification.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlParameter">
+            <summary>
+             This class represents a parameter to a command that will be sent to server
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "M:Npgsql.NpgsqlParameter.#ctor" -->
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            class with the parameter name and a value of the new <b>NpgsqlParameter</b>.
+            </summary>
+            <param name="parameterName">The name of the parameter to map.</param>
+            <param name="value">An <see cref="T:System.Object">Object</see> that is the value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.</param>
+            <remarks>
+            <p>When you specify an <see cref="T:System.Object">Object</see>
+            in the value parameter, the <see cref="T:System.Data.DbType">DbType</see> is
+            inferred from the .NET Framework type of the <b>Object</b>.</p>
+            <p>When using this constructor, you must be aware of a possible misuse of the constructor which takes a DbType parameter.
+            This happens when calling this constructor passing an int 0 and the compiler thinks you are passing a value of DbType.
+            Use <code> Convert.ToInt32(value) </code> for example to have compiler calling the correct constructor.</p>
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlNativeTypeInfo)">
+            <summary>
+            Internal constructor to handle parameter creation from CommandBuilder passing a NpgsqlNativeTypeInfo directly.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            class with the parameter name and the data type.
+            </summary>
+            <param name="parameterName">The name of the parameter to map.</param>
+            <param name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            class with the parameter name, the <see cref="T:System.Data.DbType">DbType</see>, and the size.
+            </summary>
+            <param name="parameterName">The name of the parameter to map.</param>
+            <param name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
+            <param name="size">The length of the parameter.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            class with the parameter name, the <see cref="T:System.Data.DbType">DbType</see>, the size,
+            and the source column name.
+            </summary>
+            <param name="parameterName">The name of the parameter to map.</param>
+            <param name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
+            <param name="size">The length of the parameter.</param>
+            <param name="sourceColumn">The name of the source column.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32,System.String,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.Data.DataRowVersion,System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            class with the parameter name, the <see cref="T:System.Data.DbType">DbType</see>, the size,
+            the source column name, a <see cref="T:System.Data.ParameterDirection">ParameterDirection</see>,
+            the precision of the parameter, the scale of the parameter, a
+            <see cref="T:System.Data.DataRowVersion">DataRowVersion</see> to use, and the
+            value of the parameter.
+            </summary>
+            <param name="parameterName">The name of the parameter to map.</param>
+            <param name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
+            <param name="size">The length of the parameter.</param>
+            <param name="sourceColumn">The name of the source column.</param>
+            <param name="direction">One of the <see cref="T:System.Data.ParameterDirection">ParameterDirection</see> values.</param>
+            <param name="isNullable"><b>true</b> if the value of the field can be null, otherwise <b>false</b>.</param>
+            <param name="precision">The total number of digits to the left and right of the decimal point to which
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved.</param>
+            <param name="scale">The total number of decimal places to which
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved.</param>
+            <param name="sourceVersion">One of the <see cref="T:System.Data.DataRowVersion">DataRowVersion</see> values.</param>
+            <param name="value">An <see cref="T:System.Object">Object</see> that is the value
+            of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.System#ICloneable#Clone">
+            <summary>
+            Creates a new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> that
+            is a copy of the current instance.
+            </summary>
+            <returns>A new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> that is a copy of this instance.</returns>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.Precision">
+            <summary>
+            Gets or sets the maximum number of digits used to represent the
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> property.
+            </summary>
+            <value>The maximum number of digits used to represent the
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> property.
+            The default value is 0, which indicates that the data provider
+            sets the precision for <b>Value</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.Scale">
+            <summary>
+            Gets or sets the number of decimal places to which
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved.
+            </summary>
+            <value>The number of decimal places to which
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved. The default is 0.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.Size">
+            <summary>
+            Gets or sets the maximum size, in bytes, of the data within the column.
+            </summary>
+            <value>The maximum size, in bytes, of the data within the column.
+            The default value is inferred from the parameter value.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.DbType">
+            <summary>
+            Gets or sets the <see cref="T:System.Data.DbType">DbType</see> of the parameter.
+            </summary>
+            <value>One of the <see cref="T:System.Data.DbType">DbType</see> values. The default is <b>String</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.NpgsqlDbType">
+            <summary>
+            Gets or sets the <see cref="T:System.Data.DbType">DbType</see> of the parameter.
+            </summary>
+            <value>One of the <see cref="T:System.Data.DbType">DbType</see> values. The default is <b>String</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.Direction">
+            <summary>
+            Gets or sets a value indicating whether the parameter is input-only,
+            output-only, bidirectional, or a stored procedure return value parameter.
+            </summary>
+            <value>One of the <see cref="T:System.Data.ParameterDirection">ParameterDirection</see>
+            values. The default is <b>Input</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.IsNullable">
+            <summary>
+            Gets or sets a value indicating whether the parameter accepts null values.
+            </summary>
+            <value><b>true</b> if null values are accepted; otherwise, <b>false</b>. The default is <b>false</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.ParameterName">
+            <summary>
+            Gets or sets the name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.
+            </summary>
+            <value>The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.
+            The default is an empty string.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.SourceColumn">
+            <summary>
+            Gets or sets the name of the source column that is mapped to the
+            <see cref="T:System.Data.DataSet">DataSet</see> and used for loading or
+            returning the <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see>.
+            </summary>
+            <value>The name of the source column that is mapped to the
+            <see cref="T:System.Data.DataSet">DataSet</see>. The default is an empty string.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.SourceVersion">
+            <summary>
+            Gets or sets the <see cref="T:System.Data.DataRowVersion">DataRowVersion</see>
+            to use when loading <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see>.
+            </summary>
+            <value>One of the <see cref="T:System.Data.DataRowVersion">DataRowVersion</see> values.
+            The default is <b>Current</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.Value">
+            <summary>
+            Gets or sets the value of the parameter.
+            </summary>
+            <value>An <see cref="T:System.Object">Object</see> that is the value of the parameter.
+            The default value is null.</value>
+        </member>
+        <member name="T:Npgsql.NpgsqlParameterCollection">
+            <summary>
+            Represents a collection of parameters relevant to a <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>
+            as well as their respective mappings to columns in a <see cref="T:System.Data.DataSet">DataSet</see>.
+            This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.#ctor">
+            <summary>
+            Initializes a new instance of the NpgsqlParameterCollection class.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(Npgsql.NpgsqlParameter)">
+            <summary>
+            Adds the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see>.
+            </summary>
+            <param name="value">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
+            <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,System.Object)">
+            <summary>
+            Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> given the specified parameter name and value.
+            </summary>
+            <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.</param>
+            <param name="value">The Value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
+            <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+            <remarks>
+            Use caution when using this overload of the
+            <b>Add</b> method to specify integer parameter values.
+            Because this overload takes a <i>value</i> of type Object,
+            you must convert the integral value to an <b>Object</b>
+            type when the value is zero, as the following C# example demonstrates.
+            <code>parameters.Add(":pname", Convert.ToInt32(0));</code>
+            If you do not perform this conversion, the compiler will assume you
+            are attempting to call the NpgsqlParameterCollection.Add(string, DbType) overload.
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,NpgsqlTypes.NpgsqlDbType)">
+            <summary>
+            Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> given the parameter name and the data type.
+            </summary>
+            <param name="parameterName">The name of the parameter.</param>
+            <param name="parameterType">One of the DbType values.</param>
+            <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32)">
+            <summary>
+            Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> with the parameter name, the data type, and the column length.
+            </summary>
+            <param name="parameterName">The name of the parameter.</param>
+            <param name="parameterType">One of the DbType values.</param>
+            <param name="size">The length of the column.</param>
+            <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32,System.String)">
+            <summary>
+            Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> with the parameter name, the data type, the column length, and the source column name.
+            </summary>
+            <param name="parameterName">The name of the parameter.</param>
+            <param name="parameterType">One of the DbType values.</param>
+            <param name="size">The length of the column.</param>
+            <param name="sourceColumn">The name of the source column.</param>
+            <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.RemoveAt(System.String)">
+            <summary>
+            Removes the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> from the collection using the parameter name.
+            </summary>
+            <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to retrieve.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Contains(System.String)">
+            <summary>
+            Gets a value indicating whether a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> with the specified parameter name exists in the collection.
+            </summary>
+            <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
+            <returns><b>true</b> if the collection contains the parameter; otherwise, <b>false</b>.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.IndexOf(System.String)">
+            <summary>
+            Gets the location of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> in the collection with a specific parameter name.
+            </summary>
+            <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
+            <returns>The zero-based location of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> in the collection.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.RemoveAt(System.Int32)">
+            <summary>
+            Removes the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> from the collection using a specific index.
+            </summary>
+            <param name="index">The zero-based index of the parameter.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Insert(System.Int32,System.Object)">
+            <summary>
+            Inserts a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> into the collection at the specified index.
+            </summary>
+            <param name="index">The zero-based index where the parameter is to be inserted within the collection.</param>
+            <param name="value">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Remove(System.Object)">
+            <summary>
+            Removes the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> from the collection.
+            </summary>
+            <param name="value">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to remove from the collection.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Contains(System.Object)">
+            <summary>
+            Gets a value indicating whether a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> exists in the collection.
+            </summary>
+            <param name="value">The value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
+            <returns>true if the collection contains the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object; otherwise, false.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.TryGetValue(System.String,Npgsql.NpgsqlParameter@)">
+            <returns><b>true</b> if the collection contains the parameter and param will contain the parameter; otherwise, <b>false</b>.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Clear">
+            <summary>
+            Removes all items from the collection.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.IndexOf(System.Object)">
+            <summary>
+            Gets the location of a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> in the collection.
+            </summary>
+            <param name="value">The value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
+            <returns>The zero-based index of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object in the collection.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.Object)">
+            <summary>
+            Adds the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see>.
+            </summary>
+            <param name="value">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
+            <returns>The zero-based index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.CopyTo(System.Array,System.Int32)">
+            <summary>
+            Copies <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects from the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> to the specified array.
+            </summary>
+            <param name="array">An <see cref="T:System.Array">Array</see> to which to copy the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects in the collection.</param>
+            <param name="index">The starting index of the array.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Returns an enumerator that can iterate through the collection.
+            </summary>
+            <returns>An <see cref="T:System.Collections.IEnumerator">IEnumerator</see> that can be used to iterate through the collection.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.CheckType(System.Object)">
+            <summary>
+            In methods taking an object as argument this method is used to verify
+            that the argument has the type <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            </summary>
+            <param name="Object">The object to verify</param>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameterCollection.Item(System.String)">
+            <summary>
+            Gets the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> with the specified name.
+            </summary>
+            <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to retrieve.</param>
+            <value>The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> with the specified name, or a null reference if the parameter is not found.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameterCollection.Item(System.Int32)">
+            <summary>
+            Gets the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> at the specified index.
+            </summary>
+            <param name="index">The zero-based index of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to retrieve.</param>
+            <value>The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> at the specified index.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameterCollection.Count">
+            <summary>
+            Gets the number of <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects in the collection.
+            </summary>
+            <value>The number of <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects in the collection.</value>
+        </member>
+        <member name="T:Npgsql.NpgsqlParameterStatus">
+             <summary>
+             This class represents the ParameterStatus message sent from PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlParse">
+             <summary>
+             This class represents the Parse message sent to PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlPasswordPacket">
+            <summary>
+            This class represents a PasswordPacket message sent to backend
+            PostgreSQL.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlQuery">
+            <summary>
+            Summary description for NpgsqlQuery
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlRowDescriptionFieldData">
+             <summary>
+             This struct represents the internal data of the RowDescription message.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlRowDescription">
+             <summary>
+             This class represents a RowDescription message sent from
+             the PostgreSQL.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlSchema">
+            <summary>
+            Provides the underlying mechanism for reading schema information.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.#ctor(Npgsql.NpgsqlConnection)">
+            <summary>
+            Creates an NpgsqlSchema that can read schema information from the database.
+            </summary>
+            <param name="connection">An open database connection for reading metadata.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetMetaDataCollections">
+            <summary>
+            Returns the MetaDataCollections that lists all possible collections.
+            </summary>
+            <returns>The MetaDataCollections</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetRestrictions">
+            <summary>
+            Returns the Restrictions that contains the meaning and position of the values in the restrictions array.
+            </summary>
+            <returns>The Restrictions</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetDatabases(System.String[])">
+            <summary>
+            Returns the Databases that contains a list of all accessable databases.
+            </summary>
+            <param name="restrictions">The restrictions to filter the collection.</param>
+            <returns>The Databases</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetTables(System.String[])">
+            <summary>
+            Returns the Tables that contains table and view names and the database and schema they come from.
+            </summary>
+            <param name="restrictions">The restrictions to filter the collection.</param>
+            <returns>The Tables</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetColumns(System.String[])">
+            <summary>
+            Returns the Columns that contains information about columns in tables. 
+            </summary>
+            <param name="restrictions">The restrictions to filter the collection.</param>
+            <returns>The Columns.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetViews(System.String[])">
+            <summary>
+            Returns the Views that contains view names and the database and schema they come from.
+            </summary>
+            <param name="restrictions">The restrictions to filter the collection.</param>
+            <returns>The Views</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetUsers(System.String[])">
+            <summary>
+            Returns the Users containing user names and the sysid of those users.
+            </summary>
+            <param name="restrictions">The restrictions to filter the collection.</param>
+            <returns>The Users.</returns>
+        </member>
+        <member name="T:Npgsql.NpgsqlStartupPacket">
+             <summary>
+             This class represents a StartupPacket message of PostgreSQL
+             protocol.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlSync">
+             <summary>
+             This class represents the Parse message sent to PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlTransaction">
+            <summary>
+            Represents a transaction to be made in a PostgreSQL database. This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlTransaction.Dispose">
+            <summary>
+            Releases the unmanaged resources used by the
+            <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>
+            and optionally releases the managed resources.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlTransaction.Commit">
+            <summary>
+            Commits the database transaction.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlTransaction.Rollback">
+            <summary>
+            Rolls back a transaction from a pending state.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlTransaction.Cancel">
+            <summary>
+            Cancel the transaction without telling the backend about it.  This is
+            used to make the transaction go away when closing a connection.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlTransaction.Connection">
+            <summary>
+            Gets the <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>
+            object associated with the transaction, or a null reference if the
+            transaction is no longer valid.
+            </summary>
+            <value>The <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>
+            object associated with the transaction.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlTransaction.IsolationLevel">
+            <summary>
+            Specifies the <see cref="T:System.Data.IsolationLevel">IsolationLevel</see> for this transaction.
+            </summary>
+            <value>The <see cref="T:System.Data.IsolationLevel">IsolationLevel</see> for this transaction.
+            The default is <b>ReadCommitted</b>.</value>
+        </member>
+        <member name="T:Npgsql.ProtocolVersion">
+            <summary>
+            Represent the frontend/backend protocol version.
+            </summary>
+        </member>
+        <member name="T:Npgsql.ServerVersion">
+            <summary>
+            Represent the backend server version.
+            </summary>
+        </member>
+        <member name="M:Npgsql.ServerVersion.ToString">
+            <summary>
+            Returns the string representation of this version in three place dot notation (Major.Minor.Patch).
+            </summary>
+        </member>
+        <member name="P:Npgsql.ServerVersion.Major">
+            <summary>
+            Server version major number.
+            </summary>
+        </member>
+        <member name="P:Npgsql.ServerVersion.Minor">
+            <summary>
+            Server version minor number.
+            </summary>
+        </member>
+        <member name="P:Npgsql.ServerVersion.Patch">
+            <summary>
+            Server version patch level number.
+            </summary>
+        </member>
+        <member name="T:Npgsql.PGUtil">
+            <summary>
+             This class provides many util methods to handle
+             reading and writing of PostgreSQL protocol messages.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ConvertProtocolVersion(Npgsql.ProtocolVersion)">
+            <summary>
+             This method takes a ProtocolVersion and returns an integer
+             version number that the Postgres backend will recognize in a
+             startup packet.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ExtractServerVersion(System.String)">
+            <summary>
+            This method takes a version string as returned by SELECT VERSION() and returns
+            a valid version string ("7.2.2" for example).
+            This is only needed when running protocol version 2.
+            This does not do any validity checks.
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ParseServerVersion(System.String)">
+            <summary>
+            This method takes a version string ("7.4.1" for example) and produces
+            the required integer version numbers (7, 4, and 1).
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ConvertBeginToInt32(System.String)">
+            <summary>
+            Convert the beginning numeric part of the given string to Int32.
+            For example:
+              Strings "12345ABCD" and "12345.54321" would both be converted to int 12345.
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ReadString(System.IO.Stream,System.Text.Encoding)">
+            <summary>
+             This method gets a C NULL terminated string from the network stream.
+             It keeps reading a byte in each time until a NULL byte is returned.
+             It returns the resultant string of bytes read.
+             This string is sent from backend.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ReadString(System.IO.Stream,System.Text.Encoding,System.Int32)">
+            <summary>
+             This method gets a length terminated string from a network stream.
+             It returns the resultant string of bytes read.
+             This string is sent from backend.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.WriteString(System.String,System.IO.Stream,System.Text.Encoding)">
+            <summary>
+             This method writes a C NULL terminated string to the network stream.
+             It appends a NULL terminator to the end of the String.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.WriteLimString(System.String,System.Int32,System.IO.Stream,System.Text.Encoding)">
+            <summary>
+             This method writes a C NULL terminated string limited in length to the
+             backend server.
+             It pads the string with null bytes to the size specified.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.WriteInt32(System.IO.Stream,System.Int32)">
+            <summary>
+            Write a 32-bit integer to the given stream in the correct byte order.
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ReadInt32(System.IO.Stream,System.Byte[])">
+            <summary>
+            Read a 32-bit integer from the given stream in the correct byte order.
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.WriteInt16(System.IO.Stream,System.Int16)">
+            <summary>
+            Write a 16-bit integer to the given stream in the correct byte order.
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ReadInt16(System.IO.Stream,System.Byte[])">
+            <summary>
+            Read a 16-bit integer from the given stream in the correct byte order.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.LargeObjectManager">
+            <summary>
+            Summary description for LargeObjectManager.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.BasicBackendToNativeTypeConverter">
+            <summary>
+            Provide event handlers to convert all native supported basic data types from their backend
+            text representation to a .NET object.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToBinary(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Binary data.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToBoolean(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql boolean to a System.Boolean.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToBit(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql bit to a System.Boolean.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToDateTime(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql datetime to a System.DateTime.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToDate(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql date to a System.DateTime.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToTime(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql time to a System.DateTime.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToMoney(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql money to a System.Decimal.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.BasicNativeToBackendTypeConverter">
+            <summary>
+            Provide event handlers to convert the basic native supported data types from
+            native form to backend representation.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToBinary(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Binary data.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToBoolean(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgresql boolean.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToBit(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgresql bit.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToDateTime(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgresql timestamp.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToDate(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgresql date.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToTime(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgresql time.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToMoney(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgres money.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.ExtendedBackendToNativeTypeConverter">
+            <summary>
+            Provide event handlers to convert extended native supported data types from their backend
+            text representation to a .NET object.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToPoint(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql point to a System.NpgsqlPoint.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToBox(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql point to a System.RectangleF.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToLSeg(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            LDeg.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToPath(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Path.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToPolygon(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Polygon.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToCircle(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Circle.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToInet(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Inet.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.ExtendedNativeToBackendTypeConverter">
+            <summary>
+            Provide event handlers to convert extended native supported data types from
+            native form to backend representation.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToPoint(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Point.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToBox(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Box.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToLSeg(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            LSeg.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToPath(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Open path.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToPolygon(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Polygon.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToCircle(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Circle.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToIPAddress(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgres inet.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlPoint">
+            <summary>
+            Represents a PostgreSQL Point type
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlLSeg">
+            <summary>
+            Represents a PostgreSQL Line Segment type.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlPath">
+            <summary>
+            Represents a PostgreSQL Path type.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlPolygon">
+            <summary>
+            Represents a PostgreSQL Polygon type.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlCircle">
+            <summary>
+            Represents a PostgreSQL Circle type.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlInet">
+            <summary>
+            Represents a PostgreSQL inet type.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlTypesHelper">
+            <summary>
+            This class contains helper methods for type conversion between
+            the .Net type system and postgresql.
+            </summary>
+        </member>
+        <member name="F:NpgsqlTypes.NpgsqlTypesHelper.BackendTypeMappingCache">
+            <summary>
+            A cache of basic datatype mappings keyed by server version.  This way we don't
+            have to load the basic type mappings for every connection.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.GetNativeTypeInfo(NpgsqlTypes.NpgsqlDbType)">
+            <summary>
+            Find a NpgsqlNativeTypeInfo in the default types map that can handle objects
+            of the given NpgsqlDbType.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.GetNativeTypeInfo(System.Data.DbType)">
+            <summary>
+            Find a NpgsqlNativeTypeInfo in the default types map that can handle objects
+            of the given DbType.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.GetNativeTypeInfo(System.Type)">
+            <summary>
+            Find a NpgsqlNativeTypeInfo in the default types map that can handle objects
+            of the given System.Type.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.ConvertBackendStringToSystemType(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+             This method is responsible to convert the string received from the backend
+             to the corresponding NpgsqlType.
+             The given TypeInfo is called upon to do the conversion.
+             If no TypeInfo object is provided, no conversion is performed.
+             </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.VerifyDefaultTypesMap">
+            <summary>
+            Create the one and only native to backend type map.
+            This map is used when formatting native data
+            types to backend representations.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.CreateAndLoadInitialTypesMapping(Npgsql.NpgsqlConnector)">
+            <summary>
+             This method creates (or retrieves from cache) a mapping between type and OID 
+             of all natively supported postgresql data types.
+             This is needed as from one version to another, this mapping can be changed and
+             so we avoid hardcoding them.
+             </summary>
+             <returns>NpgsqlTypeMapping containing all known data types.  The mapping must be
+             cloned before it is modified because it is cached; changes made by one connection may
+             effect another connection.</returns>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.LoadTypesMappings(Npgsql.NpgsqlConnector,NpgsqlTypes.NpgsqlBackendTypeMapping,System.Collections.IList)">
+            <summary>
+            Attempt to map types by issuing a query against pg_type.
+            This function takes a list of NpgsqlTypeInfo and attempts to resolve the OID field
+            of each by querying pg_type.  If the mapping is found, the type info object is
+            updated (OID) and added to the provided NpgsqlTypeMapping object.
+            </summary>
+            <param name="conn">NpgsqlConnector to send query through.</param>
+            <param name="TypeMappings">Mapping object to add types too.</param>
+            <param name="TypeInfoList">List of types that need to have OID's mapped.</param>
+        </member>
+        <member name="T:NpgsqlTypes.ConvertBackendToNativeHandler">
+            <summary>
+            Delegate called to convert the given backend data to its native representation.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.ConvertNativeToBackendHandler">
+            <summary>
+            Delegate called to convert the given native data to its backand representation.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlBackendTypeInfo">
+            <summary>
+            Represents a backend data type.
+            This class can be called upon to convert a backend field representation to a native object.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeInfo.#ctor(System.Int32,System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Type,NpgsqlTypes.ConvertBackendToNativeHandler)">
+            <summary>
+            Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers.
+            </summary>
+            <param name="OID">Type OID provided by the backend server.</param>
+            <param name="Name">Type name provided by the backend server.</param>
+            <param name="NpgsqlDbType">NpgsqlDbType</param>
+            <param name="Type">System type to convert fields of this type to.</param>
+            <param name="ConvertBackendToNative">Data conversion handler.</param>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeInfo.ConvertToNative(System.String,System.Int16,System.Int32)">
+            <summary>
+            Perform a data conversion from a backend representation to 
+            a native object.
+            </summary>
+            <param name="BackendData">Data sent from the backend.</param>
+            <param name="TypeModifier">Type modifier field sent from the backend.</param>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.OID">
+            <summary>
+            Type OID provided by the backend server.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.Name">
+            <summary>
+            Type name provided by the backend server.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.NpgsqlDbType">
+            <summary>
+            NpgsqlDbType.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.DbType">
+            <summary>
+            NpgsqlDbType.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.Type">
+            <summary>
+            System type to convert fields of this type to.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlNativeTypeInfo">
+            <summary>
+            Represents a backend data type.
+            This class can be called upon to convert a native object to its backend field representation,
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeInfo.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Boolean,NpgsqlTypes.ConvertNativeToBackendHandler)">
+            <summary>
+            Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers.
+            </summary>
+            <param name="OID">Type OID provided by the backend server.</param>
+            <param name="Name">Type name provided by the backend server.</param>
+            <param name="NpgsqlDbType">NpgsqlDbType</param>
+            <param name="Type">System type to convert fields of this type to.</param>
+            <param name="ConvertBackendToNative">Data conversion handler.</param>
+            <param name="ConvertNativeToBackend">Data conversion handler.</param>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeInfo.ConvertToBackend(System.Object,System.Boolean)">
+            <summary>
+            Perform a data conversion from a native object to
+            a backend representation.
+            DBNull and null values are handled differently depending if a plain query is used
+            When 
+            </summary>
+            <param name="NativeData">Native .NET object to be converted.</param>
+            <param name="ForExtendedQuery">Flag indicating if the conversion has to be done for 
+            plain queries or extended queries</param>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.Name">
+            <summary>
+            Type name provided by the backend server.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.NpgsqlDbType">
+            <summary>
+            NpgsqlDbType.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.DbType">
+            <summary>
+            DbType.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.Quote">
+            <summary>
+            Apply quoting.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.UseSize">
+            <summary>
+            Use parameter size information.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlBackendTypeMapping">
+            <summary>
+            Provide mapping between type OID, type name, and a NpgsqlBackendTypeInfo object that represents it.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.#ctor">
+            <summary>
+            Construct an empty mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.#ctor(NpgsqlTypes.NpgsqlBackendTypeMapping)">
+            <summary>
+            Copy constuctor.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.AddType(NpgsqlTypes.NpgsqlBackendTypeInfo)">
+            <summary>
+            Add the given NpgsqlBackendTypeInfo to this mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.AddType(System.Int32,System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Type,NpgsqlTypes.ConvertBackendToNativeHandler)">
+            <summary>
+            Add a new NpgsqlBackendTypeInfo with the given attributes and conversion handlers to this mapping.
+            </summary>
+            <param name="OID">Type OID provided by the backend server.</param>
+            <param name="Name">Type name provided by the backend server.</param>
+            <param name="NpgsqlDbType">NpgsqlDbType</param>
+            <param name="Type">System type to convert fields of this type to.</param>
+            <param name="ConvertBackendToNative">Data conversion handler.</param>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.Clone">
+            <summary>
+            Make a shallow copy of this type mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.ContainsOID(System.Int32)">
+            <summary>
+            Determine if a NpgsqlBackendTypeInfo with the given backend type OID exists in this mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.ContainsName(System.String)">
+            <summary>
+            Determine if a NpgsqlBackendTypeInfo with the given backend type name exists in this mapping.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeMapping.Count">
+            <summary>
+            Get the number of type infos held.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeMapping.Item(System.Int32)">
+            <summary>
+            Retrieve the NpgsqlBackendTypeInfo with the given backend type OID, or null if none found.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeMapping.Item(System.String)">
+            <summary>
+            Retrieve the NpgsqlBackendTypeInfo with the given backend type name, or null if none found.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlNativeTypeMapping">
+            <summary>
+            Provide mapping between type Type, NpgsqlDbType and a NpgsqlNativeTypeInfo object that represents it.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.#ctor">
+            <summary>
+            Construct an empty mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.AddType(NpgsqlTypes.NpgsqlNativeTypeInfo)">
+            <summary>
+            Add the given NpgsqlNativeTypeInfo to this mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.AddType(System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Boolean,NpgsqlTypes.ConvertNativeToBackendHandler)">
+            <summary>
+            Add a new NpgsqlNativeTypeInfo with the given attributes and conversion handlers to this mapping.
+            </summary>
+            <param name="OID">Type OID provided by the backend server.</param>
+            <param name="Name">Type name provided by the backend server.</param>
+            <param name="NpgsqlDbType">NpgsqlDbType</param>
+            <param name="ConvertBackendToNative">Data conversion handler.</param>
+            <param name="ConvertNativeToBackend">Data conversion handler.</param>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.ContainsName(System.String)">
+            <summary>
+            Determine if a NpgsqlNativeTypeInfo with the given backend type name exists in this mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.ContainsNpgsqlDbType(NpgsqlTypes.NpgsqlDbType)">
+            <summary>
+            Determine if a NpgsqlNativeTypeInfo with the given NpgsqlDbType exists in this mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.ContainsType(System.Type)">
+            <summary>
+            Determine if a NpgsqlNativeTypeInfo with the given Type name exists in this mapping.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Count">
+            <summary>
+            Get the number of type infos held.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Item(System.String)">
+            <summary>
+            Retrieve the NpgsqlNativeTypeInfo with the given backend type name, or null if none found.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Item(NpgsqlTypes.NpgsqlDbType)">
+            <summary>
+            Retrieve the NpgsqlNativeTypeInfo with the given NpgsqlDbType, or null if none found.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Item(System.Data.DbType)">
+            <summary>
+            Retrieve the NpgsqlNativeTypeInfo with the given DbType, or null if none found.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Item(System.Type)">
+            <summary>
+            Retrieve the NpgsqlNativeTypeInfo with the given Type, or null if none found.
+            </summary>
+        </member>
+        <member name="T:Npgsql.Design.ConnectionStringEditor">
+            <summary>
+            An UITypeEditor that simply initializes a
+            ConnectionStringEditorForm if possible
+            </summary>
+        </member>
+        <member name="M:Npgsql.Design.ConnectionStringEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
+            <summary>
+            Edits the Value of the given Object using the EditSyle given by GetEditStyle.
+            </summary>
+            <param name="context">An ITypeDescriptorContext, through wich you can get additional context information.</param>
+            <param name="provider">An IServiceProvider, through which this editor may order services.</param>
+            <param name="value">The Object to edit</param>
+            <returns>The new value of the Object</returns>
+        </member>
+        <member name="M:Npgsql.Design.ConnectionStringEditor.GetEditStyle(System.ComponentModel.ITypeDescriptorContext)">
+            <summary>
+            Requests the EditSyle to be used by EditValue
+            </summary>
+            <param name="context">An ITypeDescriptorContext, through wich you can get additional context information.</param>
+            <returns>An UITypeEditorEditStyle-Value, indicating the EditStyle used by EditValue. If UITypeEditor doesn't support this method, GetEditStyle returns the value None.</returns>
+        </member>
+        <member name="F:Npgsql.Design.ConnectionStringEditorForm.components">
+            <summary>
+            Required designer variable.
+            </summary>
+        </member>
+        <member name="M:Npgsql.Design.ConnectionStringEditorForm.Dispose(System.Boolean)">
+            <summary>
+            Clean up any resources being used.
+            </summary>
+        </member>
+        <member name="M:Npgsql.Design.ConnectionStringEditorForm.InitializeComponent">
+            <summary>
+            Required method for Designer support - do not modify
+            the contents of this method with the code editor.
+            </summary>
+        </member>
+        <member name="P:Npgsql.Design.ConnectionStringEditorForm.ConnectionString">
+            <summary>
+            Returns the generated ConnectionString
+            </summary>
+        </member>
+        <member name="T:Npgsql.Design.NpgsqlParameterConverter">
+            <summary>
+            Zusammenfassung fr NpgsqlParameterConverter.
+            </summary>
+        </member>
+        <member name="T:Npgsql.Design.NpgsqlParametersEditor">
+            <summary>
+            Zusammenfassung fr NpgsqlParametersEditor.
+            </summary>
+        </member>
+    </members>
+</doc>

+ 25 - 0
lib/Npgsql/net-3.5/Mono.Security.Protocol.Tls.license

@@ -0,0 +1,25 @@
+2. Transport Security Layer (TLS) sources license
+-- --------- -------- ----- ----  ------- -------
+
+The MIT License
+
+Copyright (c) 2003 Carlos Guzmán Álvarez
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"), 
+to deal in the Software without restriction, including without limitation 
+the rights to use, copy, modify, merge, publish, distribute, sublicense, 
+and/or sell copies of the Software, and to permit persons to whom the 
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included 
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
+THE USE OR OTHER DEALINGS IN THE SOFTWARE.

BIN
lib/Npgsql/net-3.5/Mono.Security.dll


BIN
lib/Npgsql/net-3.5/Npgsql.dll


+ 2874 - 0
lib/Npgsql/net-3.5/Npgsql.xml

@@ -0,0 +1,2874 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Npgsql</name>
+    </assembly>
+    <members>
+        <member name="M:Npgsql.HashAlgorithm.#ctor">
+            <summary>
+            Called from constructor of derived class.
+            </summary>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.Finalize">
+            <summary>
+            Finalizer for HashAlgorithm
+            </summary>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.ComputeHash(System.Byte[])">
+            <summary>
+            Computes the entire hash of all the bytes in the byte array.
+            </summary>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.HashCore(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            When overridden in a derived class, drives the hashing function.
+            </summary>
+            <param name="rgb"></param>
+            <param name="start"></param>
+            <param name="size"></param>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.HashFinal">
+            <summary>
+            When overridden in a derived class, this pads and hashes whatever data might be left in the buffers and then returns the hash created.
+            </summary>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.Initialize">
+            <summary>
+            When overridden in a derived class, initializes the object to prepare for hashing.
+            </summary>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Used for stream chaining.  Computes hash as data passes through it.
+            </summary>
+            <param name="inputBuffer">The buffer from which to grab the data to be copied.</param>
+            <param name="inputOffset">The offset into the input buffer to start reading at.</param>
+            <param name="inputCount">The number of bytes to be copied.</param>
+            <param name="outputBuffer">The buffer to write the copied data to.</param>
+            <param name="outputOffset">At what point in the outputBuffer to write the data at.</param>
+        </member>
+        <member name="M:Npgsql.HashAlgorithm.TransformFinalBlock(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Used for stream chaining.  Computes hash as data passes through it.  Finishes off the hash.
+            </summary>
+            <param name="inputBuffer">The buffer from which to grab the data to be copied.</param>
+            <param name="inputOffset">The offset into the input buffer to start reading at.</param>
+            <param name="inputCount">The number of bytes to be copied.</param>
+        </member>
+        <member name="P:Npgsql.HashAlgorithm.CanTransformMultipleBlocks">
+            <summary>
+            Get whether or not the hash can transform multiple blocks at a time.
+            Note: MUST be overriden if descendant can transform multiple block
+            on a single call!
+            </summary>
+        </member>
+        <member name="P:Npgsql.HashAlgorithm.Hash">
+            <summary>
+            Gets the previously computed hash.
+            </summary>
+        </member>
+        <member name="P:Npgsql.HashAlgorithm.HashSize">
+            <summary>
+            Returns the size in bits of the hash.
+            </summary>
+        </member>
+        <member name="P:Npgsql.HashAlgorithm.InputBlockSize">
+            <summary>
+            Must be overriden if not 1
+            </summary>
+        </member>
+        <member name="P:Npgsql.HashAlgorithm.OutputBlockSize">
+            <summary>
+            Must be overriden if not 1
+            </summary>
+        </member>
+        <member name="T:Npgsql.MD5">
+            <summary>
+            Common base class for all derived MD5 implementations.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5.#ctor">
+            <summary>
+            Called from constructor of derived class.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5.Create">
+            <summary>
+            Creates the default derived class.
+            </summary>
+        </member>
+        <member name="T:Npgsql.MD5CryptoServiceProvider">
+            <summary>
+            C# implementation of the MD5 cryptographic hash function.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.#ctor">
+            <summary>
+            Creates a new MD5CryptoServiceProvider.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.HashCore(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Drives the hashing function.
+            </summary>
+            <param name="rgb">Byte array containing the data to hash.</param>
+            <param name="start">Where in the input buffer to start.</param>
+            <param name="size">Size in bytes of the data in the buffer to hash.</param>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.HashFinal">
+            <summary>
+            This finalizes the hash.  Takes the data from the chaining variables and returns it.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.Initialize">
+            <summary>
+            Resets the class after use.  Called automatically after hashing is done.
+            </summary>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.ProcessBlock(System.Byte[],System.Int32)">
+            <summary>
+            This is the meat of the hash function.  It is what processes each block one at a time.
+            </summary>
+            <param name="inputBuffer">Byte array to process data from.</param>
+            <param name="inputOffset">Where in the byte array to start processing.</param>
+        </member>
+        <member name="M:Npgsql.MD5CryptoServiceProvider.ProcessFinalBlock(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Pads and then processes the final block.
+            </summary>
+            <param name="inputBuffer">Buffer to grab data from.</param>
+            <param name="inputOffset">Position in buffer in bytes to get data from.</param>
+            <param name="inputCount">How much data in bytes in the buffer to use.</param>
+        </member>
+        <member name="T:Npgsql.NpgsqlAsciiRow">
+            <summary>
+            This class represents the AsciiRow (version 2) and DataRow (version 3+)
+            message sent from the PostgreSQL server.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlRow">
+            <summary>
+            This is the abstract base class for NpgsqlAsciiRow and NpgsqlBinaryRow.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlRow.Item(System.Int32)">
+            <summary>
+            Provide access to the fields in this row.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlBackEndKeyData">
+            <summary>
+            This class represents a BackEndKeyData message received
+            from PostgreSQL
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlBinaryRow">
+            <summary>
+            This class represents the BinaryRow message sent from  the PostgreSQL
+            server.  This is unused as of protocol version 3.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlBind">
+             <summary>
+             This class represents the Bind message sent to PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlCancelRequest">
+             <summary>
+             This class represents the CancelRequest message sent to PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlState">
+            <summary> This class represents the base class for the state pattern design pattern
+             implementation.
+             </summary>
+            
+        </member>
+        <member name="M:Npgsql.NpgsqlState.ChangeState(Npgsql.NpgsqlConnector,Npgsql.NpgsqlState)">
+            <summary>
+            This method is used by the states to change the state of the context.
+             </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlState.ProcessBackendResponses(Npgsql.NpgsqlConnector)">
+            <summary>
+             This method is responsible to handle all protocol messages sent from the backend.
+             It holds all the logic to do it.
+             To exchange data, it uses a Mediator object from which it reads/writes information
+             to handle backend requests.
+             </summary>
+            
+        </member>
+        <member name="M:Npgsql.NpgsqlClosedState.ResolveIPHost(System.String)">
+            <summary>
+            Resolve a host name or IP address.
+            This is needed because if you call Dns.Resolve() with an IP address, it will attempt
+            to resolve it as a host name, when it should just convert it to an IP address.
+            </summary>
+            <param name="HostName"></param>
+        </member>
+        <member name="T:Npgsql.NpgsqlCommand">
+            <summary>
+            Represents a SQL statement or function (stored procedure) to execute
+            against a PostgreSQL database. This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class with the text of the query.
+            </summary>
+            <param name="cmdText">The text of the query.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String,Npgsql.NpgsqlConnection)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class with the text of the query and a <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>.
+            </summary>
+            <param name="cmdText">The text of the query.</param>
+            <param name="connection">A <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> that represents the connection to a PostgreSQL server.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String,Npgsql.NpgsqlConnection,Npgsql.NpgsqlTransaction)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class with the text of the query, a <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>, and the <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>.
+            </summary>
+            <param name="cmdText">The text of the query.</param>
+            <param name="connection">A <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> that represents the connection to a PostgreSQL server.</param>
+            <param name="transaction">The <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see> in which the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> executes.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String,Npgsql.NpgsqlConnector)">
+            <summary>
+            Used to execute internal commands.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.Cancel">
+            <summary>
+            Attempts to cancel the execution of a <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>.
+            </summary>
+            <remarks>This Method isn't implemented yet.</remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.System#ICloneable#Clone">
+            <summary>
+            Create a new command based on this one.
+            </summary>
+            <returns>A new NpgsqlCommand object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.Clone">
+            <summary>
+            Create a new connection based on this one.
+            </summary>
+            <returns>A new NpgsqlConnection object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.System#Data#IDbCommand#CreateParameter">
+            <summary>
+            Creates a new instance of an <see cref="T:System.Data.IDbDataParameter">IDbDataParameter</see> object.
+            </summary>
+            <returns>An <see cref="T:System.Data.IDbDataParameter">IDbDataParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.CreateParameter">
+            <summary>
+            Creates a new instance of a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.
+            </summary>
+            <returns>A <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.ExecuteNonQuery">
+            <summary>
+            Executes a SQL statement against the connection and returns the number of rows affected.
+            </summary>
+            <returns>The number of rows affected.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.System#Data#IDbCommand#ExecuteReader">
+            <summary>
+            Sends the <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> to
+            the <see cref="T:Npgsql.NpgsqlConnection">Connection</see> and builds a
+            <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see>.
+            </summary>
+            <returns>A <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.System#Data#IDbCommand#ExecuteReader(System.Data.CommandBehavior)">
+            <summary>
+            Sends the <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> to
+            the <see cref="T:Npgsql.NpgsqlConnection">Connection</see> and builds a
+            <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see>
+            using one of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.
+            </summary>
+            <param name="cb">One of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.</param>
+            <returns>A <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.ExecuteReader">
+            <summary>
+            Sends the <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> to
+            the <see cref="T:Npgsql.NpgsqlConnection">Connection</see> and builds a
+            <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see>.
+            </summary>
+            <returns>A <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.ExecuteReader(System.Data.CommandBehavior)">
+            <summary>
+            Sends the <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> to
+            the <see cref="T:Npgsql.NpgsqlConnection">Connection</see> and builds a
+            <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see>
+            using one of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.
+            </summary>
+            <param name="cb">One of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.</param>
+            <returns>A <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see> object.</returns>
+            <remarks>Currently the CommandBehavior parameter is ignored.</remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.BindParameters">
+            <summary>
+             This method binds the parameters from parameters collection to the bind
+             message.
+             </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.ExecuteScalar">
+            <summary>
+            Executes the query, and returns the first column of the first row
+            in the result set returned by the query. Extra columns or rows are ignored.
+            </summary>
+            <returns>The first column of the first row in the result set,
+            or a null reference if the result set is empty.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.Prepare">
+            <summary>
+            Creates a prepared version of the command on a PostgreSQL server.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.CheckConnectionState">
+            <summary>
+             This method checks the connection state to see if the connection
+             is set or it is open. If one of this conditions is not met, throws
+             an InvalidOperationException
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.GetCommandText">
+            <summary>
+            This method substitutes the <see cref="P:Npgsql.NpgsqlCommand.Parameters">Parameters</see>, if exist, in the command
+            to their actual values.
+            The parameter name format is <b>:ParameterName</b>.
+            </summary>
+            <returns>A version of <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> with the <see cref="P:Npgsql.NpgsqlCommand.Parameters">Parameters</see> inserted.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommand.ProcessRefcursorFunctionReturn(System.String)">
+            <summary>
+             This methods takes a string with a function call witch returns a refcursor or a set of
+             refcursor. It will return the names of the open cursors/portals which will hold
+             results. In turn, it returns the string which is needed to get the data of this cursors
+             in form of one resultset for each cursor open. This way, clients don't need to do anything
+             else besides calling function normally to get results in this way.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.CommandText">
+            <summary>
+            Gets or sets the SQL statement or function (stored procedure) to execute at the data source.
+            </summary>
+            <value>The Transact-SQL statement or stored procedure to execute. The default is an empty string.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.CommandTimeout">
+            <summary>
+            Gets or sets the wait time before terminating the attempt
+            to execute a command and generating an error.
+            </summary>
+            <value>The time (in seconds) to wait for the command to execute.
+            The default is 20 seconds.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.CommandType">
+            <summary>
+            Gets or sets a value indicating how the
+            <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> property is to be interpreted.
+            </summary>
+            <value>One of the <see cref="T:System.Data.CommandType">CommandType</see> values. The default is <see cref="T:System.Data.CommandType">CommandType.Text</see>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.Connection">
+            <summary>
+            Gets or sets the <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>
+            used by this instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>.
+            </summary>
+            <value>The connection to a data source. The default value is a null reference.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.Parameters">
+            <summary>
+            Gets the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see>.
+            </summary>
+            <value>The parameters of the SQL statement or function (stored procedure). The default is an empty collection.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.Transaction">
+            <summary>
+            Gets or sets the <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>
+            within which the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> executes.
+            </summary>
+            <value>The <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>.
+            The default value is a null reference.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.UpdatedRowSource">
+            <summary>
+            Gets or sets how command results are applied to the <see cref="T:System.Data.DataRow">DataRow</see>
+            when used by the <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)">Update</see>
+            method of the <see cref="T:System.Data.Common.DbDataAdapter">DbDataAdapter</see>.
+            </summary>
+            <value>One of the <see cref="T:System.Data.UpdateRowSource">UpdateRowSource</see> values.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlCommand.LastInsertedOID">
+            <summary>
+            Returns oid of inserted row. This is only updated when using executenonQuery and when command inserts just a single row. If table is created without oids, this will always be 0.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlCommandBuilder">
+            <summary>
+             This class is responsible to create database commands for automatic insert, update and delete operations.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlCommandBuilder.DeriveParameters(Npgsql.NpgsqlCommand)">
+            <summary>
+            
+             This method is reponsible to derive the command parameter list with values obtained from function definition. 
+             It clears the Parameters collection of command. Also, if there is any parameter type which is not supported by Npgsql, an InvalidOperationException will be thrown.
+             Parameters name will be parameter1, parameter2, ...
+             For while, only parameter name and NpgsqlDbType are obtained.
+            </summary>
+             <param name="command">NpgsqlCommand whose function parameters will be obtained.</param>
+        </member>
+        <member name="T:Npgsql.NoticeEventHandler">
+            <summary>
+            Represents the method that handles the <see cref="E:Npgsql.NpgsqlConnection.Notification">Notice</see> events.
+            </summary>
+            <param name="e">A <see cref="T:Npgsql.NpgsqlNoticeEventArgs">NpgsqlNoticeEventArgs</see> that contains the event data.</param>
+        </member>
+        <member name="T:Npgsql.NotificationEventHandler">
+            <summary>
+            Represents the method that handles the <see cref="E:Npgsql.NpgsqlConnection.Notification">Notification</see> events.
+            </summary>
+            <param name="sender">The source of the event.</param>
+            <param name="e">A <see cref="T:Npgsql.NpgsqlNotificationEventArgs">NpgsqlNotificationEventArgs</see> that contains the event data.</param>
+        </member>
+        <member name="T:Npgsql.NpgsqlConnection">
+            <summary>
+            This class represents a connection to a
+            PostgreSQL server.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.#ctor">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> class.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> class
+            and sets the <see cref="P:Npgsql.NpgsqlConnection.ConnectionString">ConnectionString</see>.
+            </summary>
+            <param name="ConnectionString">The connection used to open the PostgreSQL database.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.System#Data#IDbConnection#BeginTransaction">
+            <summary>
+            Begins a database transaction.
+            </summary>
+            <returns>An <see cref="T:System.Data.IDbTransaction">IDbTransaction</see>
+            object representing the new transaction.</returns>
+            <remarks>
+            Currently there's no support for nested transactions.
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.System#Data#IDbConnection#BeginTransaction(System.Data.IsolationLevel)">
+            <summary>
+            Begins a database transaction with the specified isolation level.
+            </summary>
+            <param name="level">The <see cref="T:System.Data.IsolationLevel">isolation level</see> under which the transaction should run.</param>
+            <returns>An <see cref="T:System.Data.IDbTransaction">IDbTransaction</see>
+            object representing the new transaction.</returns>
+            <remarks>
+            Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend.
+            There's no support for nested transactions.
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.BeginTransaction">
+            <summary>
+            Begins a database transaction.
+            </summary>
+            <returns>A <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>
+            object representing the new transaction.</returns>
+            <remarks>
+            Currently there's no support for nested transactions.
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.BeginTransaction(System.Data.IsolationLevel)">
+            <summary>
+            Begins a database transaction with the specified isolation level.
+            </summary>
+            <param name="level">The <see cref="T:System.Data.IsolationLevel">isolation level</see> under which the transaction should run.</param>
+            <returns>A <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>
+            object representing the new transaction.</returns>
+            <remarks>
+            Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend.
+            There's no support for nested transactions.
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.Open">
+            <summary>
+            Opens a database connection with the property settings specified by the
+            <see cref="P:Npgsql.NpgsqlConnection.ConnectionString">ConnectionString</see>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.ChangeDatabase(System.String)">
+            <summary>
+            This method changes the current database by disconnecting from the actual
+            database and connecting to the specified.
+            </summary>
+            <param name="dbName">The name of the database to use in place of the current database.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.Close">
+            <summary>
+            Releases the connection to the database.  If the connection is pooled, it will be
+            made available for re-use.  If it is non-pooled, the actual connection will be shutdown.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.System#Data#IDbConnection#CreateCommand">
+            <summary>
+            Creates and returns a <see cref="T:System.Data.IDbCommand">IDbCommand</see>
+            object associated with the <see cref="T:System.Data.IDbConnection">IDbConnection</see>.
+            </summary>
+            <returns>A <see cref="T:System.Data.IDbCommand">IDbCommand</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.CreateCommand">
+            <summary>
+            Creates and returns a <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>
+            object associated with the <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>.
+            </summary>
+            <returns>A <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.Dispose(System.Boolean)">
+            <summary>
+            Releases all resources used by the
+            <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>.
+            </summary>
+            <param name="disposing"><b>true</b> when called from Dispose();
+            <b>false</b> when being called from the finalizer.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.System#ICloneable#Clone">
+            <summary>
+            Create a new connection based on this one.
+            </summary>
+            <returns>A new NpgsqlConnection object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.Clone">
+            <summary>
+            Create a new connection based on this one.
+            </summary>
+            <returns>A new NpgsqlConnection object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.DefaultCertificateSelectionCallback(System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)">
+            <summary>
+            Default SSL CertificateSelectionCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.DefaultCertificateValidationCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[])">
+            <summary>
+            Default SSL CertificateValidationCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.DefaultPrivateKeySelectionCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.String)">
+            <summary>
+            Default SSL PrivateKeySelectionCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.LogConnectionString">
+            <summary>
+            Write each key/value pair in the connection string to the log.
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "M:Npgsql.NpgsqlConnection.GetSchema" -->
+        <member name="M:Npgsql.NpgsqlConnection.GetSchema(System.String)">
+            <summary>
+            Returns the schema collection specified by the collection name.
+            </summary>
+            <param name="collectionName">The collection name.</param>
+            <returns>The collection specified.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnection.GetSchema(System.String,System.String[])">
+            <summary>
+            Returns the schema collection specified by the collection name filtered by the restrictions.
+            </summary>
+            <param name="collectionName">The collection name.</param>
+            <param name="restrictions">
+            The restriction values to filter the results.  A description of the restrictions is contained
+            in the Restrictions collection.
+            </param>
+            <returns>The collection specified.</returns>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnection.Notice">
+            <summary>
+            Occurs on NoticeResponses from the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnection.Notification">
+            <summary>
+            Occurs on NotificationResponses from the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnection.CertificateSelectionCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnection.CertificateValidationCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.CertificateValidationCallback delegate.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnection.PrivateKeySelectionCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate.
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "P:Npgsql.NpgsqlConnection.ConnectionString" -->
+        <member name="P:Npgsql.NpgsqlConnection.Host">
+            <summary>
+            Backend server host name.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.Port">
+            <summary>
+            Backend server port.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.SSL">
+            <summary>
+            If true, the connection will attempt to use SSL.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.ConnectionTimeout">
+            <summary>
+            Gets the time to wait while trying to establish a connection
+            before terminating the attempt and generating an error.
+            </summary>
+            <value>The time (in seconds) to wait for a connection to open. The default value is 15 seconds.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.ConnectionLifeTime">
+            <summary>
+            Gets the time to wait before closing unused connections in the pool if the count
+            of all connections exeeds MinPoolSize.
+            </summary>
+            <remarks>
+            If connection pool contains unused connections for ConnectionLifeTime seconds,
+            the half of them will be closed. If there will be unused connections in a second
+            later then again the half of them will be closed and so on.
+            This strategy provide smooth change of connection count in the pool.
+            </remarks>
+            <value>The time (in seconds) to wait. The default value is 15 seconds.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.Database">
+            <summary>
+             Gets the name of the current database or the database to be used after a connection is opened.
+             </summary>
+             <value>The name of the current database or the name of the database to be
+             used after a connection is opened. The default value is the empty string.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.SyncNotification">
+            <summary>
+            Gets flag indicating if we are using Synchronous notification or not.
+            The default value is false.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.State">
+            <summary>
+            Gets the current state of the connection.
+            </summary>
+            <value>A bitwise combination of the <see cref="T:System.Data.ConnectionState">ConnectionState</see> values. The default is <b>Closed</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.ServerVersion">
+            <summary>
+            Version of the PostgreSQL backend.
+            This can only be called when there is an active connection.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.BackendProtocolVersion">
+            <summary>
+            Protocol version in use.
+            This can only be called when there is an active connection.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.Connector">
+            <summary>
+            The connector object connected to the backend.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.ConnectionStringValues">
+            <summary>
+            Gets the NpgsqlConnectionString containing the parsed connection string values.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.UserName">
+            <summary>
+            User name.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.Password">
+            <summary>
+            Password.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnection.Pooling">
+            <summary>
+            Determine if connection pooling will be used for this connection.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlConnectionString">
+            <summary>
+            Represents a connection string.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.Clone">
+            <summary>
+            Return an exact copy of this NpgsqlConnectionString.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ParseConnectionString(System.String)">
+            <summary>
+            This method parses a connection string and returns a new NpgsqlConnectionString object.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.Contains(System.String)">
+            <summary>
+            Report whether a value with the provided key name exists in this connection string.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToString">
+            <summary>
+            Return a clean string representation of this connection string.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToString(System.String)">
+            <summary>
+            Return a string value from the current connection string, even if the
+            given key is not in the string or if the value is null.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToString(System.String,System.String)">
+            <summary>
+            Return a string value from the current connection string, even if the
+            given key is not in the string or if the value is null.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToInt32(System.String)">
+            <summary>
+            Return an integer value from the current connection string, even if the
+            given key is not in the string or if the value is null.
+            Throw an appropriate exception if the value cannot be coerced to an integer.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToInt32(System.String,System.Int32,System.Int32)">
+            <summary>
+            Return an integer value from the current connection string, even if the
+            given key is not in the string or if the value is null.
+            Throw an appropriate exception if the value cannot be coerced to an integer.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToInt32(System.String,System.Int32)">
+            <summary>
+            Return an integer value from the current connection string, even if the
+            given key is not in the string or if the value is null.
+            Throw an appropriate exception if the value cannot be coerced to an integer.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToInt32(System.String,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Return an integer value from the current connection string, even if the
+            given key is not in the string.
+            Throw an appropriate exception if the value cannot be coerced to an integer.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToBool(System.String)">
+            <summary>
+            Return a boolean value from the current connection string, even if the
+            given key is not in the string.
+            Throw an appropriate exception if the value is not recognized as a boolean.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToBool(System.String,System.Boolean)">
+            <summary>
+            Return a boolean value from the current connection string, even if the
+            given key is not in the string.
+            Throw an appropriate exception if the value is not recognized as a boolean.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToProtocolVersion(System.String)">
+            <summary>
+            Return a ProtocolVersion from the current connection string, even if the
+            given key is not in the string.
+            Throw an appropriate exception if the value is not recognized as
+            integer 2 or 3.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectionString.ToSslMode(System.String,Npgsql.SslMode)">
+            <summary>
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnectionString.Item(System.String)">
+            <summary>
+            Case insensative accessor for indivual connection string values.
+            </summary>
+        </member>
+        <member name="T:Npgsql.ConnectionStringKeys">
+            <summary>
+            Know connection string keys.
+            </summary>
+        </member>
+        <member name="T:Npgsql.ConnectionStringDefaults">
+            <summary>
+            Connection string default values.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlConnector">
+            <summary>
+            !!! Helper class, for compilation only.
+            Connector implements the logic for the Connection Objects to
+            access the physical connection to the database, and isolate
+            the application developer from connection pooling internals.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.#ctor(Npgsql.NpgsqlConnectionString,System.Boolean,System.Boolean)">
+            <summary>
+            Constructor.
+            </summary>
+            <param name="Shared">Controls whether the connector can be shared.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.IsValid">
+            <summary>
+            This method checks if the connector is still ok.
+            We try to send a simple query text, select 1 as ConnectionTest;
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.ReleaseResources">
+            <summary>
+            This method is responsible for releasing all resources associated with this Connector.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.ReleasePlansPortals">
+            <summary>
+            This method is responsible to release all portals used by this Connector.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.CheckErrors">
+            <summary>
+            Check for mediator errors (sent by backend) and throw the appropriate
+            exception if errors found.  This needs to be called after every interaction
+            with the backend.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.CheckNotices">
+            <summary>
+            Check for notices and fire the appropiate events.
+            This needs to be called after every interaction
+            with the backend.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.CheckNotifications">
+            <summary>
+            Check for notifications and fire the appropiate events.
+            This needs to be called after every interaction
+            with the backend.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.CheckErrorsAndNotifications">
+            <summary>
+            Check for errors AND notifications in one call.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.DefaultCertificateSelectionCallback(System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)">
+            <summary>
+            Default SSL CertificateSelectionCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.DefaultCertificateValidationCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[])">
+            <summary>
+            Default SSL CertificateValidationCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.DefaultPrivateKeySelectionCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.String)">
+            <summary>
+            Default SSL PrivateKeySelectionCallback implementation.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.ProcessServerVersion">
+            <summary>
+            This method is required to set all the version dependent features flags.
+            SupportsPrepare means the server can use prepared query plans (7.3+)
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.Open">
+            <summary>
+            Opens the physical connection to the server.
+            </summary>
+            <remarks>Usually called by the RequestConnector
+            Method of the connection pool manager.</remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.Close">
+            <summary>
+            Closes the physical connection to the server.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.NextPortalName">
+            <summary>
+             Returns next portal index.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnector.NextPlanName">
+            <summary>
+             Returns next plan index.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnector.Notice">
+            <summary>
+            Occurs on NoticeResponses from the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnector.Notification">
+            <summary>
+            Occurs on NotificationResponses from the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnector.CertificateSelectionCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnector.CertificateValidationCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.CertificateValidationCallback delegate.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlConnector.PrivateKeySelectionCallback">
+            <summary>
+            Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.State">
+            <summary>
+            Gets the current state of the connection.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.ServerVersion">
+            <summary>
+            Version of backend server this connector is connected to.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.BackendProtocolVersion">
+            <summary>
+            Backend protocol version in use by this connector.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.Stream">
+            <summary>
+            The physical connection stream to the backend.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.Socket">
+            <summary>
+            The physical connection socket to the backend.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.IsInitialized">
+            <summary>
+            Reports if this connector is fully connected.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.Mediator">
+            <summary>
+            The connection mediator.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.Transaction">
+            <summary>
+            Report if the connection is in a transaction.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlConnector.SupportsPrepare">
+            <summary>
+            Report whether the current connection can support prepare functionality.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlConnectorPool">
+            <summary>
+            This class manages all connector objects, pooled AND non-pooled.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlConnectorPool.ConnectorPoolMgr">
+            <value>Unique static instance of the connector pool
+            mamager.</value>
+        </member>
+        <member name="F:Npgsql.NpgsqlConnectorPool.PooledConnectors">
+            <value>Map of index to unused pooled connectors, avaliable to the
+            next RequestConnector() call.</value>
+            <remarks>This hashmap will be indexed by connection string.
+            This key will hold a list of queues of pooled connectors available to be used.</remarks>
+        </member>
+        <member name="F:Npgsql.NpgsqlConnectorPool.Timer">
+            <value>Timer for tracking unused connections in pools.</value>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.RequestConnector(Npgsql.NpgsqlConnection)">
+            <summary>
+            Searches the shared and pooled connector lists for a
+            matching connector object or creates a new one.
+            </summary>
+            <param name="Connection">The NpgsqlConnection that is requesting
+            the connector. Its ConnectionString will be used to search the
+            pool for available connectors.</param>
+            <returns>A connector object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.RequestPooledConnector(Npgsql.NpgsqlConnection)">
+            <summary>
+            Find a pooled connector.  Handle locking and timeout here.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.RequestPooledConnectorInternal(Npgsql.NpgsqlConnection)">
+            <summary>
+            Find a pooled connector.  Handle shared/non-shared here.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.ReleaseConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Releases a connector, possibly back to the pool for future use.
+            </summary>
+            <remarks>
+            Pooled connectors will be put back into the pool if there is room.
+            Shared connectors should just have their use count decremented
+            since they always stay in the shared pool.
+            </remarks>
+            <param name="Connector">The connector to release.</param>
+            <param name="ForceClose">Force the connector to close, even if it is pooled.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.ReleasePooledConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Release a pooled connector.  Handle locking here.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.ReleasePooledConnectorInternal(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Release a pooled connector.  Handle shared/non-shared here.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.GetNonPooledConnector(Npgsql.NpgsqlConnection)">
+            <summary>
+            Create a connector without any pooling functionality.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.GetPooledConnector(Npgsql.NpgsqlConnection)">
+            <summary>
+            Find an available pooled connector in the non-shared pool, or create
+            a new one if none found.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.GetSharedConnector(Npgsql.NpgsqlConnection)">
+            <summary>
+            Find an available shared connector in the shared pool, or create
+            a new one if none found.
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "M:Npgsql.NpgsqlConnectorPool.FixPoolCountBecauseOfConnectionDisposeFalse(Npgsql.NpgsqlConnection)" -->
+        <member name="M:Npgsql.NpgsqlConnectorPool.UngetNonPooledConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Close the connector.
+            </summary>
+            <param name="Connector">Connector to release</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.UngetPooledConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Put a pooled connector into the pool queue.
+            </summary>
+            <param name="Connector">Connector to pool</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlConnectorPool.UngetSharedConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
+            <summary>
+            Stop sharing a shared connector.
+            </summary>
+            <param name="Connector">Connector to unshare</param>
+        </member>
+        <member name="T:Npgsql.NpgsqlConnectorPool.ConnectorQueue">
+            <summary>
+            A queue with an extra Int32 for keeping track of busy connections.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlConnectorPool.ConnectorQueue.UseCount">
+            <summary>
+            The number of pooled Connectors that belong to this queue but
+            are currently in use.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlRowUpdatedEventHandler">
+            <summary>
+            Represents the method that handles the <see cref="E:Npgsql.NpgsqlDataAdapter.RowUpdated">RowUpdated</see> events.
+            </summary>
+            <param name="sender">The source of the event.</param>
+            <param name="e">A <see cref="!:Npgsql.NpgsqlRowUpdatedEventArgs">NpgsqlRowUpdatedEventArgs</see> that contains the event data.</param>
+        </member>
+        <member name="T:Npgsql.NpgsqlRowUpdatingEventHandler">
+            <summary>
+            Represents the method that handles the <see cref="E:Npgsql.NpgsqlDataAdapter.RowUpdating">RowUpdating</see> events.
+            </summary>
+            <param name="sender">The source of the event.</param>
+            <param name="e">A <see cref="!:Npgsql.NpgsqlRowUpdatingEventArgs">NpgsqlRowUpdatingEventArgs</see> that contains the event data.</param>
+        </member>
+        <member name="T:Npgsql.NpgsqlDataAdapter">
+            <summary>
+            This class represents an adapter from many commands: select, update, insert and delete to fill <see cref="T:System.Data.DataSet">Datasets.</see>
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlDataReader">
+            <summary>
+            Provides a means of reading a forward-only stream of rows from a PostgreSQL backend.  This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.Dispose">
+            <summary>
+            Releases the resources used by the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.Dispose(System.Boolean)">
+            <summary>
+            Releases the resources used by the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.Close">
+            <summary>
+            Closes the data reader object.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.NextResult">
+            <summary>
+            Advances the data reader to the next result, when multiple result sets were returned by the PostgreSQL backend.
+            </summary>
+            <returns>True if the reader was advanced, otherwise false.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.Read">
+            <summary>
+            Advances the data reader to the next row.
+            </summary>
+            <returns>True if the reader was advanced, otherwise false.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetSchemaTable">
+            <summary>
+            Returns a System.Data.DataTable that describes the column metadata of the DataReader.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetName(System.Int32)">
+            <summary>
+            Return the column name of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetDataTypeOID(System.Int32)">
+            <summary>
+            Return the data type OID of the column at index <param name="Index"></param>.
+            </summary>
+            FIXME: Why this method returns String?
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetDataTypeName(System.Int32)">
+            <summary>
+            Return the data type name of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetFieldType(System.Int32)">
+            <summary>
+            Return the data type of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetFieldDbType(System.Int32)">
+            <summary>
+            Return the data DbType of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetFieldNpgsqlDbType(System.Int32)">
+            <summary>
+            Return the data NpgsqlDbType of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetValue(System.Int32)">
+            <summary>
+            Return the value of the column at index <param name="Index"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetValues(System.Object[])">
+            <summary>
+            Copy values from each column in the current row into <param name="Values"></param>.
+            </summary>
+            <returns>The number of column values copied.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetOrdinal(System.String)">
+            <summary>
+            Return the column name of the column named <param name="Name"></param>.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetBoolean(System.Int32)">
+            <summary>
+            Gets the value of a column as Boolean.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetByte(System.Int32)">
+            <summary>
+            Gets the value of a column as Byte.  Not implemented.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Gets raw data from a column.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetChar(System.Int32)">
+            <summary>
+            Gets the value of a column as Char.  Not implemented.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)">
+            <summary>
+            Gets raw data from a column.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetGuid(System.Int32)">
+            <summary>
+            Gets the value of a column converted to a Guid.  Not implemented.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetInt16(System.Int32)">
+            <summary>
+            Gets the value of a column as Int16.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetInt32(System.Int32)">
+            <summary>
+            Gets the value of a column as Int32.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetInt64(System.Int32)">
+            <summary>
+            Gets the value of a column as Int64.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetFloat(System.Int32)">
+            <summary>
+            Gets the value of a column as Single.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetDouble(System.Int32)">
+            <summary>
+            Gets the value of a column as Double.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetString(System.Int32)">
+            <summary>
+            Gets the value of a column as String.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetDecimal(System.Int32)">
+            <summary>
+            Gets the value of a column as Decimal.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetDateTime(System.Int32)">
+            <summary>
+            Gets the value of a column as DateTime.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetData(System.Int32)">
+            <summary>
+            Not implemented.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.IsDBNull(System.Int32)">
+            <summary>
+            Report whether the value in a column is DBNull.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlDataReader.GetTableNameFromQuery">
+            <summary>
+             This methods parses the command text and tries to get the tablename
+             from it.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.Depth">
+            <summary>
+            Gets a value indicating the depth of nesting for the current row.  Always returns zero.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.IsClosed">
+            <summary>
+            Gets a value indicating whether the data reader is closed.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.RecordsAffected">
+            <summary>
+            Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.HasRows">
+            <summary>
+            Indicates if NpgsqlDatareader has rows to be read.
+            </summary>
+        </member>
+        <member name="E:Npgsql.NpgsqlDataReader.ReaderClosed">
+            <summary>
+            Is raised whenever Close() is called.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.FieldCount">
+            <summary>
+            Gets the number of columns in the current row.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.Item(System.Int32)">
+            <summary>
+            Gets the value of a column in its native format.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlDataReader.Item(System.String)">
+            <summary>
+            Gets the value of a column in its native format.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlDataReader.KeyLookup.primaryKey">
+            <summary>
+            Contains the column names as the keys
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlDataReader.KeyLookup.uniqueColumns">
+            <summary>
+            Contains all unique columns
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlDescribe">
+             <summary>
+             This class represents the Parse message sent to PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlNoticeEventArgs">
+            <summary>
+            EventArgs class to send Notice parameters, which are just NpgsqlError's in a lighter context.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlNoticeEventArgs.Notice">
+            <summary>
+            Notice information.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlError">
+            <summary>
+            This class represents the ErrorResponse and NoticeResponse
+            message sent from PostgreSQL server.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlError.ToString">
+            <summary>
+            Return a string representation of this error object.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Severity">
+            <summary>
+            Severity code.  All versions.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Code">
+            <summary>
+            Error code.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Message">
+            <summary>
+            Terse error message.  All versions.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Detail">
+            <summary>
+            Detailed error message.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Hint">
+            <summary>
+            Suggestion to help resolve the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Position">
+            <summary>
+            Position (one based) within the query string where the error was encounterd.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Where">
+            <summary>
+            Trace back information.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.File">
+            <summary>
+            Source file (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Line">
+            <summary>
+            Source file line number (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.Routine">
+            <summary>
+            Source routine (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.ErrorSql">
+            <summary>
+            String containing the sql sent which produced this error.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlError.BackendProtocolVersion">
+            <summary>
+            Backend protocol version in use.
+            </summary>
+        </member>
+        <member name="T:Npgsql.LogLevel">
+            <summary>
+            The level of verbosity of the NpgsqlEventLog
+            </summary>
+        </member>
+        <member name="F:Npgsql.LogLevel.None">
+            <summary>
+            Don't log at all
+            </summary>
+        </member>
+        <member name="F:Npgsql.LogLevel.Normal">
+            <summary>
+            Only log the most common issues
+            </summary>
+        </member>
+        <member name="F:Npgsql.LogLevel.Debug">
+            <summary>
+            Log everything
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlEventLog">
+            <summary>
+            This class handles all the Npgsql event and debug logging
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMsg(System.String,Npgsql.LogLevel)">
+            <summary>
+            Writes a string to the Npgsql event log if msglevel is bigger then <see cref="P:Npgsql.NpgsqlEventLog.Level">NpgsqlEventLog.Level</see>
+            </summary>
+            <remarks>
+            This method is obsolete and should no longer be used.
+            It is likely to be removed in future versions of Npgsql
+            </remarks>
+            <param name="message">The message to write to the event log</param>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMsg(System.Resources.ResourceManager,System.String,Npgsql.LogLevel,System.Object[])">
+            <summary>
+            Writes a string to the Npgsql event log if msglevel is bigger then <see cref="P:Npgsql.NpgsqlEventLog.Level">NpgsqlEventLog.Level</see>
+            </summary>
+            <param name="resman">The <see cref="T:System.Resources.ResourceManager">ResourceManager</see> to get the localized resources</param>
+            <param name="ResourceString">The name of the resource that should be fetched by the <see cref="T:System.Resources.ResourceManager">ResourceManager</see></param>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="Parameters">The additional parameters that shall be included into the log-message (must be compatible with the string in the resource):</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogIndexerGet(Npgsql.LogLevel,System.String,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling the Get-part of an Indexer to the log file.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Indexer</param>
+            <param name="IndexerParam">The parameter given to the Indexer</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogIndexerSet(Npgsql.LogLevel,System.String,System.Object,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling the Set-part of an Indexer to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Indexer</param>
+            <param name="IndexerParam">The parameter given to the Indexer</param>
+            <param name="value">The value the Indexer is set to</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogPropertyGet(Npgsql.LogLevel,System.String,System.String)">
+            <summary>
+            Writes the default log-message for the action of calling the Get-part of a Property to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Property</param>
+            <param name="PropertyName">The name of the Property</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogPropertySet(Npgsql.LogLevel,System.String,System.String,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling the Set-part of a Property to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Property</param>
+            <param name="PropertyName">The name of the Property</param>
+            <param name="value">The value the Property is set to</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String)">
+            <summary>
+            Writes the default log-message for the action of calling a Method without Arguments to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Method</param>
+            <param name="MethodName">The name of the Method</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling a Method with one Argument to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Method</param>
+            <param name="MethodName">The name of the Method</param>
+            <param name="MethodParameter">The value of the Argument of the Method</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling a Method with two Arguments to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Method</param>
+            <param name="MethodName">The name of the Method</param>
+            <param name="MethodParameter1">The value of the first Argument of the Method</param>
+            <param name="MethodParameter2">The value of the second Argument of the Method</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object,System.Object,System.Object)">
+            <summary>
+            Writes the default log-message for the action of calling a Method with three Arguments to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Method</param>
+            <param name="MethodName">The name of the Method</param>
+            <param name="MethodParameter1">The value of the first Argument of the Method</param>
+            <param name="MethodParameter2">The value of the second Argument of the Method</param>
+            <param name="MethodParameter3">The value of the third Argument of the Method</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object[])">
+            <summary>
+            Writes the default log-message for the action of calling a Method with more than three Arguments to the logfile.
+            </summary>
+            <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
+            <param name="ClassName">The name of the class that contains the Method</param>
+            <param name="MethodName">The name of the Method</param>
+            <param name="MethodParameters">A <see cref="T:System.Object">Object</see>-Array with zero or more Ojects that are Arguments of the Method.</param>
+        </member>
+        <member name="P:Npgsql.NpgsqlEventLog.Level">
+            <summary>
+             Sets/Returns the level of information to log to the logfile.
+             </summary>
+             <value>The current <see cref="T:Npgsql.LogLevel">LogLevel</see></value>
+        </member>
+        <member name="P:Npgsql.NpgsqlEventLog.LogName">
+            <summary>
+             Sets/Returns the filename to use for logging.
+             </summary>
+             <value>The filename of the current Log file.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlEventLog.EchoMessages">
+            <summary>
+             Sets/Returns whether Log messages should be echoed to the console
+             </summary>
+             <value><b>true</b> if Log messages are echoed to the console, otherwise <b>false</b></value>
+        </member>
+        <member name="T:Npgsql.NpgsqlException">
+            <summary>
+            The exception that is thrown when the PostgreSQL backend reports errors.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlException.#ctor(System.Collections.IList)">
+            <summary>
+            Construct a backend error exception based on a list of one or more
+            backend errors.  The basic Exception.Message will be built from the
+            first (usually the only) error in the list.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlException.ToString">
+            <summary>
+            Format a .NET style exception string.
+            Include all errors in the list, including any hints.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlException.AppendString(System.IO.StringWriter,System.String,System.String)">
+            <summary>
+            Append a line to the given Stream, first checking for zero-length.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Item(System.Int32)">
+            <summary>
+            Provide access to the entire list of errors provided by the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Severity">
+            <summary>
+            Severity code.  All versions.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Code">
+            <summary>
+            Error code.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.BaseMessage">
+            <summary>
+            Basic error message.  All versions.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Detail">
+            <summary>
+            Detailed error message.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Hint">
+            <summary>
+            Suggestion to help resolve the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Position">
+            <summary>
+            Position (one based) within the query string where the error was encounterd.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Where">
+            <summary>
+            Trace back information.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.File">
+            <summary>
+            Source file (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Line">
+            <summary>
+            Source file line number (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Routine">
+            <summary>
+            Source routine (in backend) reporting the error.  PostgreSQL 7.4 and up.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.ErrorSql">
+            <summary>
+            String containing the sql sent which produced this error.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlException.Errors">
+            <summary>
+            Returns the entire list of errors provided by the PostgreSQL backend.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlExecute">
+             <summary>
+             This class represents the Parse message sent to PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlFlush">
+             <summary>
+             This class represents the Parse message sent to PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlMediator">
+            <summary>
+             This class is responsible for serving as bridge between the backend
+             protocol handling and the core classes. It is used as the mediator for
+             exchanging data generated/sent from/to backend.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlMessageTypes_Ver_2">
+            <summary>
+            Class NpgsqlMessageTypes_Ver_2.
+            Defines PG frontend/backend protocol message types and parameters used in protocol version 2.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlMessageTypes_Ver_3">
+            <summary>
+            Class NpgsqlMessageTypes_Ver_3.
+            Defines PG frontend/backend protocol message types and parameters used in protocol version 3.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlNotificationEventArgs">
+            <summary>
+            EventArgs class to send Notification parameters.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlNotificationEventArgs.PID">
+            <summary>
+            Process ID of the PostgreSQL backend that sent this notification.
+            </summary>
+        </member>
+        <member name="F:Npgsql.NpgsqlNotificationEventArgs.Condition">
+            <summary>
+            Condition that triggered that notification.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlParameter">
+            <summary>
+             This class represents a parameter to a command that will be sent to server
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "M:Npgsql.NpgsqlParameter.#ctor" -->
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            class with the parameter name and a value of the new <b>NpgsqlParameter</b>.
+            </summary>
+            <param name="parameterName">The name of the parameter to map.</param>
+            <param name="value">An <see cref="T:System.Object">Object</see> that is the value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.</param>
+            <remarks>
+            <p>When you specify an <see cref="T:System.Object">Object</see>
+            in the value parameter, the <see cref="T:System.Data.DbType">DbType</see> is
+            inferred from the .NET Framework type of the <b>Object</b>.</p>
+            <p>When using this constructor, you must be aware of a possible misuse of the constructor which takes a DbType parameter.
+            This happens when calling this constructor passing an int 0 and the compiler thinks you are passing a value of DbType.
+            Use <code> Convert.ToInt32(value) </code> for example to have compiler calling the correct constructor.</p>
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlNativeTypeInfo)">
+            <summary>
+            Internal constructor to handle parameter creation from CommandBuilder passing a NpgsqlNativeTypeInfo directly.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            class with the parameter name and the data type.
+            </summary>
+            <param name="parameterName">The name of the parameter to map.</param>
+            <param name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            class with the parameter name, the <see cref="T:System.Data.DbType">DbType</see>, and the size.
+            </summary>
+            <param name="parameterName">The name of the parameter to map.</param>
+            <param name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
+            <param name="size">The length of the parameter.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            class with the parameter name, the <see cref="T:System.Data.DbType">DbType</see>, the size,
+            and the source column name.
+            </summary>
+            <param name="parameterName">The name of the parameter to map.</param>
+            <param name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
+            <param name="size">The length of the parameter.</param>
+            <param name="sourceColumn">The name of the source column.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32,System.String,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.Data.DataRowVersion,System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            class with the parameter name, the <see cref="T:System.Data.DbType">DbType</see>, the size,
+            the source column name, a <see cref="T:System.Data.ParameterDirection">ParameterDirection</see>,
+            the precision of the parameter, the scale of the parameter, a
+            <see cref="T:System.Data.DataRowVersion">DataRowVersion</see> to use, and the
+            value of the parameter.
+            </summary>
+            <param name="parameterName">The name of the parameter to map.</param>
+            <param name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
+            <param name="size">The length of the parameter.</param>
+            <param name="sourceColumn">The name of the source column.</param>
+            <param name="direction">One of the <see cref="T:System.Data.ParameterDirection">ParameterDirection</see> values.</param>
+            <param name="isNullable"><b>true</b> if the value of the field can be null, otherwise <b>false</b>.</param>
+            <param name="precision">The total number of digits to the left and right of the decimal point to which
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved.</param>
+            <param name="scale">The total number of decimal places to which
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved.</param>
+            <param name="sourceVersion">One of the <see cref="T:System.Data.DataRowVersion">DataRowVersion</see> values.</param>
+            <param name="value">An <see cref="T:System.Object">Object</see> that is the value
+            of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameter.System#ICloneable#Clone">
+            <summary>
+            Creates a new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> that
+            is a copy of the current instance.
+            </summary>
+            <returns>A new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> that is a copy of this instance.</returns>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.Precision">
+            <summary>
+            Gets or sets the maximum number of digits used to represent the
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> property.
+            </summary>
+            <value>The maximum number of digits used to represent the
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> property.
+            The default value is 0, which indicates that the data provider
+            sets the precision for <b>Value</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.Scale">
+            <summary>
+            Gets or sets the number of decimal places to which
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved.
+            </summary>
+            <value>The number of decimal places to which
+            <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved. The default is 0.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.Size">
+            <summary>
+            Gets or sets the maximum size, in bytes, of the data within the column.
+            </summary>
+            <value>The maximum size, in bytes, of the data within the column.
+            The default value is inferred from the parameter value.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.DbType">
+            <summary>
+            Gets or sets the <see cref="T:System.Data.DbType">DbType</see> of the parameter.
+            </summary>
+            <value>One of the <see cref="T:System.Data.DbType">DbType</see> values. The default is <b>String</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.NpgsqlDbType">
+            <summary>
+            Gets or sets the <see cref="T:System.Data.DbType">DbType</see> of the parameter.
+            </summary>
+            <value>One of the <see cref="T:System.Data.DbType">DbType</see> values. The default is <b>String</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.Direction">
+            <summary>
+            Gets or sets a value indicating whether the parameter is input-only,
+            output-only, bidirectional, or a stored procedure return value parameter.
+            </summary>
+            <value>One of the <see cref="T:System.Data.ParameterDirection">ParameterDirection</see>
+            values. The default is <b>Input</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.IsNullable">
+            <summary>
+            Gets or sets a value indicating whether the parameter accepts null values.
+            </summary>
+            <value><b>true</b> if null values are accepted; otherwise, <b>false</b>. The default is <b>false</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.ParameterName">
+            <summary>
+            Gets or sets the name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.
+            </summary>
+            <value>The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.
+            The default is an empty string.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.SourceColumn">
+            <summary>
+            Gets or sets the name of the source column that is mapped to the
+            <see cref="T:System.Data.DataSet">DataSet</see> and used for loading or
+            returning the <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see>.
+            </summary>
+            <value>The name of the source column that is mapped to the
+            <see cref="T:System.Data.DataSet">DataSet</see>. The default is an empty string.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.SourceVersion">
+            <summary>
+            Gets or sets the <see cref="T:System.Data.DataRowVersion">DataRowVersion</see>
+            to use when loading <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see>.
+            </summary>
+            <value>One of the <see cref="T:System.Data.DataRowVersion">DataRowVersion</see> values.
+            The default is <b>Current</b>.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameter.Value">
+            <summary>
+            Gets or sets the value of the parameter.
+            </summary>
+            <value>An <see cref="T:System.Object">Object</see> that is the value of the parameter.
+            The default value is null.</value>
+        </member>
+        <member name="T:Npgsql.NpgsqlParameterCollection">
+            <summary>
+            Represents a collection of parameters relevant to a <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>
+            as well as their respective mappings to columns in a <see cref="T:System.Data.DataSet">DataSet</see>.
+            This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.#ctor">
+            <summary>
+            Initializes a new instance of the NpgsqlParameterCollection class.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(Npgsql.NpgsqlParameter)">
+            <summary>
+            Adds the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see>.
+            </summary>
+            <param name="value">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
+            <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,System.Object)">
+            <summary>
+            Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> given the specified parameter name and value.
+            </summary>
+            <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.</param>
+            <param name="value">The Value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
+            <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+            <remarks>
+            Use caution when using this overload of the
+            <b>Add</b> method to specify integer parameter values.
+            Because this overload takes a <i>value</i> of type Object,
+            you must convert the integral value to an <b>Object</b>
+            type when the value is zero, as the following C# example demonstrates.
+            <code>parameters.Add(":pname", Convert.ToInt32(0));</code>
+            If you do not perform this conversion, the compiler will assume you
+            are attempting to call the NpgsqlParameterCollection.Add(string, DbType) overload.
+            </remarks>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,NpgsqlTypes.NpgsqlDbType)">
+            <summary>
+            Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> given the parameter name and the data type.
+            </summary>
+            <param name="parameterName">The name of the parameter.</param>
+            <param name="parameterType">One of the DbType values.</param>
+            <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32)">
+            <summary>
+            Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> with the parameter name, the data type, and the column length.
+            </summary>
+            <param name="parameterName">The name of the parameter.</param>
+            <param name="parameterType">One of the DbType values.</param>
+            <param name="size">The length of the column.</param>
+            <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32,System.String)">
+            <summary>
+            Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> with the parameter name, the data type, the column length, and the source column name.
+            </summary>
+            <param name="parameterName">The name of the parameter.</param>
+            <param name="parameterType">One of the DbType values.</param>
+            <param name="size">The length of the column.</param>
+            <param name="sourceColumn">The name of the source column.</param>
+            <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.RemoveAt(System.String)">
+            <summary>
+            Removes the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> from the collection using the parameter name.
+            </summary>
+            <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to retrieve.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Contains(System.String)">
+            <summary>
+            Gets a value indicating whether a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> with the specified parameter name exists in the collection.
+            </summary>
+            <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
+            <returns><b>true</b> if the collection contains the parameter; otherwise, <b>false</b>.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.IndexOf(System.String)">
+            <summary>
+            Gets the location of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> in the collection with a specific parameter name.
+            </summary>
+            <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
+            <returns>The zero-based location of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> in the collection.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.RemoveAt(System.Int32)">
+            <summary>
+            Removes the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> from the collection using a specific index.
+            </summary>
+            <param name="index">The zero-based index of the parameter.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Insert(System.Int32,System.Object)">
+            <summary>
+            Inserts a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> into the collection at the specified index.
+            </summary>
+            <param name="index">The zero-based index where the parameter is to be inserted within the collection.</param>
+            <param name="value">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Remove(System.Object)">
+            <summary>
+            Removes the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> from the collection.
+            </summary>
+            <param name="value">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to remove from the collection.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Contains(System.Object)">
+            <summary>
+            Gets a value indicating whether a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> exists in the collection.
+            </summary>
+            <param name="value">The value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
+            <returns>true if the collection contains the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object; otherwise, false.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.TryGetValue(System.String,Npgsql.NpgsqlParameter@)">
+            <returns><b>true</b> if the collection contains the parameter and param will contain the parameter; otherwise, <b>false</b>.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Clear">
+            <summary>
+            Removes all items from the collection.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.IndexOf(System.Object)">
+            <summary>
+            Gets the location of a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> in the collection.
+            </summary>
+            <param name="value">The value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
+            <returns>The zero-based index of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object in the collection.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.Object)">
+            <summary>
+            Adds the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see>.
+            </summary>
+            <param name="value">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
+            <returns>The zero-based index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.CopyTo(System.Array,System.Int32)">
+            <summary>
+            Copies <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects from the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> to the specified array.
+            </summary>
+            <param name="array">An <see cref="T:System.Array">Array</see> to which to copy the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects in the collection.</param>
+            <param name="index">The starting index of the array.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Returns an enumerator that can iterate through the collection.
+            </summary>
+            <returns>An <see cref="T:System.Collections.IEnumerator">IEnumerator</see> that can be used to iterate through the collection.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlParameterCollection.CheckType(System.Object)">
+            <summary>
+            In methods taking an object as argument this method is used to verify
+            that the argument has the type <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
+            </summary>
+            <param name="Object">The object to verify</param>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameterCollection.Item(System.String)">
+            <summary>
+            Gets the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> with the specified name.
+            </summary>
+            <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to retrieve.</param>
+            <value>The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> with the specified name, or a null reference if the parameter is not found.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameterCollection.Item(System.Int32)">
+            <summary>
+            Gets the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> at the specified index.
+            </summary>
+            <param name="index">The zero-based index of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to retrieve.</param>
+            <value>The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> at the specified index.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlParameterCollection.Count">
+            <summary>
+            Gets the number of <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects in the collection.
+            </summary>
+            <value>The number of <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects in the collection.</value>
+        </member>
+        <member name="T:Npgsql.NpgsqlParameterStatus">
+             <summary>
+             This class represents the ParameterStatus message sent from PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlParse">
+             <summary>
+             This class represents the Parse message sent to PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlPasswordPacket">
+            <summary>
+            This class represents a PasswordPacket message sent to backend
+            PostgreSQL.
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlQuery">
+            <summary>
+            Summary description for NpgsqlQuery
+            </summary>
+        </member>
+        <member name="T:Npgsql.NpgsqlRowDescriptionFieldData">
+             <summary>
+             This struct represents the internal data of the RowDescription message.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlRowDescription">
+             <summary>
+             This class represents a RowDescription message sent from
+             the PostgreSQL.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlSchema">
+            <summary>
+            Provides the underlying mechanism for reading schema information.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.#ctor(Npgsql.NpgsqlConnection)">
+            <summary>
+            Creates an NpgsqlSchema that can read schema information from the database.
+            </summary>
+            <param name="connection">An open database connection for reading metadata.</param>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetMetaDataCollections">
+            <summary>
+            Returns the MetaDataCollections that lists all possible collections.
+            </summary>
+            <returns>The MetaDataCollections</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetRestrictions">
+            <summary>
+            Returns the Restrictions that contains the meaning and position of the values in the restrictions array.
+            </summary>
+            <returns>The Restrictions</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetDatabases(System.String[])">
+            <summary>
+            Returns the Databases that contains a list of all accessable databases.
+            </summary>
+            <param name="restrictions">The restrictions to filter the collection.</param>
+            <returns>The Databases</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetTables(System.String[])">
+            <summary>
+            Returns the Tables that contains table and view names and the database and schema they come from.
+            </summary>
+            <param name="restrictions">The restrictions to filter the collection.</param>
+            <returns>The Tables</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetColumns(System.String[])">
+            <summary>
+            Returns the Columns that contains information about columns in tables. 
+            </summary>
+            <param name="restrictions">The restrictions to filter the collection.</param>
+            <returns>The Columns.</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetViews(System.String[])">
+            <summary>
+            Returns the Views that contains view names and the database and schema they come from.
+            </summary>
+            <param name="restrictions">The restrictions to filter the collection.</param>
+            <returns>The Views</returns>
+        </member>
+        <member name="M:Npgsql.NpgsqlSchema.GetUsers(System.String[])">
+            <summary>
+            Returns the Users containing user names and the sysid of those users.
+            </summary>
+            <param name="restrictions">The restrictions to filter the collection.</param>
+            <returns>The Users.</returns>
+        </member>
+        <member name="T:Npgsql.NpgsqlStartupPacket">
+             <summary>
+             This class represents a StartupPacket message of PostgreSQL
+             protocol.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlSync">
+             <summary>
+             This class represents the Parse message sent to PostgreSQL
+             server.
+             </summary>
+            
+        </member>
+        <member name="T:Npgsql.NpgsqlTransaction">
+            <summary>
+            Represents a transaction to be made in a PostgreSQL database. This class cannot be inherited.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlTransaction.Dispose">
+            <summary>
+            Releases the unmanaged resources used by the
+            <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>
+            and optionally releases the managed resources.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlTransaction.Commit">
+            <summary>
+            Commits the database transaction.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlTransaction.Rollback">
+            <summary>
+            Rolls back a transaction from a pending state.
+            </summary>
+        </member>
+        <member name="M:Npgsql.NpgsqlTransaction.Cancel">
+            <summary>
+            Cancel the transaction without telling the backend about it.  This is
+            used to make the transaction go away when closing a connection.
+            </summary>
+        </member>
+        <member name="P:Npgsql.NpgsqlTransaction.Connection">
+            <summary>
+            Gets the <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>
+            object associated with the transaction, or a null reference if the
+            transaction is no longer valid.
+            </summary>
+            <value>The <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>
+            object associated with the transaction.</value>
+        </member>
+        <member name="P:Npgsql.NpgsqlTransaction.IsolationLevel">
+            <summary>
+            Specifies the <see cref="T:System.Data.IsolationLevel">IsolationLevel</see> for this transaction.
+            </summary>
+            <value>The <see cref="T:System.Data.IsolationLevel">IsolationLevel</see> for this transaction.
+            The default is <b>ReadCommitted</b>.</value>
+        </member>
+        <member name="T:Npgsql.ProtocolVersion">
+            <summary>
+            Represent the frontend/backend protocol version.
+            </summary>
+        </member>
+        <member name="T:Npgsql.ServerVersion">
+            <summary>
+            Represent the backend server version.
+            </summary>
+        </member>
+        <member name="M:Npgsql.ServerVersion.ToString">
+            <summary>
+            Returns the string representation of this version in three place dot notation (Major.Minor.Patch).
+            </summary>
+        </member>
+        <member name="P:Npgsql.ServerVersion.Major">
+            <summary>
+            Server version major number.
+            </summary>
+        </member>
+        <member name="P:Npgsql.ServerVersion.Minor">
+            <summary>
+            Server version minor number.
+            </summary>
+        </member>
+        <member name="P:Npgsql.ServerVersion.Patch">
+            <summary>
+            Server version patch level number.
+            </summary>
+        </member>
+        <member name="T:Npgsql.PGUtil">
+            <summary>
+             This class provides many util methods to handle
+             reading and writing of PostgreSQL protocol messages.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ConvertProtocolVersion(Npgsql.ProtocolVersion)">
+            <summary>
+             This method takes a ProtocolVersion and returns an integer
+             version number that the Postgres backend will recognize in a
+             startup packet.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ExtractServerVersion(System.String)">
+            <summary>
+            This method takes a version string as returned by SELECT VERSION() and returns
+            a valid version string ("7.2.2" for example).
+            This is only needed when running protocol version 2.
+            This does not do any validity checks.
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ParseServerVersion(System.String)">
+            <summary>
+            This method takes a version string ("7.4.1" for example) and produces
+            the required integer version numbers (7, 4, and 1).
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ConvertBeginToInt32(System.String)">
+            <summary>
+            Convert the beginning numeric part of the given string to Int32.
+            For example:
+              Strings "12345ABCD" and "12345.54321" would both be converted to int 12345.
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ReadString(System.IO.Stream,System.Text.Encoding)">
+            <summary>
+             This method gets a C NULL terminated string from the network stream.
+             It keeps reading a byte in each time until a NULL byte is returned.
+             It returns the resultant string of bytes read.
+             This string is sent from backend.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ReadString(System.IO.Stream,System.Text.Encoding,System.Int32)">
+            <summary>
+             This method gets a length terminated string from a network stream.
+             It returns the resultant string of bytes read.
+             This string is sent from backend.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.WriteString(System.String,System.IO.Stream,System.Text.Encoding)">
+            <summary>
+             This method writes a C NULL terminated string to the network stream.
+             It appends a NULL terminator to the end of the String.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.WriteLimString(System.String,System.Int32,System.IO.Stream,System.Text.Encoding)">
+            <summary>
+             This method writes a C NULL terminated string limited in length to the
+             backend server.
+             It pads the string with null bytes to the size specified.
+             </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.WriteInt32(System.IO.Stream,System.Int32)">
+            <summary>
+            Write a 32-bit integer to the given stream in the correct byte order.
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ReadInt32(System.IO.Stream,System.Byte[])">
+            <summary>
+            Read a 32-bit integer from the given stream in the correct byte order.
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.WriteInt16(System.IO.Stream,System.Int16)">
+            <summary>
+            Write a 16-bit integer to the given stream in the correct byte order.
+            </summary>
+        </member>
+        <member name="M:Npgsql.PGUtil.ReadInt16(System.IO.Stream,System.Byte[])">
+            <summary>
+            Read a 16-bit integer from the given stream in the correct byte order.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.LargeObjectManager">
+            <summary>
+            Summary description for LargeObjectManager.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.BasicBackendToNativeTypeConverter">
+            <summary>
+            Provide event handlers to convert all native supported basic data types from their backend
+            text representation to a .NET object.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToBinary(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Binary data.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToBoolean(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql boolean to a System.Boolean.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToBit(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql bit to a System.Boolean.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToDateTime(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql datetime to a System.DateTime.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToDate(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql date to a System.DateTime.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToTime(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql time to a System.DateTime.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToMoney(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql money to a System.Decimal.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.BasicNativeToBackendTypeConverter">
+            <summary>
+            Provide event handlers to convert the basic native supported data types from
+            native form to backend representation.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToBinary(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Binary data.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToBoolean(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgresql boolean.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToBit(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgresql bit.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToDateTime(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgresql timestamp.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToDate(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgresql date.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToTime(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgresql time.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToMoney(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgres money.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.ExtendedBackendToNativeTypeConverter">
+            <summary>
+            Provide event handlers to convert extended native supported data types from their backend
+            text representation to a .NET object.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToPoint(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql point to a System.NpgsqlPoint.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToBox(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Convert a postgresql point to a System.RectangleF.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToLSeg(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            LDeg.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToPath(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Path.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToPolygon(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Polygon.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToCircle(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Circle.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToInet(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+            Inet.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.ExtendedNativeToBackendTypeConverter">
+            <summary>
+            Provide event handlers to convert extended native supported data types from
+            native form to backend representation.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToPoint(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Point.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToBox(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Box.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToLSeg(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            LSeg.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToPath(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Open path.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToPolygon(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Polygon.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToCircle(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Circle.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToIPAddress(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object)">
+            <summary>
+            Convert to a postgres inet.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlPoint">
+            <summary>
+            Represents a PostgreSQL Point type
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlLSeg">
+            <summary>
+            Represents a PostgreSQL Line Segment type.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlPath">
+            <summary>
+            Represents a PostgreSQL Path type.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlPolygon">
+            <summary>
+            Represents a PostgreSQL Polygon type.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlCircle">
+            <summary>
+            Represents a PostgreSQL Circle type.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlInet">
+            <summary>
+            Represents a PostgreSQL inet type.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlTypesHelper">
+            <summary>
+            This class contains helper methods for type conversion between
+            the .Net type system and postgresql.
+            </summary>
+        </member>
+        <member name="F:NpgsqlTypes.NpgsqlTypesHelper.BackendTypeMappingCache">
+            <summary>
+            A cache of basic datatype mappings keyed by server version.  This way we don't
+            have to load the basic type mappings for every connection.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.GetNativeTypeInfo(NpgsqlTypes.NpgsqlDbType)">
+            <summary>
+            Find a NpgsqlNativeTypeInfo in the default types map that can handle objects
+            of the given NpgsqlDbType.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.GetNativeTypeInfo(System.Data.DbType)">
+            <summary>
+            Find a NpgsqlNativeTypeInfo in the default types map that can handle objects
+            of the given DbType.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.GetNativeTypeInfo(System.Type)">
+            <summary>
+            Find a NpgsqlNativeTypeInfo in the default types map that can handle objects
+            of the given System.Type.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.ConvertBackendStringToSystemType(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
+            <summary>
+             This method is responsible to convert the string received from the backend
+             to the corresponding NpgsqlType.
+             The given TypeInfo is called upon to do the conversion.
+             If no TypeInfo object is provided, no conversion is performed.
+             </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.VerifyDefaultTypesMap">
+            <summary>
+            Create the one and only native to backend type map.
+            This map is used when formatting native data
+            types to backend representations.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.CreateAndLoadInitialTypesMapping(Npgsql.NpgsqlConnector)">
+            <summary>
+             This method creates (or retrieves from cache) a mapping between type and OID 
+             of all natively supported postgresql data types.
+             This is needed as from one version to another, this mapping can be changed and
+             so we avoid hardcoding them.
+             </summary>
+             <returns>NpgsqlTypeMapping containing all known data types.  The mapping must be
+             cloned before it is modified because it is cached; changes made by one connection may
+             effect another connection.</returns>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlTypesHelper.LoadTypesMappings(Npgsql.NpgsqlConnector,NpgsqlTypes.NpgsqlBackendTypeMapping,System.Collections.IList)">
+            <summary>
+            Attempt to map types by issuing a query against pg_type.
+            This function takes a list of NpgsqlTypeInfo and attempts to resolve the OID field
+            of each by querying pg_type.  If the mapping is found, the type info object is
+            updated (OID) and added to the provided NpgsqlTypeMapping object.
+            </summary>
+            <param name="conn">NpgsqlConnector to send query through.</param>
+            <param name="TypeMappings">Mapping object to add types too.</param>
+            <param name="TypeInfoList">List of types that need to have OID's mapped.</param>
+        </member>
+        <member name="T:NpgsqlTypes.ConvertBackendToNativeHandler">
+            <summary>
+            Delegate called to convert the given backend data to its native representation.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.ConvertNativeToBackendHandler">
+            <summary>
+            Delegate called to convert the given native data to its backand representation.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlBackendTypeInfo">
+            <summary>
+            Represents a backend data type.
+            This class can be called upon to convert a backend field representation to a native object.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeInfo.#ctor(System.Int32,System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Type,NpgsqlTypes.ConvertBackendToNativeHandler)">
+            <summary>
+            Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers.
+            </summary>
+            <param name="OID">Type OID provided by the backend server.</param>
+            <param name="Name">Type name provided by the backend server.</param>
+            <param name="NpgsqlDbType">NpgsqlDbType</param>
+            <param name="Type">System type to convert fields of this type to.</param>
+            <param name="ConvertBackendToNative">Data conversion handler.</param>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeInfo.ConvertToNative(System.String,System.Int16,System.Int32)">
+            <summary>
+            Perform a data conversion from a backend representation to 
+            a native object.
+            </summary>
+            <param name="BackendData">Data sent from the backend.</param>
+            <param name="TypeModifier">Type modifier field sent from the backend.</param>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.OID">
+            <summary>
+            Type OID provided by the backend server.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.Name">
+            <summary>
+            Type name provided by the backend server.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.NpgsqlDbType">
+            <summary>
+            NpgsqlDbType.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.DbType">
+            <summary>
+            NpgsqlDbType.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.Type">
+            <summary>
+            System type to convert fields of this type to.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlNativeTypeInfo">
+            <summary>
+            Represents a backend data type.
+            This class can be called upon to convert a native object to its backend field representation,
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeInfo.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Boolean,NpgsqlTypes.ConvertNativeToBackendHandler)">
+            <summary>
+            Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers.
+            </summary>
+            <param name="OID">Type OID provided by the backend server.</param>
+            <param name="Name">Type name provided by the backend server.</param>
+            <param name="NpgsqlDbType">NpgsqlDbType</param>
+            <param name="Type">System type to convert fields of this type to.</param>
+            <param name="ConvertBackendToNative">Data conversion handler.</param>
+            <param name="ConvertNativeToBackend">Data conversion handler.</param>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeInfo.ConvertToBackend(System.Object,System.Boolean)">
+            <summary>
+            Perform a data conversion from a native object to
+            a backend representation.
+            DBNull and null values are handled differently depending if a plain query is used
+            When 
+            </summary>
+            <param name="NativeData">Native .NET object to be converted.</param>
+            <param name="ForExtendedQuery">Flag indicating if the conversion has to be done for 
+            plain queries or extended queries</param>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.Name">
+            <summary>
+            Type name provided by the backend server.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.NpgsqlDbType">
+            <summary>
+            NpgsqlDbType.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.DbType">
+            <summary>
+            DbType.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.Quote">
+            <summary>
+            Apply quoting.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.UseSize">
+            <summary>
+            Use parameter size information.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlBackendTypeMapping">
+            <summary>
+            Provide mapping between type OID, type name, and a NpgsqlBackendTypeInfo object that represents it.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.#ctor">
+            <summary>
+            Construct an empty mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.#ctor(NpgsqlTypes.NpgsqlBackendTypeMapping)">
+            <summary>
+            Copy constuctor.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.AddType(NpgsqlTypes.NpgsqlBackendTypeInfo)">
+            <summary>
+            Add the given NpgsqlBackendTypeInfo to this mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.AddType(System.Int32,System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Type,NpgsqlTypes.ConvertBackendToNativeHandler)">
+            <summary>
+            Add a new NpgsqlBackendTypeInfo with the given attributes and conversion handlers to this mapping.
+            </summary>
+            <param name="OID">Type OID provided by the backend server.</param>
+            <param name="Name">Type name provided by the backend server.</param>
+            <param name="NpgsqlDbType">NpgsqlDbType</param>
+            <param name="Type">System type to convert fields of this type to.</param>
+            <param name="ConvertBackendToNative">Data conversion handler.</param>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.Clone">
+            <summary>
+            Make a shallow copy of this type mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.ContainsOID(System.Int32)">
+            <summary>
+            Determine if a NpgsqlBackendTypeInfo with the given backend type OID exists in this mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.ContainsName(System.String)">
+            <summary>
+            Determine if a NpgsqlBackendTypeInfo with the given backend type name exists in this mapping.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeMapping.Count">
+            <summary>
+            Get the number of type infos held.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeMapping.Item(System.Int32)">
+            <summary>
+            Retrieve the NpgsqlBackendTypeInfo with the given backend type OID, or null if none found.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlBackendTypeMapping.Item(System.String)">
+            <summary>
+            Retrieve the NpgsqlBackendTypeInfo with the given backend type name, or null if none found.
+            </summary>
+        </member>
+        <member name="T:NpgsqlTypes.NpgsqlNativeTypeMapping">
+            <summary>
+            Provide mapping between type Type, NpgsqlDbType and a NpgsqlNativeTypeInfo object that represents it.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.#ctor">
+            <summary>
+            Construct an empty mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.AddType(NpgsqlTypes.NpgsqlNativeTypeInfo)">
+            <summary>
+            Add the given NpgsqlNativeTypeInfo to this mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.AddType(System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Boolean,NpgsqlTypes.ConvertNativeToBackendHandler)">
+            <summary>
+            Add a new NpgsqlNativeTypeInfo with the given attributes and conversion handlers to this mapping.
+            </summary>
+            <param name="OID">Type OID provided by the backend server.</param>
+            <param name="Name">Type name provided by the backend server.</param>
+            <param name="NpgsqlDbType">NpgsqlDbType</param>
+            <param name="ConvertBackendToNative">Data conversion handler.</param>
+            <param name="ConvertNativeToBackend">Data conversion handler.</param>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.ContainsName(System.String)">
+            <summary>
+            Determine if a NpgsqlNativeTypeInfo with the given backend type name exists in this mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.ContainsNpgsqlDbType(NpgsqlTypes.NpgsqlDbType)">
+            <summary>
+            Determine if a NpgsqlNativeTypeInfo with the given NpgsqlDbType exists in this mapping.
+            </summary>
+        </member>
+        <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.ContainsType(System.Type)">
+            <summary>
+            Determine if a NpgsqlNativeTypeInfo with the given Type name exists in this mapping.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Count">
+            <summary>
+            Get the number of type infos held.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Item(System.String)">
+            <summary>
+            Retrieve the NpgsqlNativeTypeInfo with the given backend type name, or null if none found.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Item(NpgsqlTypes.NpgsqlDbType)">
+            <summary>
+            Retrieve the NpgsqlNativeTypeInfo with the given NpgsqlDbType, or null if none found.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Item(System.Data.DbType)">
+            <summary>
+            Retrieve the NpgsqlNativeTypeInfo with the given DbType, or null if none found.
+            </summary>
+        </member>
+        <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Item(System.Type)">
+            <summary>
+            Retrieve the NpgsqlNativeTypeInfo with the given Type, or null if none found.
+            </summary>
+        </member>
+        <member name="T:Npgsql.Design.ConnectionStringEditor">
+            <summary>
+            An UITypeEditor that simply initializes a
+            ConnectionStringEditorForm if possible
+            </summary>
+        </member>
+        <member name="M:Npgsql.Design.ConnectionStringEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
+            <summary>
+            Edits the Value of the given Object using the EditSyle given by GetEditStyle.
+            </summary>
+            <param name="context">An ITypeDescriptorContext, through wich you can get additional context information.</param>
+            <param name="provider">An IServiceProvider, through which this editor may order services.</param>
+            <param name="value">The Object to edit</param>
+            <returns>The new value of the Object</returns>
+        </member>
+        <member name="M:Npgsql.Design.ConnectionStringEditor.GetEditStyle(System.ComponentModel.ITypeDescriptorContext)">
+            <summary>
+            Requests the EditSyle to be used by EditValue
+            </summary>
+            <param name="context">An ITypeDescriptorContext, through wich you can get additional context information.</param>
+            <returns>An UITypeEditorEditStyle-Value, indicating the EditStyle used by EditValue. If UITypeEditor doesn't support this method, GetEditStyle returns the value None.</returns>
+        </member>
+        <member name="F:Npgsql.Design.ConnectionStringEditorForm.components">
+            <summary>
+            Required designer variable.
+            </summary>
+        </member>
+        <member name="M:Npgsql.Design.ConnectionStringEditorForm.Dispose(System.Boolean)">
+            <summary>
+            Clean up any resources being used.
+            </summary>
+        </member>
+        <member name="M:Npgsql.Design.ConnectionStringEditorForm.InitializeComponent">
+            <summary>
+            Required method for Designer support - do not modify
+            the contents of this method with the code editor.
+            </summary>
+        </member>
+        <member name="P:Npgsql.Design.ConnectionStringEditorForm.ConnectionString">
+            <summary>
+            Returns the generated ConnectionString
+            </summary>
+        </member>
+        <member name="T:Npgsql.Design.NpgsqlParameterConverter">
+            <summary>
+            Zusammenfassung fr NpgsqlParameterConverter.
+            </summary>
+        </member>
+        <member name="T:Npgsql.Design.NpgsqlParametersEditor">
+            <summary>
+            Zusammenfassung fr NpgsqlParametersEditor.
+            </summary>
+        </member>
+    </members>
+</doc>

BIN
lib/Oracle.DataAccess.dll


BIN
lib/System.Data.SQLite.DLL


BIN
lib/System.Data.SqlServerCe.dll


BIN
lib/log4net.dll


BIN
lib/nant/CollectionGen.dll


BIN
lib/nant/Interop.MsmMergeTypeLib.dll


BIN
lib/nant/Interop.StarTeam.dll


Some files were not shown because too many files changed in this diff