Ustawianie atrybutów zestawu w kodzie
Atrybuty zestawu to wartości, które zawierają informacje o zestawie. Zazwyczaj są one ustawiane w pliku AssemblyInfo.cs . Atrybuty są podzielone na następujące zestawy informacji:
- Atrybuty tożsamości zestawu
- Atrybuty informacyjne
- Atrybuty manifestu zestawu
- Atrybuty silnej nazwy
Ten artykuł ma zakres dodawania atrybutów zestawu z kodu. Aby uzyskać informacje na temat dodawania atrybutów zestawu do projektów (nie w kodzie), zobacz Ustawianie atrybutów zestawu w pliku projektu.
Atrybuty tożsamości zestawu
Trzy atrybuty, wraz z silną nazwą (jeśli ma zastosowanie), określają tożsamość zestawu: nazwę, wersję i kulturę. Te atrybuty tworzą pełną nazwę zestawu i są wymagane podczas odwoływania się do zestawu w kodzie. Możesz użyć atrybutów, aby ustawić wersję i kulturę zestawu. Kompilator lub konsolidator zestawów (Al.exe) ustawia wartość nazwy podczas tworzenia zestawu na podstawie pliku zawierającego manifest zestawu.
W poniższej tabeli opisano atrybuty wersji i kultury.
Atrybut tożsamości zestawu | opis |
---|---|
AssemblyCultureAttribute | Wyliczone pole wskazujące kulturę obsługiwaną przez zestaw. Zestaw może również określać niezależność kultury, co oznacza, że zawiera zasoby dla kultury domyślnej. Uwaga: środowisko uruchomieniowe traktuje każdy zestaw, który nie ma atrybutu kultury ustawionego na wartość null jako zestaw satelitarny. Takie zestawy podlegają regułom wiązania zestawów satelitarnych. Aby uzyskać więcej informacji, zobacz Jak środowisko uruchomieniowe lokalizuje zestawy. |
AssemblyFlagsAttribute | Wartość, która ustawia atrybuty zestawu, takie jak to, czy zestaw może być uruchamiany obok siebie. |
AssemblyVersionAttribute | Wartość liczbowa w formacie głównym.drobne.kompilacja.revision (na przykład 2.4.0.0). Środowisko uruchomieniowe języka wspólnego używa tej wartości do wykonywania operacji wiązania w zestawach o silnych nazwach. Uwaga: jeśli AssemblyInformationalVersionAttribute atrybut nie jest stosowany do zestawu, numer wersji określony przez AssemblyVersionAttribute atrybut jest używany przez Application.ProductVersionwłaściwości , Application.UserAppDataPathi Application.UserAppDataRegistry . |
Poniższy przykład kodu pokazuje, jak zastosować atrybuty wersji i kultury do zestawu.
// 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")>
Atrybuty informacyjne
Możesz użyć atrybutów informacyjnych, aby podać dodatkowe informacje o firmie lub produkcie dla zestawu. W poniższej tabeli opisano atrybuty informacyjne, które można zastosować do zestawu.
Atrybut informacyjny | opis |
---|---|
AssemblyCompanyAttribute | Wartość ciągu określająca nazwę firmy. |
AssemblyCopyrightAttribute | Wartość ciągu określająca informacje o prawach autorskich. |
AssemblyFileVersionAttribute | Wartość ciągu określająca numer wersji pliku Win32. Zwykle jest to ustawienie domyślne wersji zestawu. |
AssemblyInformationalVersionAttribute | Wartość ciągu określająca informacje o wersji, które nie są używane przez środowisko uruchomieniowe języka wspólnego, takie jak pełny numer wersji produktu. Uwaga: jeśli ten atrybut jest stosowany do zestawu, określony ciąg można uzyskać w czasie wykonywania przy użyciu Application.ProductVersion właściwości . Ciąg jest również używany w ścieżce i kluczu rejestru udostępnianym Application.UserAppDataPath przez właściwości i Application.UserAppDataRegistry . |
AssemblyProductAttribute | Wartość ciągu określająca informacje o produkcie. |
AssemblyTrademarkAttribute | Wartość ciągu określająca informacje o znakach towarowych. |
Te atrybuty mogą pojawić się na stronie Właściwości systemu Windows zestawu lub można je zastąpić przy użyciu /win32res opcji kompilatora, aby określić plik zasobu Win32.
Atrybuty manifestu zestawu
Atrybuty manifestu zestawu umożliwiają podanie informacji w manifeście zestawu, w tym tytuł, opis, alias domyślny i konfiguracja. W poniższej tabeli opisano atrybuty manifestu zestawu.
Atrybut manifestu zestawu | opis |
---|---|
AssemblyConfigurationAttribute | Wartość ciągu wskazująca konfigurację zestawu, na przykład Retail lub Debug. Środowisko uruchomieniowe nie używa tej wartości. |
AssemblyDefaultAliasAttribute | Wartość ciągu określająca alias domyślny, który ma być używany przez odwoływanie się do zestawów. Ta wartość zapewnia przyjazną nazwę, gdy nazwa samego zestawu nie jest przyjazna (na przykład wartość GUID). Ta wartość może być również używana jako krótka forma pełnej nazwy zestawu. |
AssemblyDescriptionAttribute | Wartość ciągu określająca krótki opis, który podsumowuje charakter i cel zestawu. |
AssemblyTitleAttribute | Wartość ciągu określająca przyjazną nazwę zestawu. Na przykład zestaw o nazwie comdlg może mieć tytuł Microsoft Common Dialog Control. |
Atrybuty silnej nazwy
Możesz użyć atrybutów silnej nazwy, aby ustawić silną nazwę zestawu. W poniższej tabeli opisano atrybuty silnej nazwy.
Atrybut silnej nazwy | opis |
---|---|
AssemblyDelaySignAttribute | Wartość logiczna wskazująca, że jest używane podpisywanie opóźnione. |
AssemblyKeyFileAttribute | Wartość ciągu wskazująca nazwę pliku, który zawiera klucz publiczny (jeśli używasz podpisywania opóźnienia) lub zarówno klucze publiczne, jak i prywatne przekazane jako parametr konstruktora tego atrybutu. Należy pamiętać, że nazwa pliku jest względna względem ścieżki pliku wyjściowego ( .exe lub .dll), a nie ścieżki pliku źródłowego. |
AssemblyKeyNameAttribute | Wskazuje kontener kluczy, który zawiera parę kluczy przekazaną jako parametr do konstruktora tego atrybutu. |
Poniższy przykład kodu przedstawia atrybuty do zastosowania podczas używania podpisywania opóźnienia w celu utworzenia zestawu o silnej nazwie z plikiem klucza publicznego o nazwie myKey.snk.
[assembly:AssemblyKeyFileAttribute("myKey.snk")];
[assembly:AssemblyDelaySignAttribute(true)];
[assembly:AssemblyKeyFileAttribute("myKey.snk")]
[assembly:AssemblyDelaySignAttribute(true)]
<Assembly:AssemblyKeyFileAttribute("myKey.snk")>
<Assembly:AssemblyDelaySignAttribute(True)>