diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
index e65ce932ca..b2550799e2 100755
--- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
+++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
@@ -66,6 +66,8 @@
class="ICSharpCode.SharpDevelop.Workbench.ShutdownService"/>
+
diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
index 4c2cbc2d3c..e7a69097ee 100644
--- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
+++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
@@ -106,6 +106,9 @@
+
+
+
@@ -188,8 +191,6 @@
-
-
@@ -447,7 +448,6 @@
-
@@ -850,6 +850,7 @@
+
diff --git a/src/Main/Base/Project/Src/Services/IClipboard.cs b/src/Main/Base/Project/Services/IClipboard.cs
similarity index 84%
rename from src/Main/Base/Project/Src/Services/IClipboard.cs
rename to src/Main/Base/Project/Services/IClipboard.cs
index 72554cc0e8..5c491e7c8b 100644
--- a/src/Main/Base/Project/Src/Services/IClipboard.cs
+++ b/src/Main/Base/Project/Services/IClipboard.cs
@@ -20,11 +20,13 @@ namespace ICSharpCode.SharpDevelop
IDataObject GetDataObject();
///
- IDataObject SetDataObject(object data);
+ void SetDataObject(object data);
///
- IDataObject SetDataObject(object data, bool copy);
+ void SetDataObject(object data, bool copy);
+ ///
+ bool ContainsText();
///
string GetText();
///
diff --git a/src/Main/Base/Project/Src/Services/IMessageLoop.cs b/src/Main/Base/Project/Services/IMessageLoop.cs
similarity index 100%
rename from src/Main/Base/Project/Src/Services/IMessageLoop.cs
rename to src/Main/Base/Project/Services/IMessageLoop.cs
diff --git a/src/Main/Base/Project/Src/Services/SD.cs b/src/Main/Base/Project/Services/SD.cs
similarity index 100%
rename from src/Main/Base/Project/Src/Services/SD.cs
rename to src/Main/Base/Project/Services/SD.cs
diff --git a/src/Main/SharpDevelop/Services/ClipboardWrapper.cs b/src/Main/SharpDevelop/Services/ClipboardWrapper.cs
new file mode 100644
index 0000000000..7ca60a55d5
--- /dev/null
+++ b/src/Main/SharpDevelop/Services/ClipboardWrapper.cs
@@ -0,0 +1,46 @@
+// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
+// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
+
+using System;
+using System.Windows;
+
+namespace ICSharpCode.SharpDevelop
+{
+ sealed class ClipboardWrapper : IClipboard
+ {
+ void IClipboard.Clear()
+ {
+ Clipboard.Clear();
+ }
+
+ IDataObject IClipboard.GetDataObject()
+ {
+ return Clipboard.GetDataObject();
+ }
+
+ void IClipboard.SetDataObject(object data)
+ {
+ Clipboard.SetDataObject(data);
+ }
+
+ void IClipboard.SetDataObject(object data, bool copy)
+ {
+ Clipboard.SetDataObject(data, copy);
+ }
+
+ string IClipboard.GetText()
+ {
+ return Clipboard.GetText();
+ }
+
+ void IClipboard.SetText(string text)
+ {
+ Clipboard.SetText(text);
+ }
+
+ bool IClipboard.ContainsText()
+ {
+ return Clipboard.ContainsText();
+ }
+ }
+}
diff --git a/src/Main/SharpDevelop/Workbench/DispatcherMessageLoop.cs b/src/Main/SharpDevelop/Services/DispatcherMessageLoop.cs
similarity index 98%
rename from src/Main/SharpDevelop/Workbench/DispatcherMessageLoop.cs
rename to src/Main/SharpDevelop/Services/DispatcherMessageLoop.cs
index 7091bf8d01..37b7e3a5ce 100644
--- a/src/Main/SharpDevelop/Workbench/DispatcherMessageLoop.cs
+++ b/src/Main/SharpDevelop/Services/DispatcherMessageLoop.cs
@@ -7,7 +7,7 @@ using System.Threading;
using System.Threading.Tasks;
using System.Windows.Threading;
-namespace ICSharpCode.SharpDevelop.Workbench
+namespace ICSharpCode.SharpDevelop
{
sealed class DispatcherMessageLoop : IMessageLoop, ISynchronizeInvoke
{
diff --git a/src/Main/SharpDevelop/SharpDevelop.csproj b/src/Main/SharpDevelop/SharpDevelop.csproj
index 5dc8e41117..4757bfdd82 100644
--- a/src/Main/SharpDevelop/SharpDevelop.csproj
+++ b/src/Main/SharpDevelop/SharpDevelop.csproj
@@ -85,6 +85,8 @@
+
+
@@ -96,7 +98,6 @@
-
@@ -207,6 +208,7 @@
+