我有一个调用 msi 安装程序的程序。成功安装 msi 包后,我尝试加载由 gac 中的 msi 包添加的程序集。我无法加载程序集,但此特定程序集已添加到 GAC。当我第二次运行程序时,程序集被正确加载。这是伪代码
load assembly(assemblyname)
{
if(!Assembly.load(assemblyname))
msi.install();
Assembly assembly =Assembly.load(assemblyname)
if(assembly == null)
console.writeline("assembly not loaded");
}
如果尚未安装 msi 包,我总是在第一次运行此功能时未加载程序集。不知何故,我认为这与程序执行之前存在的 GAC 列表有关。有没有办法让我重新加载这个?