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

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

$ 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> 

我猜想,这会做你想要的

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