diff --git a/bin/setup/PostInstallTasks.bat b/bin/setup/PostInstallTasks.bat
index 24a1f23756..03c331045e 100644
--- a/bin/setup/PostInstallTasks.bat
+++ b/bin/setup/PostInstallTasks.bat
@@ -1,8 +1,5 @@
@echo off
-echo Installing NUnit assemblies into the GAC
-echo.
-echo NUnit.Core.dll
-..\tools\gacutil2.exe /i ..\nunit.core.dll
+echo Installing assemblies into the GAC
echo.
echo NUnit.Framework.dll
..\tools\gacutil2.exe /i ..\nunit.framework.dll
@@ -10,6 +7,15 @@ echo.
echo ICSharpCode.SharpZipLib.dll
..\tools\gacutil2.exe /i ..\ICSharpCode.SharpZipLib.dll
echo.
+echo MbUnit requirements
+..\tools\gacutil2.exe /i ..\tools\MbUnit\Refly.dll
+..\tools\gacutil2.exe /i ..\tools\MbUnit\TestFu.dll
+..\tools\gacutil2.exe /i ..\tools\MbUnit\QuickGraph.dll
+..\tools\gacutil2.exe /i ..\tools\MbUnit\QuickGraph.Algorithms.dll
+echo.
+echo MbUnit.Framework.dll
+..\tools\gacutil2.exe /i ..\tools\MbUnit\MbUnit.Framework.dll
+echo.
rem echo Installing and configuring help system
rem cd help
rem call register.bat
diff --git a/bin/setup/PreUninstallTasks.bat b/bin/setup/PreUninstallTasks.bat
index 5c156d8110..0f38d8d1d5 100644
--- a/bin/setup/PreUninstallTasks.bat
+++ b/bin/setup/PreUninstallTasks.bat
@@ -1,11 +1,17 @@
@echo off
-echo Removing NUnit assemblies from the GAC
-echo.
-..\tools\gacutil2.exe /u ..\nunit.core.dll
+echo Removing assemblies from the GAC
echo.
..\tools\gacutil2.exe /u ..\nunit.framework.dll
echo.
..\tools\gacutil2.exe /u ..\ICSharpCode.SharpZipLib.dll
+echo.
+..\tools\gacutil2.exe /u ..\tools\MbUnit\Refly.dll
+..\tools\gacutil2.exe /u ..\tools\MbUnit\TestFu.dll
+..\tools\gacutil2.exe /u ..\tools\MbUnit\QuickGraph.dll
+..\tools\gacutil2.exe /u ..\tools\MbUnit\QuickGraph.Algorithms.dll
+echo.
+..\tools\gacutil2.exe /u ..\tools\MbUnit\MbUnit.Framework.dll
+echo.
rem echo Uninstalling help system
rem cd help
rem call unregister.bat
diff --git a/src/AddIns/DisplayBindings/XmlEditor/Test/XmlEditor.Tests.csproj b/src/AddIns/DisplayBindings/XmlEditor/Test/XmlEditor.Tests.csproj
index 9579e062f1..2b6e59d3b6 100644
--- a/src/AddIns/DisplayBindings/XmlEditor/Test/XmlEditor.Tests.csproj
+++ b/src/AddIns/DisplayBindings/XmlEditor/Test/XmlEditor.Tests.csproj
@@ -34,7 +34,7 @@
-
+
False
diff --git a/src/AddIns/Misc/MbUnitPad/MbUnitPad.sln b/src/AddIns/Misc/MbUnitPad/MbUnitPad.sln
new file mode 100644
index 0000000000..6cd0ab4f09
--- /dev/null
+++ b/src/AddIns/Misc/MbUnitPad/MbUnitPad.sln
@@ -0,0 +1,6 @@
+Microsoft Visual Studio Solution File, Format Version 9.00
+# SharpDevelop 2.0.0.339
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MbUnitPad", "Project\MbUnitPad.csproj", "{B1CE28A0-04E8-490D-8256-E0C4D52C93C8}"
+EndProject
+Global
+EndGlobal
diff --git a/src/AddIns/Misc/MbUnitPad/Project/Configuration/AssemblyInfo.cs b/src/AddIns/Misc/MbUnitPad/Project/Configuration/AssemblyInfo.cs
new file mode 100644
index 0000000000..dbd647e05b
--- /dev/null
+++ b/src/AddIns/Misc/MbUnitPad/Project/Configuration/AssemblyInfo.cs
@@ -0,0 +1,27 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+// Information about this assembly is defined by the following
+// attributes.
+//
+// change them to the information which is associated with the assembly
+// you compile.
+
+[assembly: AssemblyTitle("MbUnitPad")]
+[assembly: AssemblyDescription("Addin for SharpDevelop 2.0")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("SharpDevelop")]
+[assembly: AssemblyCopyright("GNU General Public Licence")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// The assembly version has following format :
+//
+// Major.Minor.Build.Revision
+//
+// You can specify all values by your own or you can build default build and revision
+// numbers with the '*' character (the default):
+
+[assembly: AssemblyVersion("2.0.0.1")]
+
diff --git a/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.addin b/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.addin
new file mode 100644
index 0000000000..a93d0d1fbd
--- /dev/null
+++ b/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.addin
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.csproj b/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.csproj
new file mode 100644
index 0000000000..577852caa4
--- /dev/null
+++ b/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.csproj
@@ -0,0 +1,58 @@
+
+
+ Library
+ MbUnitPad
+ MbUnitPad
+ Debug
+ AnyCPU
+ {B1CE28A0-04E8-490D-8256-E0C4D52C93C8}
+
+
+ ..\..\..\..\..\AddIns\AddIns\Misc\MbUnitPad\
+ DEBUG;TRACE
+
+
+ bin\Release\
+ true
+ TRACE
+
+
+
+
+
+
+
+
+ ..\..\..\..\Tools\MbUnit\MbUnit.Framework.dll
+ False
+ False
+
+
+ ..\..\..\..\Tools\MbUnit\MbUnit.GUI.exe
+ False
+ False
+
+
+
+
+ Always
+
+
+
+
+
+
+
+
+ {2748AD25-9C63-4E12-877B-4DCE96FBED54}
+ ICSharpCode.SharpDevelop
+ False
+
+
+ {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}
+ ICSharpCode.Core
+ False
+
+
+
+
\ No newline at end of file
diff --git a/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.csproj.user b/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.csproj.user
new file mode 100644
index 0000000000..c439b83dc4
--- /dev/null
+++ b/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.csproj.user
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/AddIns/Misc/MbUnitPad/Project/Src/MbUnitCommands.cs b/src/AddIns/Misc/MbUnitPad/Project/Src/MbUnitCommands.cs
new file mode 100644
index 0000000000..a2cfb58a12
--- /dev/null
+++ b/src/AddIns/Misc/MbUnitPad/Project/Src/MbUnitCommands.cs
@@ -0,0 +1,30 @@
+//
+// 2002-2005 AlphaSierraPapa
+// GNU General Public License
+//
+// $Revision$
+//
+
+using System;
+using ICSharpCode.Core;
+using ICSharpCode.SharpDevelop;
+using MbUnit.Forms;
+
+namespace MbUnitPad
+{
+ public class ReloadCommand : AbstractMenuCommand
+ {
+ public override void Run()
+ {
+ MbUnitPadContent.Instance.ReloadAssemblyList();
+ }
+ }
+
+ public class RunTestsCommand : AbstractMenuCommand
+ {
+ public override void Run()
+ {
+ MbUnitPadContent.Instance.TreeView.ThreadedRunTests();
+ }
+ }
+}
diff --git a/src/AddIns/Misc/MbUnitPad/Project/Src/MbUnitPad.cs b/src/AddIns/Misc/MbUnitPad/Project/Src/MbUnitPad.cs
new file mode 100644
index 0000000000..7c2bc660b8
--- /dev/null
+++ b/src/AddIns/Misc/MbUnitPad/Project/Src/MbUnitPad.cs
@@ -0,0 +1,127 @@
+//
+// 2002-2005 AlphaSierraPapa
+// GNU General Public License
+//
+// $Revision$
+//
+
+using System;
+using System.Reflection;
+using System.Windows.Forms;
+using ICSharpCode.Core;
+using ICSharpCode.SharpDevelop;
+using ICSharpCode.SharpDevelop.Gui;
+using ICSharpCode.SharpDevelop.Project;
+using MbUnit.Forms;
+
+namespace MbUnitPad
+{
+ public class MbUnitPadContent : AbstractPadContent
+ {
+ public static MbUnitPadContent Instance {
+ get {
+ PadDescriptor descriptor = WorkbenchSingleton.Workbench.GetPad(typeof(MbUnitPadContent));
+ return (MbUnitPadContent)descriptor.PadContent;
+ }
+ }
+
+ public static void BringToFront()
+ {
+ WorkbenchSingleton.Workbench.GetPad(typeof(MbUnitPadContent)).BringPadToFront();
+ }
+
+ TestTreeView treeView;
+ Control ctl;
+
+ public TestTreeView TreeView {
+ get {
+ return treeView;
+ }
+ }
+
+ ///
+ /// Creates a new TestPad object
+ ///
+ public MbUnitPadContent()
+ {
+ ctl = new Panel();
+ treeView = new TestTreeView();
+ treeView.Dock = DockStyle.Fill;
+
+ ctl.Controls.Add(treeView);
+ ToolStrip toolStrip = ToolbarService.CreateToolStrip(this, "/MbUnitPad/Toolbar");
+ toolStrip.GripStyle = ToolStripGripStyle.Hidden;
+ ctl.Controls.Add(toolStrip);
+
+ ProjectService.SolutionClosed += OnSolutionClosed;
+ }
+
+ ///
+ /// Cleans up all used resources
+ ///
+ public override void Dispose()
+ {
+ ProjectService.SolutionClosed -= OnSolutionClosed;
+ ctl.Dispose();
+ }
+
+ void OnSolutionClosed(object sender, EventArgs e)
+ {
+ LoggingService.Info("Solution closed");
+ treeView.RemoveAssemblies();
+ }
+
+ public void ReloadAssemblyList()
+ {
+ treeView.RemoveAssemblies();
+ foreach (IProject project in ProjectService.OpenSolution.Projects) {
+ bool referenceFound = false;
+ foreach (ProjectItem item in project.Items) {
+ ReferenceProjectItem reference = item as ReferenceProjectItem;
+ if (reference != null) {
+ string include = reference.Include;
+ if (include.IndexOf(',') > 0) {
+ include = include.Substring(0, include.IndexOf(','));
+ }
+ if (include.Length > 5) {
+ if (include.Substring(include.Length - 4).Equals(".dll", StringComparison.OrdinalIgnoreCase))
+ include = include.Substring(0, include.Length - 4);
+ }
+ if (string.Equals(include, "nunit.framework", StringComparison.InvariantCultureIgnoreCase)
+ || string.Equals(include, "mbunit.framework", StringComparison.InvariantCultureIgnoreCase))
+ {
+ referenceFound = true;
+ break;
+ }
+ }
+ }
+ if (referenceFound) {
+ string outputAssembly = project.OutputAssemblyFullPath;
+ LoggingService.Debug("MbUnitPad: Load " + outputAssembly);
+ try {
+ treeView.AddAssembly(outputAssembly);
+ } catch (Exception e) {
+ LoggingService.Warn("MbUnitPad load error", e);
+ }
+ }
+ }
+ }
+
+ ///
+ /// The representing the pad
+ ///
+ public override Control Control {
+ get {
+ return ctl;
+ }
+ }
+
+ ///
+ /// Refreshes the pad
+ ///
+ public override void RedrawContent()
+ {
+
+ }
+ }
+}
diff --git a/src/AddIns/Misc/MbUnitPad/Project/Src/TestTreeView.cs b/src/AddIns/Misc/MbUnitPad/Project/Src/TestTreeView.cs
new file mode 100644
index 0000000000..05abd42924
--- /dev/null
+++ b/src/AddIns/Misc/MbUnitPad/Project/Src/TestTreeView.cs
@@ -0,0 +1,49 @@
+//
+// 2002-2005 AlphaSierraPapa
+// GNU General Public License
+//
+// $Revision$
+//
+
+using System;
+using System.Windows.Forms;
+using ICSharpCode.Core;
+using MbUnit.Forms;
+using MbUnit.Core.Remoting;
+
+namespace MbUnitPad
+{
+ public class TestTreeView : ReflectorTreeView
+ {
+ public TestTreeView()
+ {
+ TypeTree.ContextMenu = null;
+ TypeTree.ContextMenuStrip = MenuService.CreateContextMenu(this, "/MbUnitPad/ContextMenu");
+ }
+
+ ///
+ /// Default MbUnit-GUI doesn't use shadow copy, we have to override that behaviour.
+ ///
+ public new void AddAssembly(string file)
+ {
+ if (this.TestDomains.ContainsTestAssembly(file)) {
+ throw new ApplicationException(string.Format("The file {0} is already loaded.", file));
+ } else {
+ TreeTestDomain domain = this.TestDomains.Add(file);
+ domain.ShadowCopyFiles = true;
+ this.TestDomains.Watcher.Start();
+ }
+ }
+
+ protected override void MessageOnStatusBar(string message, object[] args)
+ {
+ if (message.Length == 0) {
+ StatusBarService.SetMessage(null);
+ } else {
+ string msg = string.Format(message, args);
+ LoggingService.Debug(msg);
+ StatusBarService.SetMessage("MbUnit: " + msg);
+ }
+ }
+ }
+}
diff --git a/src/Libraries/NRefactory/Test/NRefactoryTests.csproj b/src/Libraries/NRefactory/Test/NRefactoryTests.csproj
index d49da13a9c..42919d2bea 100644
--- a/src/Libraries/NRefactory/Test/NRefactoryTests.csproj
+++ b/src/Libraries/NRefactory/Test/NRefactoryTests.csproj
@@ -31,13 +31,8 @@
-
- ..\..\..\..\bin\nunit.framework.dll
- False
-
-
- ..\..\..\..\bin\nunit.core.dll
- False
+
+ False
diff --git a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs
index e27a54c636..48e2dc2a3a 100644
--- a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs
+++ b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs
@@ -154,6 +154,7 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding
if (showNavigation) {
toolStrip = ToolbarService.CreateToolStrip(this, "/SharpDevelop/ViewContent/Browser/Toolbar");
+ toolStrip.GripStyle = ToolStripGripStyle.Hidden;
Controls.Add(toolStrip);
}
}
diff --git a/src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs b/src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs
index ec735a85c5..921a5c9a13 100644
--- a/src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs
+++ b/src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs
@@ -234,7 +234,7 @@ namespace ICSharpCode.SharpDevelop.Gui
if (item is IStatusUpdate)
((IStatusUpdate)item).UpdateText();
}
-
+
foreach (IViewContent content in workbenchContentCollection) {
content.RedrawContent();
if (content.WorkbenchWindow != null) {
@@ -394,21 +394,20 @@ namespace ICSharpCode.SharpDevelop.Gui
return;
}
}
- ProjectService.CloseSolution();
- }
-
- protected override void OnClosed(EventArgs e)
- {
- base.OnClosed(e);
- ProjectService.CloseSolution();
-
closeAll = true;
-
+
layout.Detach();
foreach (PadDescriptor padDescriptor in PadContentCollection) {
padDescriptor.Dispose();
}
+
+ ProjectService.CloseSolution();
+ }
+
+ protected override void OnClosed(EventArgs e)
+ {
+ base.OnClosed(e);
}
void SetProjectTitle(object sender, ProjectEventArgs e)
diff --git a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
index 9c7cbd4e22..f912f92269 100644
--- a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
+++ b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
@@ -37,7 +37,9 @@
-
+
+ False
+
diff --git a/src/Main/Core/Test/ICSharpCode.Core.Tests.csproj b/src/Main/Core/Test/ICSharpCode.Core.Tests.csproj
index 1cd8f0e387..485442c969 100644
--- a/src/Main/Core/Test/ICSharpCode.Core.Tests.csproj
+++ b/src/Main/Core/Test/ICSharpCode.Core.Tests.csproj
@@ -36,7 +36,9 @@
-
+
+ False
+
diff --git a/src/SharpDevelop.WithTests.sln b/src/SharpDevelop.WithTests.sln
index be52acc1ca..00f1a377fc 100644
--- a/src/SharpDevelop.WithTests.sln
+++ b/src/SharpDevelop.WithTests.sln
@@ -1,5 +1,5 @@
Microsoft Visual Studio Solution File, Format Version 9.00
-# SharpDevelop 2.0.0.327
+# SharpDevelop 2.0.0.343
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
@@ -30,6 +30,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{CE5B42B7-6
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MbUnitPad", "AddIns\Misc\MbUnitPad\Project\MbUnitPad.csproj", "{B1CE28A0-04E8-490D-8256-E0C4D52C93C8}"
+EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HtmlHelp2", "AddIns\Misc\HtmlHelp2\Project\HtmlHelp2.csproj", "{918487B7-2153-4618-BBB3-344DBDDF2A2A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "AddIns\Misc\SubversionAddIn\Project\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}"
@@ -194,6 +196,7 @@ Global
{6604365C-C702-4C10-9BA8-637F1E3D4D0D} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2}
{17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2}
{918487B7-2153-4618-BBB3-344DBDDF2A2A} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2}
+ {B1CE28A0-04E8-490D-8256-E0C4D52C93C8} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2}
{B08385CD-F0CC-488C-B4F4-EEB34B6D2688} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
{1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
diff --git a/src/SharpDevelop.sln b/src/SharpDevelop.sln
index 20c0fcf41a..c37b4dcacb 100644
--- a/src/SharpDevelop.sln
+++ b/src/SharpDevelop.sln
@@ -1,5 +1,5 @@
Microsoft Visual Studio Solution File, Format Version 9.00
-# SharpDevelop 2.0.0.339
+# SharpDevelop 2.0.0.343
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
@@ -28,6 +28,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{CE5B42B7-6
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MbUnitPad", "AddIns\Misc\MbUnitPad\Project\MbUnitPad.csproj", "{B1CE28A0-04E8-490D-8256-E0C4D52C93C8}"
+EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HtmlHelp2", "AddIns\Misc\HtmlHelp2\Project\HtmlHelp2.csproj", "{918487B7-2153-4618-BBB3-344DBDDF2A2A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "AddIns\Misc\SubversionAddIn\Project\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}"
@@ -185,6 +187,7 @@ Global
{6604365C-C702-4C10-9BA8-637F1E3D4D0D} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2}
{17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2}
{918487B7-2153-4618-BBB3-344DBDDF2A2A} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2}
+ {B1CE28A0-04E8-490D-8256-E0C4D52C93C8} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2}
{B08385CD-F0CC-488C-B4F4-EEB34B6D2688} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
{1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
diff --git a/src/Tools/GacUtil2/GacUtil2.exe.config b/src/Tools/GacUtil2/GacUtil2.exe.config
new file mode 100644
index 0000000000..3fdb74327b
--- /dev/null
+++ b/src/Tools/GacUtil2/GacUtil2.exe.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/Tools/Tools.build b/src/Tools/Tools.build
index 8e0c54fe57..f69cacbb39 100644
--- a/src/Tools/Tools.build
+++ b/src/Tools/Tools.build
@@ -5,9 +5,11 @@
+
+
@@ -16,6 +18,7 @@
+