問題文: 関連付けられたアセンブリを上書きできるようにするプラグイン システムを実装します (ファイルのロックを回避します)。.Net では、特定のアセンブリをアンロードできず、AppDomain 全体のみをアンロードできます。
問題を解決しようとしたときに、すべてのソリューションが複数の AppDomains の使用を参照したため、これを投稿しています。複数の AppDomains を正しく実装することは、プロジェクトの開始時に設計された場合でも非常に困難です。
また、Speech Server ワークフローの InvokeWorkflow アクティビティの設定としてドメイン間で Type を転送する必要があったため、AppDomains は機能しませんでした。残念ながら、ドメイン間で型を送信すると、アセンブリがローカルの AppDomain に挿入されます。
また、これは IIS に関連しています。IIS には、メモリにロードされている間に実行中のアセンブリを上書きできるシャドウ コピー設定があります。問題は、(少なくとも XP では、2003 年の実稼働サーバーでテストしなかった) アセンブリをプログラムでロードすると、シャドウ コピーが機能しないことです (IIS ではなく DLL をロードしているため)。