diff --git a/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj b/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj
index 96d8c4863d..0f235a3bf8 100644
--- a/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj
+++ b/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj
@@ -159,7 +159,6 @@
-
diff --git a/src/AddIns/Analysis/UnitTesting/Test/Utils/MockProjectChangeWatcher.cs b/src/AddIns/Analysis/UnitTesting/Test/Utils/MockProjectChangeWatcher.cs
deleted file mode 100644
index 36565553f0..0000000000
--- a/src/AddIns/Analysis/UnitTesting/Test/Utils/MockProjectChangeWatcher.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// 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 ICSharpCode.SharpDevelop.Project;
-
-namespace UnitTesting.Tests.Utils
-{
- ///
- /// Description of MockProjectChangeWatcher.
- ///
- public class MockProjectChangeWatcher : IProjectChangeWatcher
- {
- public MockProjectChangeWatcher()
- {
- }
-
- public void Enable()
- {
- }
-
- public void Disable()
- {
- }
-
- public void Rename(string newFileName)
- {
- }
- }
-}
diff --git a/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockProjectChangeWatcher.cs b/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockProjectChangeWatcher.cs
deleted file mode 100644
index f7472a8fe3..0000000000
--- a/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockProjectChangeWatcher.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// 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 ICSharpCode.SharpDevelop.Project;
-
-namespace WixBinding.Tests.Utils
-{
- ///
- /// Description of MockProjectChangeWatcher.
- ///
- public class MockProjectChangeWatcher : IProjectChangeWatcher
- {
- public MockProjectChangeWatcher()
- {
- }
-
- public void Enable()
- {
- }
-
- public void Disable()
- {
- }
-
- public void Rename(string newFileName)
- {
- }
- }
-}
diff --git a/src/AddIns/BackendBindings/WixBinding/Test/WixBinding.Tests.csproj b/src/AddIns/BackendBindings/WixBinding/Test/WixBinding.Tests.csproj
index ed06a26541..c3ae0f9c80 100644
--- a/src/AddIns/BackendBindings/WixBinding/Test/WixBinding.Tests.csproj
+++ b/src/AddIns/BackendBindings/WixBinding/Test/WixBinding.Tests.csproj
@@ -112,7 +112,6 @@
-
diff --git a/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj b/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj
index a7b2f14065..adac04ca1b 100644
--- a/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj
+++ b/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj
@@ -73,7 +73,6 @@
-
diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/DTETests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/DTETests.cs
index 6b62ed6443..3ec9492efa 100644
--- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/DTETests.cs
+++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/DTETests.cs
@@ -20,7 +20,7 @@ namespace PackageManagement.Tests.EnvDTE
void CreateDTE()
{
fakeProjectService = new FakePackageManagementProjectService();
- fakeProjectService.OpenSolution = new SD.Solution(new MockProjectChangeWatcher());
+ fakeProjectService.OpenSolution = new SD.Solution(new SD.MockProjectChangeWatcher());
fakeFileService = new FakeFileService(null);
dte = new DTE(fakeProjectService, fakeFileService);
}
diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/MockProjectChangeWatcher.cs b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/MockProjectChangeWatcher.cs
deleted file mode 100644
index c761364c96..0000000000
--- a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/MockProjectChangeWatcher.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// 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 ICSharpCode.SharpDevelop.Project;
-
-namespace PackageManagement.Tests.Helpers
-{
- ///
- /// Description of MockProjectChangeWatcher.
- ///
- public class MockProjectChangeWatcher : IProjectChangeWatcher
- {
- public MockProjectChangeWatcher()
- {
- }
-
- public void Enable()
- {
- }
-
- public void Disable()
- {
- }
-
- public void Rename(string newFileName)
- {
- }
- }
-}
diff --git a/src/AddIns/Misc/ResourceToolkit/Test/MockProjectChangeWatcher.cs b/src/AddIns/Misc/ResourceToolkit/Test/MockProjectChangeWatcher.cs
deleted file mode 100644
index 1dc7adfe4a..0000000000
--- a/src/AddIns/Misc/ResourceToolkit/Test/MockProjectChangeWatcher.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// 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 ICSharpCode.SharpDevelop.Project;
-
-namespace ResourceToolkit.Tests
-{
- ///
- /// Description of MockProjectChangeWatcher.
- ///
- public class MockProjectChangeWatcher : IProjectChangeWatcher
- {
- public MockProjectChangeWatcher()
- {
- }
-
- public void Enable()
- {
- }
-
- public void Disable()
- {
- }
-
- public void Rename(string newFileName)
- {
- }
- }
-}
diff --git a/src/AddIns/Misc/ResourceToolkit/Test/ResourceToolkit.Tests.csproj b/src/AddIns/Misc/ResourceToolkit/Test/ResourceToolkit.Tests.csproj
index 819e0b887d..794d4c7e89 100644
--- a/src/AddIns/Misc/ResourceToolkit/Test/ResourceToolkit.Tests.csproj
+++ b/src/AddIns/Misc/ResourceToolkit/Test/ResourceToolkit.Tests.csproj
@@ -57,7 +57,6 @@
-
diff --git a/src/AddIns/Misc/TextTemplating/Test/Helpers/MockProjectChangeWatcher.cs b/src/AddIns/Misc/TextTemplating/Test/Helpers/MockProjectChangeWatcher.cs
deleted file mode 100644
index 0b71bdbd75..0000000000
--- a/src/AddIns/Misc/TextTemplating/Test/Helpers/MockProjectChangeWatcher.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-// 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 ICSharpCode.SharpDevelop.Internal.Templates;
-using ICSharpCode.SharpDevelop.Project;
-
-namespace TextTemplating.Tests.Helpers
-{
- ///
- /// Description of MockProjectChangeWatcher.
- ///
- public class MockProjectChangeWatcher : IProjectChangeWatcher
- {
- public MockProjectChangeWatcher()
- {
- }
-
- public void Enable()
- {
- }
-
- public void Disable()
- {
- }
-
- public void Rename(string newFileName)
- {
- }
- }
-}
diff --git a/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj b/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj
index 955c1ee3ba..7d158774b0 100644
--- a/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj
+++ b/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj
@@ -62,7 +62,6 @@
-
diff --git a/src/Main/Base/Project/Src/Project/AbstractProject.cs b/src/Main/Base/Project/Src/Project/AbstractProject.cs
index 4961d433e5..732a42c5c9 100644
--- a/src/Main/Base/Project/Src/Project/AbstractProject.cs
+++ b/src/Main/Base/Project/Src/Project/AbstractProject.cs
@@ -116,7 +116,7 @@ namespace ICSharpCode.SharpDevelop.Project
#region Filename / Directory
volatile string fileName;
string cachedDirectoryName;
- protected ProjectChangeWatcher watcher;
+ protected IProjectChangeWatcher watcher;
///
/// Gets the name of the project file.
@@ -135,6 +135,9 @@ namespace ICSharpCode.SharpDevelop.Project
WorkbenchSingleton.AssertMainThread();
Debug.Assert(FileUtility.IsUrl(value) || Path.IsPathRooted(value));
+ if (WorkbenchSingleton.Workbench == null)
+ watcher = new MockProjectChangeWatcher();
+
if (watcher == null) {
watcher = new ProjectChangeWatcher(value);
watcher.Enable();
diff --git a/src/Main/Base/Project/Src/Project/IProjectChangeWatcher.cs b/src/Main/Base/Project/Src/Project/IProjectChangeWatcher.cs
index 4664b15584..5b3088fb29 100644
--- a/src/Main/Base/Project/Src/Project/IProjectChangeWatcher.cs
+++ b/src/Main/Base/Project/Src/Project/IProjectChangeWatcher.cs
@@ -7,10 +7,29 @@ using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.SharpDevelop.Project
{
- public interface IProjectChangeWatcher
+ public interface IProjectChangeWatcher : IDisposable
{
void Enable();
void Disable();
void Rename(string newFileName);
}
+
+ public sealed class MockProjectChangeWatcher : IProjectChangeWatcher
+ {
+ public void Enable()
+ {
+ }
+
+ public void Disable()
+ {
+ }
+
+ public void Rename(string newFileName)
+ {
+ }
+
+ public void Dispose()
+ {
+ }
+ }
}
diff --git a/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs b/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs
index 6c15024fd5..5a3aae20ea 100644
--- a/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs
+++ b/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs
@@ -7,7 +7,7 @@ using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.SharpDevelop.Project
{
- public sealed class ProjectChangeWatcher : IDisposable, IProjectChangeWatcher
+ public sealed class ProjectChangeWatcher : IProjectChangeWatcher
{
FileSystemWatcher watcher;
string fileName;
diff --git a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
index cc498e2fbd..9563deb35d 100644
--- a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
+++ b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
@@ -100,7 +100,6 @@
-
diff --git a/src/Main/Base/Test/Utils/MockProjectChangeWatcher.cs b/src/Main/Base/Test/Utils/MockProjectChangeWatcher.cs
deleted file mode 100644
index 72bb1c6a66..0000000000
--- a/src/Main/Base/Test/Utils/MockProjectChangeWatcher.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// 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 ICSharpCode.SharpDevelop.Project;
-
-namespace ICSharpCode.SharpDevelop.Tests.Utils
-{
- ///
- /// Description of MockProjectChangeWatcher.
- ///
- public class MockProjectChangeWatcher : IProjectChangeWatcher
- {
- public MockProjectChangeWatcher()
- {
- }
-
- public void Enable()
- {
- }
-
- public void Disable()
- {
- }
-
- public void Rename(string newFileName)
- {
- }
- }
-}