Festlegen von Assemblyattributen
Assemblyattribute sind Werte, die Informationen über eine Assembly liefern. Diese Attribute werden nach Art der Information folgendermaßen unterteilt:
Assemblyidentitätsattribute
Informationsattribute
Assemblymanifestattribute
Attribute für starke Namen
Assemblyidentitätsattribute
Drei Attribute bestimmen (ggf. zusammen mit einem starken Namen) die Identität einer Assembly: Name, Version und Kultur. Diese Attribute bilden den vollständigen Namen der Assembly und werden benötigt, wenn im Code auf die Assembly verwiesen wird. Sie können Attribute verwenden, um die Version und Kultur einer Assembly anzugeben. Der Compiler oder der Assembly Linker-Tool (Al.exe) setzt beim Erstellen der Assembly den Namenswert basierend auf der Datei fest, die das Assemblymanifest enthält.
Die folgende Tabelle beschreibt die Versions- und Kulturattribute.
Assemblyidentitätsattribut |
Beschreibung |
---|---|
Numerisches Feld, das die von der Assembly unterstützte Kultur angibt. Eine Assembly kann auch kulturunabhängig sein. Dies bedeutet, dass sie die Ressourcen für die Standardkultur enthält.
Hinweis
Die Common Language Runtime behandelt jede Assembly, für die das Kulturattribut nicht auf NULL festgelegt ist, als Satellitenassembly.Solche Assemblys unterliegen den Bindungsregeln für Satellitenassemblys.Weitere Informationen finden Sie unter So sucht Common Language Runtime nach Assemblys.
|
|
Wert, der Assemblyattribute festlegt, z. B. ob die Assembly parallel mit einer anderen ausgeführt werden kann. |
|
Numerischer Wert im Format major.minor.build.revision (beispielsweise 2.4.0.0). Dieser Wert wird von der Common Language Runtime verwendet, um in Assemblys mit starkem Namen Bindungsoperationen durchzuführen.
Hinweis
Wenn das AssemblyInformationalVersionAttribute-Attribut nicht auf eine Assembly angewendet wird, wird von den Eigenschaften Application.ProductVersion, Application.UserAppDataPath und Application.UserAppDataRegistry die vom AssemblyVersionAttribute-Attribut angegebene Versionsnummer verwendet.
|
Im folgenden Beispielcode wird gezeigt, wie Sie die Versions- und Kulturattribute auf eine Assembly anwenden.
' Set version number for the assembly.
<Assembly:AssemblyVersionAttribute("4.3.2.1")>
' Set culture as German.
<Assembly:AssemblyCultureAttribute("de")>
// Set version number for the assembly.
[assembly:AssemblyVersionAttribute("4.3.2.1")]
// Set culture as German.
[assembly:AssemblyCultureAttribute("de")]
// Set version number for the assembly.
[assembly:AssemblyVersionAttribute("4.3.2.1")];
// Set culture as German.
[assembly:AssemblyCultureAttribute("de")];
Informationsattribute
Mit Informationsattributen können Sie zusätzliche Firmen- oder Produktinformationen für eine Assembly bereitstellen. Die folgende Tabelle beschreibt die verschiedenen Informationsattribute, die Sie einer Assembly zuweisen können.
Informationsattribut |
Beschreibung |
---|---|
Zeichenfolgenwert zur Angabe eines Firmennamens. |
|
Zeichenfolgenwert zur Angabe von Copyrightinformationen. |
|
Zeichenfolgenwert zur Angabe der Win32-Dateiversionsnummer. Standardmäßig ist dieser Wert für die Assemblyversion voreingestellt. |
|
Zeichenfolgenwert zur Angabe von Versionsinformationen, die von der Common Language Runtime nicht verwendet werden, z. B. die vollständige Produktversionsnummer.
Hinweis
Wenn dieses Attribut auf eine Assembly angewendet wird, kann die davon angegebene Zeichenfolge zur Laufzeit mithilfe der Application.ProductVersion-Eigenschaft abgerufen werden.Die Zeichenfolge wird auch in dem Pfad und dem Registrierungsschlüssel verwendet, die von der Application.UserAppDataPath-Eigenschaft und der Application.UserAppDataRegistry-Eigenschaft angegeben werden.
|
|
Zeichenfolgenwert zur Angabe von Produktinformationen. |
|
Zeichenfolgenwert zur Angabe von Markeninformationen. |
Diese Attribute können auf der Windows-Eigenschaftenseite der Assembly angezeigt werden. Sie können sie jedoch auch unter Verwendung der Compileroption /win32res überschreiben, um eine eigene Win32-Ressourcendatei anzugeben.
Assemblymanifestattribute
Wenn Sie Assemblymanifestattribute verwenden, können Sie im Assemblymanifest Informationen zur Verfügung stellen, einschließlich Titel, Beschreibung, Standardalias und Konfiguration. Die folgende Tabelle enthält eine Beschreibung der Assemblymanifestattribute.
Assemblymanifestattribute |
Beschreibung |
---|---|
Zeichenfolgenwert zur Angabe der Assemblykonfiguration, z. B. Verkaufs- oder Debugversion. Dieser Wert wird von der Common Language Runtime nicht verwendet. |
|
Zeichenfolgenwert zur Angabe des Standardalias, der beim Verweisen von Assemblys verwendet wird. Dieser Wert stellt auch einen angezeigten Namen bereit, falls der Assemblyname selbst kein angezeigter Name ist (sondern z. B. ein GUID-Wert). Dieser Wert kann außerdem als Kurzform des vollständigen Assemblynamens verwendet werden. |
|
Zeichenfolgenwert zur Angabe einer kurzen Beschreibung von Art und Zweck der Assembly. |
|
Zeichenfolgenwert zur Angabe eines angezeigten Namens für die Assembly. Beispielsweise könnte eine Assembly mit dem Namen comdlg denn Namen Microsoft Common Dialog Control haben. |
Attribute für starke Namen
Sie können Attribute für starke Namen verwenden, um einer Assembly einen starken Namen zuzuweisen. Die folgende Tabelle enthält eine Beschreibung solcher Attribute.
Attribute für starke Namen |
Beschreibung |
---|---|
Boolescher Wert, der angibt, ob verzögertes Signieren eingesetzt wird. |
|
Zeichenfolgenwert zur Angabe des Namens der Datei, die entweder (bei verzögertem Signieren) nur den öffentlichen Schlüssel oder den öffentlichen und den privaten Schlüssel enthält, wobei im letzten Fall beide als Parameter dem Konstruktor dieses Attributs übergeben wurden. Beachten Sie, dass der Dateiname vom Pfad der Ausgabedatei (.exe oder .dll) und nicht von dem der Quelldatei abhängig ist. |
|
Gibt den Schlüsselcontainer an, der das an den Konstruktor dieses Attributs als Parameter übergebene Schlüsselpaar enthält. |
Im folgenden Beispielcode wird gezeigt, welche Attribute Sie einsetzen müssen, wenn Sie verzögertes Signieren zur Erstellung einer Assembly mit starkem Namen unter Verwendung einer Datei mit öffentlichem Schlüssel mit dem Namen myKey.snk einsetzen.
<Assembly:AssemblyKeyFileAttribute("myKey.snk")>
<Assembly:AssemblyDelaySignAttribute(True)>
[assembly:AssemblyKeyFileAttribute("myKey.snk")]
[assembly:AssemblyDelaySignAttribute(true)]
[assembly:AssemblyKeyFileAttribute("myKey.snk")];
[assembly:AssemblyDelaySignAttribute(true)];