web-dev-qa-db-ja.com

.NET Frameworkの 'AssemblyTitle'属性

AssemblyTitle属性の実用的な使用法は何ですか? MSDNは、アセンブリの説明を指定し、アセンブリのタイトルはスペースを含むことができるわかりやすい名前であると述べています。

Visual Studioは、プロジェクトのプロパティウィンドウで、既定の名前空間と共にアセンブリ名を要求します。 AssemblyName属性がありますが、これはアセンブリの一意のアイデンティティを完全に記述します(つまり、文化など)。 AssemblyTitleAssemblyProductの違いがわかりません。

IL Disassemblerを使用して、MicrosoftがAssemblyTitleをどのように使用しているかを確認しました。 mscorlib.dllで、AssemblyTitleAssemblyProductおよびAssemblyDefaultAliasがすべて"mscorlib.dll"に設定されていることを発見しました。

結論として、私が本当に見たいのは、AssemblyTitleの実際の使用例です。

20
HelloWorld

製品は複数のアセンブリで構成できます。

すべてのアセンブリには単一の製品名があり、個々のアセンブリには独自のタイトルがあります。

AssemblyProduct = "MyProduct"

AssemblyTitle = "MyProduct.Utilities"

そして別の議会のために

AssemblyTitle = "MyProduct.Security"

アセンブリのタイトルは、エクスプローラのファイルプロパティなどでも使用されます。File > Properties > Detailsタブ

File Description = AssemblyTitle
Product name = AssemblyProduct
12
Raja Nadar

[AssemblyTitle]はかなり重要です。アセンブリを右クリックして[プロパティ+詳細]を使用すると、直接表示されます。

見やすくするための例。このAssemblyInfo.csファイルから始めましょう。

[Assembly: AssemblyTitle("AssemblyTitle")]
[Assembly: AssemblyDescription("AssemblyDescription")]
[Assembly: AssemblyConfiguration("AssemblyConfiguration")]
[Assembly: AssemblyCompany("AssemblyCompany")]
[Assembly: AssemblyProduct("AssemblyProduct")]
[Assembly: AssemblyCopyright("AssemblyCopyright")]
[Assembly: AssemblyTrademark("AssemblyTrademark")]
[Assembly: AssemblyCulture("")]
[Assembly: Guid("7da36bdf-39fb-4a4d-b98c-ecefd99b155a")]
[Assembly: AssemblyVersion("1.2.3.4")]
[Assembly: AssemblyFileVersion("5.6.7.8")]

そして、ファイルのプロパティを見てください:

enter image description here

これに対するいくつかの注釈:

  • [AssemblyDescription]は誤解を招きやすいことに注意してください。これは、実際にはプロパティシートに表示されるタイトルです。
  • 説明、構成、会社は表示されません。あなたはおそらく会社名を目に見える著作権に統合したいと思うでしょう。説明と会社は実際にはアンマネージバージョンのリソースに存在しますが、Windowsでは表示されません。
  • [AssemblyCulture]は特別で、ローカリゼーションのためにサテライトアセンブリによって使用されます
  • [Guid]は特別です。[ComVisible]アセンブリを作成すると、タイプライブラリのguidが設定されます
  • [AssemblyVersion]は、.NET Frameworkで非常に重要な特別なものです。表示されないのは大きな問題です。それ以降のバージョンのWindowsではなく、XPで表示できます。 [AssemblyFileVersion]を同じ値にすることを強く検討してください。
  • 表示される「製品バージョン」は「ファイルバージョン」と同じです。それもすばらしいことではありません。[AssemblyInformationalVersion]属性を追加して修正する必要があります。

風変わりなことですが、WindowsグループとDevDivは必ずしもうまく連携していませんでした。

45
Hans Passant

AssemblyTitleは、タスクマネージャー(Windows 10)でアプリケーションの名前としても表示されます。 [プロセス]タブまたは[詳細表示]ビュー。

enter image description here

7