msi インストーラーを呼び出すプログラムがあります。msi パッケージが正常にインストールされた後、msi パッケージによって GAC に追加されたアセンブリを読み込もうとしました。アセンブリをロードできませんが、この特定のアセンブリが GAC に追加されています。プログラムを 2 回目に実行すると、アセンブリが正しく読み込まれます。ここに疑似コードがあります
load assembly(assemblyname)
{
if(!Assembly.load(assemblyname))
msi.install();
Assembly assembly =Assembly.load(assemblyname)
if(assembly == null)
console.writeline("assembly not loaded");
}
msi パッケージがまだインストールされていない場合、この関数を実行すると、初めてアセンブリが読み込まれません。どういうわけか、これはプログラムが実行される前に存在する GAC リストに関連していると思います。これをリロードする方法はありますか?