[MonoDevelop] C# REPL Addin

Scott Stephens stephens.js at gmail.com
Wed Feb 6 04:43:23 UTC 2013

I've become more convinced that the exceptions I'm seeing are handled
exceptions, and the dialogs I'm seeing are essentially a quirk or a bug in

I also solved my output problem, which means that at this point the Addin
is basically functional: you can get a C# REPL pad inside MD, type in stuff
and see the results all in the pad.  It's probably still quite unstable, so
that's the next item on the list, then I'll add in the ability to send text
to it from the editor pads, at which point I will reach my goal for the
first version of this thing.

On Tue, Feb 5, 2013 at 9:40 AM, Scott Stephens <stephens.js at gmail.com>wrote:

> I'm not using XML serialization.  I do use System.Text.Encoding.UTF8,
> perhaps that calls into some System.Xml stuff under the hood?
> To a certain extent the continuation after the exception messages makes me
> think they must be handled too, but I'm not sure why MD would break on them
> in that case.  I've never messed with the Exceptions menu before (took me
> about 20 minutes just to find it just now), and it seems like the default
> is to not break on any unhandled exceptions.  But I can't be sure it's not
> set to something weird as I'm not on my home computer at the moment.  I'll
> check this out for sure when I get home tonight.
> On Tue, Feb 5, 2013 at 7:03 AM, Adam Connelly <adam.rpconnelly at gmail.com>wrote:
>> You're not using XML serialisation, are you? In that case, the exceptions
>> could be when the serialisation assembly is initially being generated. What
>> happens in that case is that you get a FileNotFoundException (I think), and
>> then a serialisation assembly is generated. After this point you don't get
>> the exception anymore.
>> If you are able to continue, it's probably because it's a handled rather
>> than unhandled exception, and you just need to tell monodevelop not to
>> break on handled exceptions.
>> That's one possibility anyway.
>> On 4 Feb 2013, at 23:45, Scott Stephens <stephens.js at gmail.com> wrote:
>> Hi all,
>> I've been working on an MD Addin to provide a C# REPL.  It's by no means
>> complete, but it's now reached the "kind of working" stage, where the
>> project would benefit from other developers' inputs, should anyone be so
>> inclined.
>> Anyhow, if anyone wants to take a look, you can find it here:
>> https://github.com/scottstephens/CSharpReplAddin
>> I should emphasize that at this point even basic features are not yet
>> complete, it is very lightly tested on Mac OS X only, there's no
>> documentation, and it's probably quite buggy and unstable.  But it's a
>> start :-)
>> Some implementation details for the curious: it's basically a thin
>> wrapper around Mono.CSharp.Evaluator.  It requires Mono 3.0.x.  A separate
>> process is launched to host the interactive session.  The MD process
>> communicates with that process over a TCP loopback connection.  The key
>> basic feature that it currently lacks is the ability to send standard
>> output from the process that hosts the interactive session to the MD Pad.
>>  An attempt at this has been implemented using the output stream
>> redirection facilities of System.Diagnostics.Process, but it doesn't work,
>> and I don't know why yet.  I'm also getting exceptions sometimes when I run
>> the addin in debug mode. They are from attempting to load System.Xml and
>> Microsoft.CSharp assemblies, and it appears that they are trying to be
>> found in the build directory of my project.  Curiously, they do not show up
>> in release mode, nor do they prevent the proper functioning of the program
>> if I just continue on.  If anybody has any insight on those two issues,
>> they would be of particular interest to me, but I'd be interested in any
>> comments you might have.
>> -- Scott
>> _______________________________________________
>> Monodevelop-list mailing list
>> Monodevelop-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/monodevelop-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/monodevelop-list/attachments/20130205/c0718899/attachment.html>

More information about the Monodevelop-list mailing list