diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/AspNet.Mvc.sln b/src/AddIns/BackendBindings/AspNet.Mvc/AspNet.Mvc.sln
index a97d67c977..26144ff509 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/AspNet.Mvc.sln
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/AspNet.Mvc.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
-# SharpDevelop 4.2.0.8564-beta
+# SharpDevelop 4.3.0.8820-alpha
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspNet.Mvc", "Project\AspNet.Mvc.csproj", "{D781721F-C2A7-4E95-B76F-247170AC3B13}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspNet.Mvc.Tests", "Test\AspNet.Mvc.Tests.csproj", "{0B12A079-B2DB-42B9-8A8E-AA5CBC2B3225}"
@@ -136,5 +136,9 @@ Global
{0162E499-42D0-409B-AA25-EED21F75336B}.Release|x86.ActiveCfg = Release|Any CPU
{0162E499-42D0-409B-AA25-EED21F75336B}.Release|Any CPU.Build.0 = Release|Any CPU
{0162E499-42D0-409B-AA25-EED21F75336B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D781721F-C2A7-4E95-B76F-247170AC3B13}.Debug|Any CPU.Build.0 = Debug|x86
+ {D781721F-C2A7-4E95-B76F-247170AC3B13}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {D781721F-C2A7-4E95-B76F-247170AC3B13}.Release|Any CPU.Build.0 = Release|x86
+ {D781721F-C2A7-4E95-B76F-247170AC3B13}.Release|Any CPU.ActiveCfg = Release|x86
EndGlobalSection
EndGlobal
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IISExpressProcessStartInfo.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IISExpressProcessStartInfo.cs
index fcadb807c7..305abca13c 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IISExpressProcessStartInfo.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IISExpressProcessStartInfo.cs
@@ -15,7 +15,15 @@ namespace ICSharpCode.AspNet.Mvc
static string GetSiteArgument(WebProject project)
{
- return String.Format("/site:{0}", project.Name);
+ return String.Format("/site:{0}", GetSiteName(project));
+ }
+
+ static string GetSiteName(WebProject project)
+ {
+ if (project.Name.Contains(" ")) {
+ return String.Format("\"{0}\"", project.Name);
+ }
+ return project.Name;
}
}
}
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/AspNet.Mvc.Tests.csproj b/src/AddIns/BackendBindings/AspNet.Mvc/Test/AspNet.Mvc.Tests.csproj
index 9e1e9ea594..e4487ba0af 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/AspNet.Mvc.Tests.csproj
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/AspNet.Mvc.Tests.csproj
@@ -130,6 +130,7 @@
+
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/IISExpressProcessStartInfoTests.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/IISExpressProcessStartInfoTests.cs
new file mode 100644
index 0000000000..ce17100944
--- /dev/null
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/IISExpressProcessStartInfoTests.cs
@@ -0,0 +1,51 @@
+// 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.Diagnostics;
+using AspNet.Mvc.Tests.Helpers;
+using ICSharpCode.AspNet.Mvc;
+using NUnit.Framework;
+
+namespace AspNet.Mvc.Tests
+{
+ [TestFixture]
+ public class IISExpressProcessStartInfoTests
+ {
+ WebProject project;
+ TestableProject testableProject;
+ ProcessStartInfo processStartInfo;
+
+ void CreateWebProject(string name)
+ {
+ string fileName = @"d:\projects\MyProject\MyProject.csproj";
+ testableProject = TestableProject.CreateProject(fileName, name);
+ project = new WebProject(testableProject);
+ }
+
+ void CreateProcessStartInfo()
+ {
+ processStartInfo = IISExpressProcessStartInfo.Create(project);
+ }
+
+ [Test]
+ public void Create_ProjectNameHasNoSpaces_ProcessInfoHasSiteArgument()
+ {
+ CreateWebProject("MyProject");
+
+ CreateProcessStartInfo();
+
+ Assert.AreEqual("/site:MyProject", processStartInfo.Arguments);
+ }
+
+ [Test]
+ public void Create_ProjectNameHasSpaces_ProcessInfoHasSiteArgumentWithProjectNameInQuotes()
+ {
+ CreateWebProject("My Project");
+
+ CreateProcessStartInfo();
+
+ Assert.AreEqual("/site:\"My Project\"", processStartInfo.Arguments);
+ }
+ }
+}