我正在尝试使用以下代码在 C# 中获取 exe 的汇编版本
Assembly asm = Assembly.LoadFrom(address);
return asm.GetName().Version;
Run Code Online (Sandbox Code Playgroud)
它工作正常,但是如果我在使用此功能后尝试删除该 exe,它会显示“拒绝访问”,因为该 exe 正在被另一个进程使用!
是否有任何 Dispose 调用或释放文件句柄或任何其他解决方案的东西?
除了卸载应用程序域之外,没有其他方法可以卸载程序集。请参阅如何:加载和卸载组件:
如果不卸载包含该程序集的所有应用程序域,就无法卸载该程序集。使用 AppDomain 中的 Unload 方法卸载应用程序域。有关更多信息,请参阅卸载应用程序域。
如果您只想获取文件的版本,请尝试使用FileVersionInfo.GetVersionInfo。
| 归档时间: |
|
| 查看次数: |
4821 次 |
| 最近记录: |