Rozwiązywanie zestawów w czasie projektowania

Po dodaniu odwołania do zestawu za pośrednictwem karty .NET w oknie dialogowym Dodawanie odwołania odwołanie wskazuje na zestaw odwołania pośredniego; oznacza to, że zestaw, który zawiera wszystkie informacje o typie i podpisie, ale nie musi zawierać żadnego kodu. Karta .NET zawiera odwołania do zestawów, które odpowiadają zestawom środowiska uruchomieniowego w .NET Framework. Ponadto zawiera listę zestawów odwołujących się do zestawów środowiska uruchomieniowego w zarejestrowanych folderach AssemblyFoldersEx, które są używane przez inne firmy.

Wieloadyscyjna obsługa

Visual Studio umożliwia określenie wersji docelowych .NET Framework uruchamianych w wielu wersjach .NET Framework. Po wywłaszczeniu nowej wersji .NET Framework framework można go zainstalować przy użyciu pakietu docelowego i będzie on automatycznie pokazywany jako element docelowy w Visual Studio.

Jak działa rozdzielczość typu

W czasie uruchamiania CLR rozwiązuje typy w zestawie, szukając w gacie GAC, katalogu bin i we wszystkich ścieżkach sondowania. Jest to obsługiwane przez moduł ładujący fusion. Ale skąd moduł ładujący fusion wie czego szukać? Zależy to od rozdzielczości wykonanej w czasie projektowania, podczas zbudowania aplikacji.

Podczas kompilacji, kompilator rozwiązuje typy aplikacji używając zestawów odwołania. W .NET Framework wersjach 2.0, 3.0, 3.5, 4, 4.5 i 4.5.1 zestawy odwoływne są .NET Framework instalacji.

Zestawy odwołania są dostarczane przez pakiet docelowy, który jest dostarczany z odpowiednią wersją .NET Framework SDK. Framework sam w sobie dostarcza tylko zestawy środowiska uruchomieniowego. W celu skompilowania aplikacji należy zainstalować zarówno .NET Framework jak i odpowiadające mu .NET Framework SDK.

W przypadku elementem docelowym jest konkretny .NET Framework, system kompilacji rozpoznaje wszystkie typy używając zestawów odwołań w pakiecie docelowym. W czasie wykonywania program ładujący fusion rozwiązują te same typy do zestawów środowiska uruchomieniowego, które zwykle znajdują się w gałędach GAC.

Jeśli zestawy odwołań nie są dostępne, wtedy system kompilacji rozwiązuje typy zestawów używając zestawów środowiska uruchomieniowego. Ponieważ zestawy środowiska uruchomieniowego w gałązie GAC nie są rozróżniane za pomocą numerów wersji pomocniczej, możliwe jest, że rozwiązanie zostanie wykonane dla niewłaściwego zestawu. Może się to zdarzyć gdy na przykład istnieje odwołanie do nowej metody wprowadzonej w .NET Framework w wersji 3.5 podczas gdy wersją docelową jest 3.0 Kompilacja zostanie wykonana pomyślnie, a aplikacja będzie działać na komputerze kompilacji, ale nie będzie działać na komputerze, na którym nie ma zainstalowanej wersji 3.5.

Pakiet docelowy, który jest teraz dostarczany z zestawem .NET Framework SDK, zawiera listę wszystkich zestawów środowiska uruchomieniowego w tej wersji programu Framework, nazywaną listą redystrybucji (redist), co uniemożliwia systemowi kompilacji rozpoznawania typów w niewłaściwej wersji zestawu.

Zobacz też