我可以在Mono CSharpRepl中重新加载程序集吗?

时间:2011-04-07 17:26:29

标签: c# mono

所以我来自Python背景,并开始在我的Mac上进入C#和Mono。我刚刚发现了Mono CSharpRepl tool,并希望用它来实现我在Python中的类似工作流程,其中包括在我的Python代码中修复错误时反复调用'reload(module)'。 Mono的CSharpRepl是否具有类似的功能?目前我刚刚退出,重新启动,然后再次调用'LoadAssembly()'和'using'语句,这很痛苦。

2 个答案:

答案 0 :(得分:5)

$ csharp 
Mono C# Shell, type "help;" for help

Enter statements below.
csharp> var dom = AppDomain.CreateDomain("tmp");
csharp> dom.Load("System.Core");
System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
csharp> AppDomain.Unload(dom);
csharp>  

这会做你想要的,我推测

答案 1 :(得分:1)

我担心这可能很棘手,除了丢弃整个AppDomain之外,.Net无法卸载程序集 - 这可能不会比重新启动CSharpRepl容易。