我正在尝试使用以下代码加载 MSIL 程序集:
string PathOfDll = "PathOfMsILFile (Dll)";
Assembly SampleAssembly;
SampleAssembly = Assembly.LoadFrom(PathOfDll);
在这个程序结束时我应该删除这个文件:
File.Delete(PathOfDll);
它会导致错误:“System.UnauthorizedAccessException”
Additional information: Access to the path 'Path' is denied .
它与 UAC 无关,只是因为我在程序开始时加载程序集,当我想手动删除它时,它说该文件正在 vshost.exe 中使用。所以我这么说只是为了表明它是用于加载程序集的!
那么有什么方法可以摆脱它(比如卸载这个程序集)?
注意:我正在编写代码来运行垃圾收集器,但这个问题仍然没有解决。
Thanks.
一种可能的方法是:LoadFrom
, use Load
如下所示。
Assembly asm = null;
try
{
asm = Assembly.Load(File.ReadAllBytes(path));
}
catch(Exception ex)
{
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)