Do czego służy AssemblyInfo.cs?


116

Moje pytanie jest dość podstawowe. Chciałbym wiedzieć, do czego służy plik AssemblyInfo.cs?


Pamiętaj jednak, że ten numer wersji jest używany wraz z nazwą, tokenem klucza publicznego i informacjami o kulturze tylko wtedy, gdy zestawy są podpisane o silnej nazwie. Jeśli zestawy nie są podpisane o silnych nazwach, do ładowania są używane tylko nazwy plików.
— Karl SoCal

Odpowiedzi:


85

AssemblyInfo.cs zawiera informacje o twoim zestawie, takie jak nazwa, opis, wersja, itp. Możesz znaleźć więcej szczegółów na temat jego zawartości, czytając komentarze, które są w nim zawarte.

Jeśli go usuniesz, twój zespół zostanie skompilowany bez informacji, tj. W zakładce Szczegóły właściwości pliku nie zobaczysz nazwy, opisu, wersji 0.0.0.0 itd.

Wartość skojarzona z assembly: Guid to identyfikator, który będzie identyfikował zestaw, jeśli zostanie ujawniony jako obiekt COM. Tak więc, jeśli twój zestaw nie jest narażony na COM, nie potrzebujesz tego. Jest generowany losowo. W każdym razie normalnie nie musisz go modyfikować.

Kredyty trafiają do: http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/8955449f-71ac-448e-9ee6-5329fceecd3c


1
Tak więc, jeśli nigdy nie zmienię numeru wersji w moim pliku AssemblyInfo, niezależnie od liczby wdrożeń, które wykonam, zawsze będzie wyświetlany jako 1.0.0.0?
— Sachin Kainth

3
Co jeśli chcę zautomatyzować aktualizację wersji przy każdym wydaniu. czy to możliwe?
— Sachin Kainth

Po udanej kompilacji w ustawieniach projektu możesz zadzwonić do jakiegoś pliku .exe, aby zaktualizować ten numer (więc będzie to numer wersji dla następnej wersji, a nie właśnie zbudowanej). Spójrz na: codeproject.com/Articles/31236/…
— Francois

Czy na pewno nie ma potrzeby jej modyfikować? Jak kontrolować swoje wdrożenia bez używania numeru wersji?
— Uğur Aldanmaz

Jak / kiedy jest generowany? Czy mogę zmienić identyfikator na jakiś losowy guid?
— Shahryar Saljoughi

15

W pliku AssemblyInfo Atrybuty informacyjne zawierają informacje o nazwie produktu, opisie, znaku towarowym, prawach autorskich. Ogólnie te informacje są albo zapisane w kodzie twardym, albo przechowywane w bazie danych lub pliku prostym. Zestaw .NET umożliwia przechowywanie tych informacji w pliku AssemblyInfo i po kompilacji staje się częścią zespołu. Więc w czasie wykonywania można przeczytać te informacje.

Część informacji dotyczących zespołu

1 AssemblyTitle: nazwa tytułu z zestawu.

2 AssemblyDescription: Zawiera szczegółowy opis zespołu.

3 AssemblyCompany: Dostarcza informacji o firmie z zespołu.

4 AssemblyProduct: Dostarcza informacji o produkcji z zespołu.

5 AssemblyCopyright: Zapewnia prawa autorskie do zespołu.

6 AssemblyTrademark: Zapewnia znak towarowy z zespołu.

Każdy z tych atrybutów ma zdefiniowaną klasę, która jest używana do odczytywania informacji z pliku AssemblyInfo.

Sprawdź ten link: - http://www.dotnetspider.com/forum/157292-assemblyinfo-file.aspx


10

Przejdź do Właściwości projektu, zakładki Aplikacja i kliknij przycisk Informacje o zespole.

To jest to, co jest przechowywane w AssemblyInfo.cs.

W Eksploratorze Windows kliknij prawym przyciskiem myszy plik wyjściowy .exe projektu, wybierz opcję Właściwości i przejdź do karty Szczegóły. To są informacje generowane przez AssemblyInfo.cs.


8

W pliku AssemblyInfo możesz przechowywać informacje, które możesz uzyskać z każdego miejsca w projekcie, więc nie musisz aktualizować wszystkich miejsc, a jedynie plik assemblyInfo.

Na przykład - w tym pliku aktualizujesz numer wersji i jest on aktualizowany automatycznie w Twojej witrynie. Na stronie html, aby uzyskać numer wersji, napisz:

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

i będzie aktualizowana za każdym razem, gdy prześlesz nową wersję.


4

Jest to wygodne miejsce na atrybuty na poziomie zespołu, takie jak wersja, nazwa firmy itp.


0

AssemblyInfo.cs zawiera ogólne informacje o aplikacji, którą tworzysz, niektóre z tych informacji obejmują tytuł aplikacji, prawa autorskie itp., Na przykład jeśli tytuł Twojej aplikacji to „MyApplication”, powinieneś zobaczyć coś takiego: [assembly: AssemblyTitle ("Moja aplikacja")]


4
Witamy w Stack Overflow. Miło widzieć, że jesteś zaangażowany, ale unikaj dodawania odpowiedzi, które nie wnoszą nic nowego do tematu.
— machnic
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.