App プールのリサイクルの前後に AppDomain.CurrentDomain.GetAssemblies を確認したところ、そのように見えます。最初のインスタンスで 86 個のアセンブリが読み込まれる理由がわかりません。つまり、アプリを展開した後、リサイクル後に 28 個だけが読み込まれます。
何が起こっている可能性がありますか?
App プールのリサイクルの前後に AppDomain.CurrentDomain.GetAssemblies を確認したところ、そのように見えます。最初のインスタンスで 86 個のアセンブリが読み込まれる理由がわかりません。つまり、アプリを展開した後、リサイクル後に 28 個だけが読み込まれます。
何が起こっている可能性がありますか?
これはIISの既知の動作です。IIS のリサイクル後、アセンブリはオンデマンドで読み込まれます。
利用可能なすべてのアセンブリを取得する場合は、型GetReferencedAssemblies
でメソッドを使用できます。System.Web.Compilation.BuildManager
例えば :
IEnumerable<Assembly> assemblies = AppDomain.CurrentDomain.GetAssemblies();
if (HostingEnvironment.InClientBuildManager)
{
assemblies = assemblies.Union(BuildManager.GetReferencedAssemblies().Cast<Assembly>());
}