Oba będą działać w tym samym CLR (w tym przypadku 4,5).
Z .NET < = 3.5, możesz mieć przypadki, w których zostanie załadowanych wiele wersji tego samego zestawu (tak, może się zdarzyć, że ADO.NET załaduje wersję 4.0, a także załaduje 4.5 w tej samej domenie aplikacji). O ile mi wiadomo, wyeliminowali to z CLR 4.0 (lub przynajmniej sprawili, że stało się to mniej).
Edycja: BTW - istnieje różnica między CLR (środowiskiem wykonującym twój kod) a wersjami ładowanych zestawów.
Wersja CLR reguluje możliwości procesu - co może zrobić, jakie wersje złożeń może załadować. Na przykład ,, CLR 4.5 może ładować prawie wszystkie zespoły (1.0 -> 4.5). Wszystkie będą działały pod 4.5 CLR. Ponadto nie można uruchamiać dwóch wersji CLR z tego samego pasma kompatybilnego w tym samym procesie. CLR 4.5 i 4.0 oba są uznawane za to samo pasmo zsynchronizowane, więc jeden lub drugi będzie ładowany. CLR 1.0, 1.1, 2.0, 3.0 i 3.5 są rozpatrywane w tym samym zakresie zgodności, więc tylko jeden z nich może się wczytać. Możesz jednak załadować CLR 3.5 i CLR 4.5 w tym samym czasie.
Pomyślałem, że jeśli odwołasz się do zestawu, który kieruje do innej struktury, masz błędy kompilacji. –
Tylko jeśli istnieje przerwa binarna (które są nieliczne i niejednoznaczne) lub jeśli próbujesz odwołać się do zespołu kierującego na bardziej zaawansowaną wersję CLR (tak, zespół 2.0 odwołujący się do zestawu 4.0 się zepsuje, przeciwnie tak nie będzie) –
myślę, że złamie się również, jeśli określisz inną wersję zestawu. Na przykład masz kompilację złożoną w wersji 4.0 i określoną w pliku web.config (lub gdziekolwiek jest ona ładowana) 3.5 – Thea