diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
index 14d8dc199f..102252206b 100755
--- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
+++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
@@ -307,6 +307,12 @@
+
+
+
+
diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/ReferenceFolderNodeCommands.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/ReferenceFolderNodeCommands.cs
index b3f94afa43..2af0352e9d 100644
--- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/ReferenceFolderNodeCommands.cs
+++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/ReferenceFolderNodeCommands.cs
@@ -2,9 +2,11 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
+using System.Diagnostics;
using System.Net;
using System.Web.Services.Discovery;
using System.Windows.Forms;
+using System.Xml;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
@@ -175,6 +177,47 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
}
}
+
+
+ public class AddServiceReferenceToProject: AbstractMenuCommand
+ {
+ private static string NodePath = "//system.serviceModel//client//endpoint";
+
+ public override void Run()
+ {
+ AbstractProjectBrowserTreeNode node = ProjectBrowserPad.Instance.SelectedNode;
+ var f = CompilableProject.GetAppConfigFile(node.Project,false);
+
+ var configFile = LoadConfigDocument(f);
+
+ var endPoint = configFile.SelectSingleNode(NodePath).Attributes["address"].Value;
+
+ ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
+ startInfo.WindowStyle = ProcessWindowStyle.Normal;
+ startInfo.Arguments = endPoint;
+ Process.Start(startInfo);
+ }
+
+
+ static XmlDocument LoadConfigDocument(string fileName)
+ {
+ XmlDocument doc = null;
+ try
+ {
+ doc = new XmlDocument();
+
+ doc.Load(fileName);
+ return doc;
+ }
+ catch (System.IO.FileNotFoundException e)
+ {
+ throw new Exception("No configuration file found.", e);
+ }
+ }
+ }
+
+
+
public class RefreshReference : AbstractMenuCommand
{
public override void Run()