[ Pobierz całość w formacie PDF ]
.282 Rozdział 7.Rysunek 7.14.Konfiguracja pliku skompilowanego typu assemblyZakładka Binding Policy (polityka powiązań) umożliwia użytkownikowikonfigurację strategii numeracji wersji, na czym skoncentrujemy sięw tym przykładzie.Zakładka Codebases (bazy kodu) umożliwia określenie ścieżkiautomatycznego pobierania i aktualizowania plików skompilowanychtypu assembly.Aby ustawić nową strategię wersji, należy dodać wpisy do zakładki BindingPolicy.Każdy wpis łączy wymaganą wersję (lub zestaw wymaganych wersji) z no-wym numerem wersji.Wymagana wersja to ta, do której próbuje uzyskać dostępaplikacja klienta.Nową wersją jest plik skompilowany typu assembly , któregowspólne środowisko uruchomieniowe (CLR) decyduje się używać zamiast wersjiwymaganej.Zasadniczo.NET przesyła zapotrzebowanie na plik skompilowanytypu assembly do innej wersji tego samego pliku.W poniższej konfiguracji przykładowej (rysunek 7.15) komponent będzieużywał wersji 2.0 w momencie, gdy otrzyma informację o zapotrzebowaniuna wersję z zakresu od 0.0 do 1.9.9.9.Wiadomo, że taka wersja jest wsteczniekompatybilna i zapewnia najlepszą wydajność.Podobna specyfikacja dokony-wana jest dla wersji z zakresu od 3.0 do 3.9.9.9.Jednakże żądanie jakiejkol-wiek innej wersji (takiej jak na przykład 2.5.2) nie będzie przekazane, a uży-wana będzie wymagana wersja pliku skompilowanego typu assembly , jeślitaka istnieje.UWAGA Strategia powiązań odnosi się jedynie do plików skompilowanych typu assem-bly z unikalnymi nazwami i ma sens jedynie wtedy, gdy ma się do czynienia zewspółdzielonymi plikami skompilowanymi typu assembly w GAC (gdzie możekoegzystować równocześnie więcej niż jedna wersja takiego pliku).Kiedy tworzysię zwykły, prywatny plik skompilowany typu assembly , nieposiadający uni-kalnej nazwy, aplikacja klienta będzie po prostu używać dowolnej wersji kom-ponentu, która będzie obecna w aktualnym katalogu.Pliki skompilowane i komponenty 283Rysunek 7.15.Tworzenie strategii wersjiZasobyWiele aplikacji posiada powiązane ze sobą zasoby składniki takie jak plikidzwiękowe, mapy bitowe oraz pokazne bloki tekstu dotyczącego pomocy (któreniekiedy tłumaczone są na wiele różnych języków).Można by przechowywaćwszystkie te informacje w oddzielnych plikach, jednak skomplikowałoby to roz-powszechnianie Twojej aplikacji oraz otworzyło drzwi dla wszelkich rodzajówpodstępnych problemów, takich jak dziwne błędy pojawiające się, gdy pliki tezaginą gdzieś lub zostaną zmodyfikowane poza danym programem.NET zawsze posiadało rozwiązanie dla tego typu problemów, jednakże do-piero w Visual Basic 2005 otrzymało ono wygodny sposób rozwiązywania pro-blemów efektywnie podczas projektowania.Podstawowym zamysłem jest tutaj,że zbierze się te oddzielne pliki i zamieści się je jako dane binarne bezpośredniowewnątrz skompilowanego pliku assembly (plik.dll lub.exe).Spowoduje to,że będą bezpiecznie ukryte przed wścibskimi spojrzeniami oraz manipulacją.Kiedy program użytkownika potrzebuje zasobu, może wyciągnąć go z plikuskompilowanego typu assembly i przekazać do programu w postaci ciągubajtów (lub jakiegoś bardziej dogodnego typu danych).Dodawanie zasobówW celu wypróbowania, jak to działa, należy utworzyć nową aplikację Windows.Następnie dwukrotnie klikamy węzeł My Project w wyszukiwarce rozwiązańSolution Explorer i wybieramy zakładkę Resources (zasoby).Zakładka Resour-ces jest centralnym miejscem, w którym można dodawać zasoby, usuwać je orazzarządzać wszystkimi swoimi zasobami.Zasoby są pogrupowane w oddzielnychkategoriach, opartych na typie zawartości na przykład istnieje oddzielna sek-cja dla łańcuchów tekstowych (które można ręcznie edytować), obrazów, ikon,zawartości audio oraz wszelkich innych typów plików.Typ zasobów, który chcesię zobaczyć, wybierany jest z rozwijanej listy Category (patrz rysunek 7.16).284 Rozdział 7.Rysunek 7.16.Przeglądanie typów zasobówW tym przypadku jesteśmy zainteresowani obrazami, tak więc wybieramykategorię Images (obrazy).Każda z kategorii pokazywana jest w trochę inny sposób kategoria Images prezentuje miniatury wszystkich obrazów.Oczywiście w no-wej aplikacji pracę zaczyna się, nie mając żadnych plików z obrazami.Aby dodać nowy obraz, należy w przyborniku wybrać opcję Add Resor-ce/Add Existing File (Dodaj zasoby/Dodaj istniejący plik).Teraz trzeba przejśćdo właściwego pliku z obrazem, wybrać go i kliknąć OK.Jeżeli nie posiada sięłatwo dostępnego pliku z obrazem, można spróbować wykorzystać któryś zeznajdujących się w katalogu Windows.Kiedy doda się nowe zasoby, Visual Studio nada im taką samą nazwę, jakąnoszą ich bieżące pliki (minus rozszerzenie oraz z niewielkimi zmianami, jeżelinazwa nie jest odpowiednia dla nazwy zmiennej VB).Można jednak zmienić na-zwę jakiegoś zasobu po dodaniu go, klikając prawym klawiszem myszy jego ety-kietę i wybierając opcję Rename (zmień nazwę).Rysunek 7.17 prezentuje sytu-ację, w której dwa przykładowe obrazy zostały dodane jako zasoby.Rysunek 7.17.Dodawanie zasobów z obrazamiPliki skompilowane i komponenty 285Gdy dodasz zasoby, dzieje się coś interesującego.Visual Studio tworzy pod-katalog Resources w katalogu Twojego projektu i kopiuje plik z zasobami do tegonowego podkatalogu.W oknie przeglądarki Solution Explorer możesz zobaczyćten podkatalog wraz ze wszystkimi zasobami, które zawiera (patrz rysunek 7.18).Rysunek 7.18.Pliki zasobów w naszym projekcieInnymi słowy, pliki zródłowe zasobów są przechowywane w pobliżu, jakoczęść naszego projektu.Gdy jednak kompilujemy naszą aplikację, wszystkie tezasoby zostają osadzone wewnątrz pliku skompilowanego assembly.Urok takiegomodelu polega na łatwości aktualizacji zasobów.Wystarczy tylko zastąpić nowsząwersją odpowiedni plik w podkatalogu Resources i potem dokonać rekompilacjinaszej aplikacji.Innymi słowy, możesz bezpiecznie używać zasobu w dziesiąt-kach różnych plików kodu i wciąż aktualizować dane zasoby poprzez wykonaniepojedynczej, prostej operacji kopiuj-wstaw [ Pobierz całość w formacie PDF ]
zanotowane.pl doc.pisz.pl pdf.pisz.pl matkasanepid.xlx.pl
.282 Rozdział 7.Rysunek 7.14.Konfiguracja pliku skompilowanego typu assemblyZakładka Binding Policy (polityka powiązań) umożliwia użytkownikowikonfigurację strategii numeracji wersji, na czym skoncentrujemy sięw tym przykładzie.Zakładka Codebases (bazy kodu) umożliwia określenie ścieżkiautomatycznego pobierania i aktualizowania plików skompilowanychtypu assembly.Aby ustawić nową strategię wersji, należy dodać wpisy do zakładki BindingPolicy.Każdy wpis łączy wymaganą wersję (lub zestaw wymaganych wersji) z no-wym numerem wersji.Wymagana wersja to ta, do której próbuje uzyskać dostępaplikacja klienta.Nową wersją jest plik skompilowany typu assembly , któregowspólne środowisko uruchomieniowe (CLR) decyduje się używać zamiast wersjiwymaganej.Zasadniczo.NET przesyła zapotrzebowanie na plik skompilowanytypu assembly do innej wersji tego samego pliku.W poniższej konfiguracji przykładowej (rysunek 7.15) komponent będzieużywał wersji 2.0 w momencie, gdy otrzyma informację o zapotrzebowaniuna wersję z zakresu od 0.0 do 1.9.9.9.Wiadomo, że taka wersja jest wsteczniekompatybilna i zapewnia najlepszą wydajność.Podobna specyfikacja dokony-wana jest dla wersji z zakresu od 3.0 do 3.9.9.9.Jednakże żądanie jakiejkol-wiek innej wersji (takiej jak na przykład 2.5.2) nie będzie przekazane, a uży-wana będzie wymagana wersja pliku skompilowanego typu assembly , jeślitaka istnieje.UWAGA Strategia powiązań odnosi się jedynie do plików skompilowanych typu assem-bly z unikalnymi nazwami i ma sens jedynie wtedy, gdy ma się do czynienia zewspółdzielonymi plikami skompilowanymi typu assembly w GAC (gdzie możekoegzystować równocześnie więcej niż jedna wersja takiego pliku).Kiedy tworzysię zwykły, prywatny plik skompilowany typu assembly , nieposiadający uni-kalnej nazwy, aplikacja klienta będzie po prostu używać dowolnej wersji kom-ponentu, która będzie obecna w aktualnym katalogu.Pliki skompilowane i komponenty 283Rysunek 7.15.Tworzenie strategii wersjiZasobyWiele aplikacji posiada powiązane ze sobą zasoby składniki takie jak plikidzwiękowe, mapy bitowe oraz pokazne bloki tekstu dotyczącego pomocy (któreniekiedy tłumaczone są na wiele różnych języków).Można by przechowywaćwszystkie te informacje w oddzielnych plikach, jednak skomplikowałoby to roz-powszechnianie Twojej aplikacji oraz otworzyło drzwi dla wszelkich rodzajówpodstępnych problemów, takich jak dziwne błędy pojawiające się, gdy pliki tezaginą gdzieś lub zostaną zmodyfikowane poza danym programem.NET zawsze posiadało rozwiązanie dla tego typu problemów, jednakże do-piero w Visual Basic 2005 otrzymało ono wygodny sposób rozwiązywania pro-blemów efektywnie podczas projektowania.Podstawowym zamysłem jest tutaj,że zbierze się te oddzielne pliki i zamieści się je jako dane binarne bezpośredniowewnątrz skompilowanego pliku assembly (plik.dll lub.exe).Spowoduje to,że będą bezpiecznie ukryte przed wścibskimi spojrzeniami oraz manipulacją.Kiedy program użytkownika potrzebuje zasobu, może wyciągnąć go z plikuskompilowanego typu assembly i przekazać do programu w postaci ciągubajtów (lub jakiegoś bardziej dogodnego typu danych).Dodawanie zasobówW celu wypróbowania, jak to działa, należy utworzyć nową aplikację Windows.Następnie dwukrotnie klikamy węzeł My Project w wyszukiwarce rozwiązańSolution Explorer i wybieramy zakładkę Resources (zasoby).Zakładka Resour-ces jest centralnym miejscem, w którym można dodawać zasoby, usuwać je orazzarządzać wszystkimi swoimi zasobami.Zasoby są pogrupowane w oddzielnychkategoriach, opartych na typie zawartości na przykład istnieje oddzielna sek-cja dla łańcuchów tekstowych (które można ręcznie edytować), obrazów, ikon,zawartości audio oraz wszelkich innych typów plików.Typ zasobów, który chcesię zobaczyć, wybierany jest z rozwijanej listy Category (patrz rysunek 7.16).284 Rozdział 7.Rysunek 7.16.Przeglądanie typów zasobówW tym przypadku jesteśmy zainteresowani obrazami, tak więc wybieramykategorię Images (obrazy).Każda z kategorii pokazywana jest w trochę inny sposób kategoria Images prezentuje miniatury wszystkich obrazów.Oczywiście w no-wej aplikacji pracę zaczyna się, nie mając żadnych plików z obrazami.Aby dodać nowy obraz, należy w przyborniku wybrać opcję Add Resor-ce/Add Existing File (Dodaj zasoby/Dodaj istniejący plik).Teraz trzeba przejśćdo właściwego pliku z obrazem, wybrać go i kliknąć OK.Jeżeli nie posiada sięłatwo dostępnego pliku z obrazem, można spróbować wykorzystać któryś zeznajdujących się w katalogu Windows.Kiedy doda się nowe zasoby, Visual Studio nada im taką samą nazwę, jakąnoszą ich bieżące pliki (minus rozszerzenie oraz z niewielkimi zmianami, jeżelinazwa nie jest odpowiednia dla nazwy zmiennej VB).Można jednak zmienić na-zwę jakiegoś zasobu po dodaniu go, klikając prawym klawiszem myszy jego ety-kietę i wybierając opcję Rename (zmień nazwę).Rysunek 7.17 prezentuje sytu-ację, w której dwa przykładowe obrazy zostały dodane jako zasoby.Rysunek 7.17.Dodawanie zasobów z obrazamiPliki skompilowane i komponenty 285Gdy dodasz zasoby, dzieje się coś interesującego.Visual Studio tworzy pod-katalog Resources w katalogu Twojego projektu i kopiuje plik z zasobami do tegonowego podkatalogu.W oknie przeglądarki Solution Explorer możesz zobaczyćten podkatalog wraz ze wszystkimi zasobami, które zawiera (patrz rysunek 7.18).Rysunek 7.18.Pliki zasobów w naszym projekcieInnymi słowy, pliki zródłowe zasobów są przechowywane w pobliżu, jakoczęść naszego projektu.Gdy jednak kompilujemy naszą aplikację, wszystkie tezasoby zostają osadzone wewnątrz pliku skompilowanego assembly.Urok takiegomodelu polega na łatwości aktualizacji zasobów.Wystarczy tylko zastąpić nowsząwersją odpowiedni plik w podkatalogu Resources i potem dokonać rekompilacjinaszej aplikacji.Innymi słowy, możesz bezpiecznie używać zasobu w dziesiąt-kach różnych plików kodu i wciąż aktualizować dane zasoby poprzez wykonaniepojedynczej, prostej operacji kopiuj-wstaw [ Pobierz całość w formacie PDF ]