Udostępnij za pośrednictwem


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

Artykuł koncentruje się na dodawaniu atrybutów assembly w kodzie. 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 zespołu 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. Nuta: Ś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łówna.drobna.wersja.poprawka (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 atrybut AssemblyInformationalVersionAttribute nie jest stosowany do zestawu, numer wersji określony przez atrybut AssemblyVersionAttribute jest używany przez właściwości Application.ProductVersion, Application.UserAppDataPath i 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 ustawione jako domyślna wersja 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, korzystając z właściwości Application.ProductVersion. Ciąg jest również używany w ścieżce i kluczu rejestru udostępnianych przez właściwości Application.UserAppDataPath 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 zestawu systemu Windows lub można je zastąpić, używając opcji kompilatora /win32res, aby określić plik zasobów Win32.

Atrybuty manifestu zestawu

Atrybuty manifestu zestawu umożliwiają podanie informacji w manifeście zestawu, w tym tytułu, opisu, aliasu domyślnego i konfiguracji. 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 używane jest opóźnione podpisywanie.
AssemblyKeyFileAttribute Wartość ciągu wskazująca nazwę pliku, który zawiera klucz publiczny (jeśli używasz podpisywania opóźnionego) lub zarówno klucz publiczny, jak i klucz prywatny 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 opóźnionego podpisywania 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)>

Zobacz także