Wofür wird AssemblyInfo.cs verwendet?

113

Meine Frage ist ziemlich einfach. Ich würde gerne wissen, wofür die Datei AssemblyInfo.cs verwendet wird.

Sachin Kainth
quelle
Denken Sie jedoch daran, dass diese Versionsnummer nur dann zusammen mit Namen, Token für öffentliche Schlüssel und Kultur verwendet wird, wenn die Assemblys mit einem starken Namen signiert sind. Wenn Assemblys nicht mit starken Namen signiert sind, werden nur Dateinamen zum Laden verwendet.
Karl SoCal

Antworten:

83

AssemblyInfo.cs enthält Informationen zu Ihrer Assembly, wie Name, Beschreibung, Version usw. Weitere Informationen zum Inhalt finden Sie in den darin enthaltenen Kommentaren.

Wenn Sie es löschen, wird Ihre Assembly ohne Informationen kompiliert, dh auf der Registerkarte Details der Dateieigenschaften sehen Sie keinen Namen, keine Beschreibung, Version 0.0.0.0 usw.

Der mit Assembly: Guid verknüpfte Wert ist die ID, die die Assembly identifiziert, wenn sie als COM-Objekt verfügbar gemacht wird. Wenn Ihre Assembly also nicht COM-verfügbar ist, benötigen Sie dies nicht. Es wird zufällig generiert. Normalerweise müssen Sie es in keinem Fall ändern.

Credits gehen an: http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/8955449f-71ac-448e-9ee6-5329fceecd3c

Francois
quelle
1
Wenn ich also die Versionsnummer in meiner AssemblyInfo-Datei nie ändere, wird sie unabhängig von der Anzahl der von mir durchgeführten Bereitstellungen immer als 1.0.0.0 angezeigt.
Sachin Kainth
3
Was ist, wenn ich das Update der Version bei jeder Version automatisieren möchte? Ist das möglich?
Sachin Kainth
Nach erfolgreicher Erstellung der Projekteinstellungen können Sie eine EXE-Datei aufrufen, um diese Nummer zu aktualisieren (es handelt sich also um die Versionsnummer für die nächste Version, nicht um die gerade erstellte). Werfen
Francois
Sind Sie sicher, dass keine Änderung erforderlich ist? Wie steuern Sie Ihre Bereitstellungen ohne Verwendung der Versionsnummer?
Uğur Aldanmaz
15

In der AssemblyInfo-Datei enthalten die Informationsattribute Informationen zu Produktname, Beschreibung, Marke und Urheberrecht. Im Allgemeinen sind diese Informationen entweder Hardcode oder werden in einer Datenbank oder einer Flatfile gespeichert. Die .NET-Assembly bietet die Möglichkeit, diese Informationen in der AssemblyInfo-Datei zu speichern. Nach der Kompilierung werden sie Teil der Assembly. Zur Laufzeit kann man diese Informationen also lesen.

Teil der Montageinformationen

1 AssemblyTitle: Titelname aus der Assembly.

2 Baugruppenbeschreibung: Enthält die Detailbeschreibung der Baugruppe.

3 AssemblyCompany: Stellt die Unternehmensinformationen aus der Assembly bereit.

4 Montageprodukt: Es liefert die Produktionsinformationen aus der Montage.

5 AssemblyCopyright: Stellt das Copyright der Assembly bereit.

6 AssemblyTrademark: Stellt die Marke der Assembly bereit.

Jedes dieser Attribute verfügt über eine definierte Klasse, mit der die Informationen aus der AssemblyInfo-Datei gelesen werden.

Überprüfen Sie diesen Link: - http://www.dotnetspider.com/forum/157292-assemblyinfo-file.aspx

Rahul Tripathi
quelle
10

Gehen Sie zu Ihren Projekteigenschaften auf der Registerkarte Anwendung und klicken Sie auf die Schaltfläche Baugruppeninformationen.

Das ist es, was in AssemblyInfo.cs gespeichert ist.

Klicken Sie im Windows Explorer mit der rechten Maustaste auf die EXE-Ausgabe Ihres Projekts, wählen Sie Eigenschaften und wechseln Sie zur Registerkarte Details. Dies sind die von AssemblyInfo.cs generierten Informationen.

Kendall Frey
quelle
8

In der AssemblyInfo-Datei können Sie Informationen speichern, die Sie von jedem Ort im Projekt erhalten können, sodass Sie nicht alle Orte, sondern nur die AssemblyInfo aktualisieren müssen.

Beispiel: In dieser Datei aktualisieren Sie die Versionsnummer und sie wird auf Ihrer Site automatisch aktualisiert. Um die Versionsnummer zu erhalten, schreiben Sie auf der HTML-Seite:

Assembly assembly = Assembly.GetAssembly(typeof(ProjectName.WebSite.Controllers.MyController));
string version = assembly.GetName().Version.ToString();

und es wird jedes Mal aktualisiert, wenn Sie eine neue Version hochladen.

ParPar
quelle
4

Es ist ein geeigneter Ort für Attribute auf Baugruppenebene wie Version, Firmenname usw.

Oded
quelle
0

AssemblyInfo.cs enthält allgemeine Informationen zu der Anwendung, die Sie erstellen. Einige dieser Informationen enthalten den Titel Ihrer Anwendung, das Urheberrecht usw. Wenn der Titel Ihrer Anwendung beispielsweise "MyApplication" lautet, sollte Folgendes angezeigt werden: [Assembly: AssemblyTitle ("MyApplication")]

Collins A. Eban
quelle
3
Willkommen bei Stack Overflow. Es ist schön, Sie involviert zu sehen, aber bitte vermeiden Sie es, Antworten hinzuzufügen, die dem Thema nichts Neues bringen.
Machnic