我正在创建一个自我更新的应用程序,其中大部分代码都在一个单独的 DLL 中。它是命令行,最终将在 Mono 上运行。我只是想让这段代码在命令行的 Windows 上的 C# 中工作。
如何创建 ac# 应用程序,以便在运行时删除支持的 dll?
AppDomain domain = AppDomain.CreateDomain("MyDomain");
ObjectHandle instance = domain.CreateInstance( "VersionUpdater.Core", "VersionUpdater.Core.VersionInfo");
object unwrap = instance.Unwrap();
Console.WriteLine(((ICommand)unwrap).Run());
AppDomain.Unload(domain);
Console.ReadLine();
在 ReadLine,VersionUpdater.Core.dll 仍被锁定,无法删除
ICommand 接口位于 VersionUpdater.Common.dll 中,命令行应用程序和 VersionUpdater.Core.dll 都引用了该接口