所以我来自Python背景,开始接触Mac上的C#和Mono。我最近发现了Mono CSharpRepl工具,想要使用它来实现与Python类似的工作流程,其中包括在修复Python代码中的错误时重复调用“reload(module)”。Mono的CSharpRepl是否具有类似的功能?目前,我只能退出、重新启动,然后再次调用“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>
我担心这可能有些棘手,.Net没有除了丢弃整个AppDomain之外卸载程序集的方法 - 这可能比重新启动CSharpRepl还要困难。
AppDomain.AssemblyResolve
MSDN 来解决绑定问题。对于 Java 程序员、Python 程序员等来说,这都是众所周知的领域。 - sehe