1

ロジックおよび UI レイヤーを含むいくつかの dll が参照されるメイン アプリケーション (Winforms) があります。winforms アプリケーションで自動更新を実行する方法について調査した結果、AppDomain と ShadowCopies 機能を使用した解決策を見つけました。別の実行可能ファイルが更新を探し、ファイルの交換を行います。

わかりましたが、今、次の状況になりました。

  1. メイン アプリケーションを起動します (新しい AppDomain を介して読み込まれます)。
  2. 参照されている dll ("ReferenceA") にあるフォームを開きます。この dll はコピーされ、コピーからインスタンス化されます。(偉大な!)
  3. この時点で、システムは「ReferenceA」と「ReferenceB」の新しいバージョンの更新を受信し、ファイルの交換を行います。
  4. 「ReferenceB」にある別のフォームを開きます。この dll はコピーからコピーされてインスタンス化されますが、この dll は、既にディレクトリにあるため、ShadowCopy によって更新されない "ReferenceA" も参照します。
  5. 現在、システムは古いバージョンの「ReferenceA」とともに新しいバージョンの「ReferenceB」を実行しています。私のテストでは、「ReferenceA」に新しいメソッドを作成しましたが、明らかに「メソッドが見つかりません」というメッセージが表示されました。

これを解決する方法について何か提案はありますか?

4

0 に答える 0