このMSDNソースでAssemblyName の表示名の形式に関する情報を確認したところ、次のように書かれています。
AssemblyName の表示名の形式は、次のように名前で始まるコンマ区切りの Unicode 文字列です。
名前 <,Culture = CultureInfo> <,Version = Major.Minor.Build.Revision> <, StrongName> <,PublicKeyToken> '\0'
Name は、アセンブリのテキスト名です。CultureInfo は、RFC1766 形式で定義されたカルチャです。Major、Minor、Build、および Revision は、アセンブリのメジャー バージョン、マイナー バージョン、ビルド番号、およびリビジョン番号です。StrongNameは、SHA-1 ハッシュ アルゴリズムと SetPublicKey で指定された公開キーを使用して生成された公開キーのハッシュ値の 16 進数でエンコードされた下位 64 ビットです。PublicKeyToken は、SetPublicKeyで指定された 16 進数でエンコードされた公開鍵です。
次に、 SetPublicKeyをチェックすると、次のように表示されます。
アプリケーションまたはアセンブリが署名される公開キーの SHA-1 ハッシュの最後の 8 バイトである公開キー トークンを設定します。
上記の表示形式の仕様では、StrongName は PublicKeyToken と同じように聞こえますが、なぜ両方が同じ形式で並べてリストされているのでしょうか。AssemblyName.FullNameを使用してアセンブリの AssemblyName を出力しようとすると、次のようなものしか表示されませんでした。
システム、バージョン = 4.0.0.0、カルチャ = ニュートラル、PublicKeyToken = b77a5c561934e089
そのため、StrongName は表示されず、上記で指定された順序にも従いません。つまり、バージョン情報がカルチャ情報より前に来ます。
誰でも説明できますか?ありがとう。