diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/src/core/MonoDevelop.Projects.Formats.MSBuild/Main.cs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/main/src/core/MonoDevelop.Projects.Formats.MSBuild/Main.cs b/main/src/core/MonoDevelop.Projects.Formats.MSBuild/Main.cs index 7436777040..617b966cdb 100644 --- a/main/src/core/MonoDevelop.Projects.Formats.MSBuild/Main.cs +++ b/main/src/core/MonoDevelop.Projects.Formats.MSBuild/Main.cs @@ -30,6 +30,7 @@ using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Remoting; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Channels.Tcp; +using System.Runtime.Remoting.Channels.Ipc; using System.Threading; using System.Diagnostics; @@ -68,10 +69,15 @@ namespace MonoDevelop.Projects.Formats.MSBuild IDictionary dict = new Hashtable (); var clientProvider = new BinaryClientFormatterSinkProvider(); var serverProvider = new BinaryServerFormatterSinkProvider(); - dict ["port"] = 0; - dict ["rejectRemoteRequests"] = true; serverProvider.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full; - ChannelServices.RegisterChannel (new TcpChannel (dict, clientProvider, serverProvider), false); + + /* dict ["port"] = 0; + dict ["rejectRemoteRequests"] = true; + ChannelServices.RegisterChannel (new TcpChannel (dict, clientProvider, serverProvider), false);*/ + + // Use the IpcChannel for now, since seems to be failing when there are many concurrent calls + dict ["portName"] = Guid.NewGuid ().ToString (); + ChannelServices.RegisterChannel (new IpcChannel (dict, clientProvider, serverProvider), false); } public static void WatchProcess (string procId) |