2009-07-09 3 views
0

職場で共通のライブラリを作成しましたが、this questionとは異なり、GACには公開されていません。代わりに、企業固有のインストールフォルダに個人的に公開されます。 EDIT:すべての内部アプリが同じフォルダに保存されます。厳密に名前が付けられ、私的​​に公開されたアセンブリにパブリッシャポリシーを適用できますか?

パブリッシャーポリシーを適用して、古いアプリケーションで新しいバージョンのDLLを使用できるようにすることはできますか? This articleは私ができるように聞こえるが、それは私には全く分かりません。

もしそうなら、私は会社固有のインストールフォルダにどのように配布すればよいですか?

  1. 共通ライブラリの設定ファイルですか? (policy.1.0.MyLibrary.config)(これは一番簡単です)
  2. 共通ライブラリのポリシーDLLですか? (policy.1.0.MyLibrary.dll - #1の準拠バージョン)
  3. また、共通ライブラリを使用するすべてのアプリケーション用の設定ファイルのセット? (MyApp1.exe.config、MyApp2.exe.config、など)(YUCK!)

答えて

0
  1. あなたはIMO必要なすべてのだろう。または、あなたのapp.config setup bindingRedirect要素に正確に入ると完了です。

アップス申し訳ありません。 bindingRedirectは、フォルダがアプリケーションフォルダの下にあることを要求します。

「会社固有のインストールフォルダ」のGACに関するアプリケーションフォルダにないメリットは何ですか?彼らはアセンブリを共有したい場合、IMO GACはより良いです。

もしあなたが "手動で"アセンブリをロードできると主張すれば。 AppDomain.AssemblyResolveイベントをご覧ください。

+0

アプリケーションはライブラリと同じフォルダにインストールされるため、問題はありません。しかし、あなたはアプリケーションのapp.configファイルについて話しているように思えます。これは私の#1です。代わりにpolicy.1.0.mydll.configファイルを書き込むことになりますか? – Eric

+0

申し訳ありませんが、ポリシー設定ファイルを使用していません。しかし、私はあなたがそれを必要としないという疑いがあります。 XYZ.exe.configにbindingRedirectを使用してください。 –

+0

ライブラリを使用する複数のアプリケーションがあります。ですから、それぞれの設定ファイルを作成して管理しなければならず、新しいアプリケーションが書かれているのを知る必要があります。私が質問で#3のために言ったように...ヤク! – Eric

関連する問題