[MonoDevelop] C# REPL Addin

Adam Connelly adam.rpconnelly at gmail.com
Tue Feb 5 13:03:50 UTC 2013


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/0fefb52b/attachment.html>


More information about the Monodevelop-list mailing list