代码之家  ›  专栏  ›  技术社区  ›  MBZ

从文件句柄释放Assembly.LoadFrom

  •  4
  • MBZ  · 技术社区  · 14 年前

    Assembly asm = Assembly.LoadFrom(address);
    return asm.GetName().Version;
    

    它的工作原理很完美,但如果我尝试删除后,我使用这个功能的exe,它说“访问被拒绝”,因为exe正在被另一个进程使用!

    是否有释放文件句柄的Dispose调用或其他解决方案?

    2 回复  |  直到 14 年前
        1
  •  2
  •   Community arnoo    7 年前
        2
  •  4
  •   Quartermeister    14 年前

    除了卸载应用程序域之外,无法卸载程序集。看到了吗 How to: Load and Unload Assemblies :

    单独组装,无需卸载 控制住它。从中使用卸载方法 AppDomain卸载应用程序 卸载应用程序域。

    如果您只想获取文件的版本,请尝试使用 FileVersionInfo.GetVersionInfo .