- PR -

厳密名つきの外部DLLの動的な更新について

投稿者投稿内容
JBOY
ベテラン
会議室デビュー日: 2003/02/27
投稿数: 72
投稿日時: 2005-10-03 15:39
今は外部DLLもGACに入れています。
(特に入れる必要はないので入れなくてもかまわないのですが)
GACにインストールをしてWeb.Configに
コード:

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="hogehoge" publicKeyToken="1f23sa1f3sdf1sd1" culture="neutral"/>
<bindingRedirect oldVersion="1.0.0.0-1.9999.9999.9999" newVersion="1.0.4.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>


のように記述しているのですが、Web.Configの設定エラーか何かで実行できなくなりました。
う〜難しい・・。

[ メッセージ編集済み 編集者: JBOY 編集日時 2005-10-03 15:46 ]
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2005-10-03 15:55
引用:

<bindingRedirect oldVersion="1.0.0.0-1.9999.9999.9999" newVersion="1.0.4.0"/>



1.0.0.0-1.9999.9999.9999
これサンプルのために書いてます?
こんな訳の分からないバージョンがないからでは?
JBOY
ベテラン
会議室デビュー日: 2003/02/27
投稿数: 72
投稿日時: 2005-10-03 16:02
すいません。
本当は
コード:
<bindingRedirect oldVersion="1.0.0.0-1.0.3.0" newVersion="1.0.4.0"/> 


です。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2005-10-03 16:13
いや、そうではなくて、
<メジャー>.<マイナー>.<ビルド>.<リビジョン>
でなくては駄目なんじゃなかったでしたっけ?
つまり、やたらと「.」が多いような・・・。

# そうじゃなかったかな・・?
# 失礼。書式的にOKですねTT。すみません。


<bindingRedirect oldVersion="1.0.0.0-1.0.3.0" newVersion="1.0.4.0"/>

<bindingRedirect oldVersion="1.0.0.0" newVersion="1.0.4.0"/>
にしても駄目ですよね?

# 時間があるときに書き方調べておきます。それまでに解決すると良いのですが・・・。
# というより私があまりに無知で余計混乱させたかもしれません。申し訳ない。

[ メッセージ編集済み 編集者: 囚人 編集日時 2005-10-03 16:43 ]
ryuuji
ベテラン
会議室デビュー日: 2003/07/10
投稿数: 53
お住まい・勤務地: 東京都
投稿日時: 2005-10-03 16:32
GACアセンブリをリダイレクトするのであれば発行者ポリシーを作成してGACアセンブリと一緒に登録してやれば良いのでは無いでしょうか。

# それではリダイレクトできないレベルの変更ならば分かりませんが。。。
JBOY
ベテラン
会議室デビュー日: 2003/02/27
投稿数: 72
投稿日時: 2005-10-03 16:45
http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_04/idnfw11_04_02.html
によると、
構成ファイル、発行者ポリシー、マシンポリシーの3つより
最終的にリダイレクトされるバージョンが決定されるようですが、
現在Web.Configのみに<bindingRedirect>の記述があります。
ので、発行者ポリシー、マシンポリシーの設定は不要と思っているのですが、
間違っているでしょうか?
ryuuji
ベテラン
会議室デビュー日: 2003/07/10
投稿数: 53
お住まい・勤務地: 東京都
投稿日時: 2005-10-03 17:08
リダイレクトする人はコードベースを指定してあげないといけないから面倒では?
GACに入っているアセンブリのコードベースを指定する場合、"C:\WINNT\Assembly〜"みたいなパスを書く事になってしまうと思うのですが。。。

何か勘違いしていたらすいません。
JBOY
ベテラン
会議室デビュー日: 2003/02/27
投稿数: 72
投稿日時: 2005-10-03 17:43
皆様 ありがとうございました。

無事できました!!
<runtime>タグを各場所が悪かったようです。
<configuration>タグの中であればどこでもいいかと
思っていたのですが、色々位置をづらしていたら動くようになりました。

コードベースの記述は特にしていません。
コード:
<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="hogehoge" publicKeyToken="1f23sa1f3sdf1sd1" culture="neutral"/>
      <bindingRedirect oldVersion="1.0.0.0-1.9999.9999.9999" newVersion="2.3.4.5"/>
    </dependentAssembly>
  </assemblyBinding>
</runtime>


という記述のみです。

スキルアップ/キャリアアップ(JOB@IT)