Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Platforma .NET definiuje format pliku binarnego, zestaw, który jest używany do pełnego opisywania i zawierania programów .NET. Zestawy są używane dla samych programów, a także wszelkich bibliotek zależnych. Program .NET można wykonać jako jeden lub więcej zestawów bez innych wymaganych artefaktów poza odpowiednią implementacją platformy .NET. Zależności natywne, w tym interfejsy API systemu operacyjnego, są oddzielnym problemem i nie są zawarte w formacie zestawu platformy .NET, chociaż czasami są one opisane w tym formacie (na przykład WinRT).
Każdy składnik CLI zawiera metadane dotyczące deklaracji, implementacji i odwołań specyficznych dla tego składnika. W związku z tym metadane specyficzne dla składników są określane jako metadane składników, a wynikowy składnik jest określany jako samoopisujący — z ECMA 335 I.9.1, Components and assemblies.
Format jest w pełni określony i ustandaryzowany jako ECMA 335. Wszystkie kompilatory i środowiska uruchomieniowe platformy .NET używają tego formatu. Obecność udokumentowanego i rzadko aktualizowanego formatu binarnego była główną korzyścią (prawdopodobnie wymaganiem) dla współdziałania. Format został ostatnio zaktualizowany w sposób merytoryczny w 2005 r. (.NET Framework 2.0), aby uwzględnić architekturę typów ogólnych i procesorów.
Format jest niezależny od procesora CPU i systemu operacyjnego. Jest on używany jako część implementacji platformy .NET, które są przeznaczone dla wielu układów i procesorów CPU. Chociaż sam format ma dziedzictwo systemu Windows, można go zaimplementować w dowolnym systemie operacyjnym. Prawdopodobnie jego najważniejszym wyborem dla interoperacyjności systemu operacyjnego jest to, że większość wartości jest przechowywana w formacie little-endian. Nie ma określonej koligacji do rozmiaru wskaźnika komputera (na przykład 32-bitowego, 64-bitowego).
Format zestawu .NET jest również bardzo szczegółowy, dotyczący struktury danego programu lub biblioteki. Opisuje wewnętrzne składniki zestawu, w szczególności odwołania do zestawów oraz zdefiniowane typy i ich wewnętrzną strukturę. Narzędzia lub interfejsy API mogą odczytywać i przetwarzać te informacje w celu wyświetlania lub podejmowania decyzji programowych.
Forma
Format binarny platformy .NET jest oparty na formacie pliku Windows PE . W rzeczywistości biblioteki klas platformy .NET są zgodne z PEs systemu Windows i pojawiają się na pierwszy rzut oka jako biblioteki linków dynamicznych systemu Windows (DLL) lub pliki wykonywalne aplikacji (EXEs). Jest to bardzo przydatna cecha w systemie Windows, gdzie mogą udawać natywne pliki binarne wykonywalne i być traktowane podobnie, jak na przykład ładowanie systemu operacyjnego, narzędzia PE.
Nagłówki zestawów z ECMA 335 II.25.1, Struktura formatu pliku środowiska uruchomieniowego.
Przetwarzanie zestawów
Istnieje możliwość pisania narzędzi lub interfejsów API do przetwarzania zestawów. Informacje o zestawie umożliwiają podejmowanie decyzji programistycznych w czasie wykonywania; przebudowę zestawów; zapewnianie funkcji IntelliSense dla interfejsu API w edytorze; i generowanie dokumentacji. System.Reflection, System.Reflection.MetadataLoadContexti Mono.Cecil to dobre przykłady narzędzi, które są często używane w tym celu.