タグ

クラスライブラリに関するsuusanexのブックマーク (5)

  • 厳密名を持つアセンブリとは何なのか調べてみた - tekkの日記 C#,VB.NET

    アセンブリを参照設定する際に「厳密名」というキーワードが出てきます。「厳密名」とは何か、参照設定での違いはあるのか、実行時にどのように動くのか調べてみました。 厳密名とは 厳密名とは、以下の4つの属性を使ってアセンブリを一意に識別する名称です。 ファイル名(拡張子無し) バージョン番号 カルチャID 公開キートークン 具体的には、プロジェクトファイルで良く見かける以下の様な値を指します。 FarPoint.Win, Version=3.0.2010.2005, Culture=neutral, PublicKeyToken=a5fa960294d899e7 すべてのアセンブリに厳密名があるのか? アセンブリに厳密名を付けるには、アセンブリの発行者によって公開キーと秘密キーのペアによって署名される必要があります。署名は、アセンブリのプロジェクトプロパティの[署名]タブでアセンブリの署名にキー

    厳密名を持つアセンブリとは何なのか調べてみた - tekkの日記 C#,VB.NET
  • インサイド .NET Framework [改訂版]第2回 アセンブリのアイデンティティ(3/5) - @IT

    遅延署名機能の利用 ところで、Microsoftのキー・ペアの管理方法を聞いて、「そんなに厳重にしまってあったら、開発中にアセンブリに厳密名をつけるためにキー・ペアを借りるにはかなり厄介な手順で承認をもらうんだろうなぁ」という疑問がわかなかっただろうか? そう、厳重に保管してしまうと、アセンブリをビルドするたびに取り出すのが大変になってしまうのだ。セキュリティと利便性は両立しないとはよくいったものである。 かといって、Microsoftのあらゆる部門にキー・ペアを配ってしまったら、どこから漏れるか分かったものではない。そんなことは絶対にできない。ではどうするか。.NET Frameworkでは、アセンブリに遅延署名を行うことができるようになっている。 署名をしなければ厳密名が付いていないものと見なされてしまう。そこで、.NET Frameworkでは、アセンブリに署名をせずに公開キーだけを

  • .NET、DLLの修正で参照元も全部ビルドし直すのか? - misc.log

    職場にて。質問を受けたのですが、即答できなかったので調べました。以前も同じような調べ物をした覚えがあるのですが、記録していなかったので自分用メモもかねて。 ちなみに開発環境はVisual Studio 2005、.NET Framework 2.0です。 厳密名を持たないDLLを修正した場合 参照元アセンブリが「何でもいいからエラー無く動く」というだけであれば、厳密名を持たないDLLを修正しても、参照元は再ビルドせずDLLだけ上書き配布できます。ただし、以下のことに注意してください。 Public Constなどで宣言した定数の値は参照元を再ビルドしないと反映されません。 Public Enumなどで宣言した列挙型の実値は参照元を再ビルドしないと反映されません。 これらについては、ビルドが通ったからといって、また、参照元が動いたからといって油断しているとハマります。注意してください。 実験

    .NET、DLLの修正で参照元も全部ビルドし直すのか? - misc.log
  • インサイド .NET Framework [改訂版]第3回 アセンブリのロード(1/5) - @IT

    前回はアセンブリのアイデンティティについて解説した。アセンブリのアイデンティティは簡易名、バージョン、カルチャ、公開キーの4つの部分からなるデータ構造であり、アセンブリのメタデータには自分自身のアイデンティティの情報と、そのアセンブリが参照しているほかのアセンブリの情報が含まれている。 共通言語ランタイム(CLR)上でコードが実行されたときに、そのコードがほかのアセンブリに含まれている型を参照していると、CLRはそのアセンブリをメモリ上にロードする。今回は、そのロード手順を解説しよう。なお、前回説明したとおり、.NET Framework上での開発では、ほぼすべての場合でアセンブリには厳密名を付けなければならない。そのため、今回の解説はすべて、アセンブリには厳密名が付いているものと仮定している。あいまいな名前のアセンブリをロードする手順は稿の解説とは異なる可能性があるので、特に言及してい

  • exeと別フォルダのDLLを参照する方法 : old_3流プログラマのメモ書き

    今やってる案件が初の.Net開発ということで四苦八苦しながら.Net勉強してます。 そのなかで別のフォルダのDLLをみれないのか?という疑問がわきいろいろ調べてみました。 結論としては「しかるべき手順をとればできる」ということです。 ネット上の掲示板等では「exeと同じ階層にDLLを置くのが常識だ」という意見がちらほらありましたが、下記の連載をみるとそうではないそうです。 インサイド .NET Framework [改訂版]第3回 アセンブリのロード http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_03/idnfw11_03_01.html (かなり詳しいレベルで書かれてますが、連載すべてはかなりの量です。まだ少ししか読んでません) これによると.Netで作られた実行ファイル(正確にはCLR)は下記の順序でアセンブリ(DLL等)を探

    exeと別フォルダのDLLを参照する方法 : old_3流プログラマのメモ書き
  • 1