導入
C#(.NET 4.5系)で開発をしていますが、アセンブリに厳密な名前をするオプションがあるかと存じます。これを有効にすべきなのかいまだに解けていないので、何か知見があれば(誤りや認識が漏れていることがあれば)ご教授願います。
質問
以下の中でグローバルアセンブリキャッシュに乗せることがありますが、
利点は何でしょうか?
また、アプリケーションを作成するうえで、厳密な署名を行うべきなのでしょうか?
※exeアプリケーションで公的証明機関に署名してもらうことはない前提とさせてください。
※インストールが必要な時点で、グローバルアセンブリキャッシュには乗せない方針
厳密な署名を行うことによるメリット
厳密な署名を行うことで、以下のようなことが享受できる認識です。
- 発行元を証明できる
- ライブラリ間でinternalな空間へ相互にアクセスすることができる(主に単体テストで役に立つ)
- ハッシュコードが短くなり、%AppData%に格納される識別子が短くなる
- グローバル アセンブリ キャッシュに載せることができる
厳密な署名を行うことによる弊害
- 未署名のライブラリを使用することができない
- 参照するライブラリを更新したとき、アセンブリバージョンを変更した場合、同時にビルドしないと参照できなくなる?(未検証)
これは、更新のあったバイナリのみ(ビルド後のバイナリ差分98%未満)をリリース対象として管理していたため、問題となりました。
参考文献
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。