Wskazówki: tworzenie zarządzanych satelickich bibliotek DLL
W programie vs_dev12 dodatki są przestarzałe.Zalecamy uaktualnienie dodatków do rozszerzeń VSPackage.Aby uzyskać więcej informacji o uaktualnianiu, zobacz Często zadawane pytania: konwertowanie dodatków na rozszerzenia pakietu VSPackage.
Biblioteki DLL Satellite są przydatne do przechowywania plików zasobów, takich jak na przykład ikony, obrazy bitmapowe i ciągi zasobów, w scentralizowanej lokalizacji do wykorzystania w innych projektach automatyzacji oraz dodatkach.Biblioteki DLL Satellite mogą być ponownie wykorzystywane przez inne projekty lub dodatki.Ponadto oddzielenie ciągów i innych zasobów od dodatku ułatwia scentralizowane zmiany i lokalizowania zasobów w różnych językach.
Starsze wersje programu Visual Studio używają wpisów rejestru SatelliteDllPath i SatelliteDllName.Jednakże wpisy rejestru są teraz zastąpione przez wpisy w pliku rejestracji .addin.Gdy potrzebujesz zasobu w projekcie, ładujesz dodatek i Visual Studio pyta o niego bibliotekę DLL.W związku z tym nie musisz kodować sprzętowo ścieżki zasobu.Ponadto, zamiast przy użyciu metody #id do określania identyfikatora zasobu, użyj @resource name (gdzie resource name jest nazwą zasobu, na przykład @Icon1 lub @String1), symbol @ mówi Visual Studio, aby szukać w towarzyszącej bibliotece DLL zasobu.
Utwórz zarządzaną satelitarną bibliotekę DLLs
Poniższe kroki pokazują jak utworzyć satelitarną bibliotekę DLL, która zawiera ikonę i zasoby ciągu, i zmodyfikować dodatek w celu dostępu do tych zasobów.Używa dodatku mającego okno dialogowe Informacje, które wymaga zasobów ikon i ciągów.Zazwyczaj jeśli tworzysz dodatek, który ma okno dialogowe Informacje, zapewniana jest również ikona domyślna oraz tekst.Poniższe kroki pokazują również jak zastąpić domyślną ikonę i tekst przy użyciu własnych.
Aby utworzyć zarządzaną satelitarną bibliotekę DLL
W menu Plik kliknij Nowy, a następnie kliknij Projekt.
W oknie dialogowym Nowy projekt rozwiń węzeł Inne typy projektów, następnie wybierz opcję Projekty rozszerzalności.
W okienku Szablony wybierz opcję Dodatek do Visual Studio.
Postępuj zgodnie z instrukcjami w kreatorze dodatków programu Visual Studio.Na stronie Wybór informacji "Pomoc na temat" wybierz opcję Tak, chciałbym aby dodatek zawierał okno informacji "O programie".Zaakceptuj wybór domyślny pozostałych.
W menu Projekt kliknij opcję Dodaj odwołanie.
Na karcie .NET kliknij pozycję System.Drawing, a następnie kliknij przycisk OK.
W oknie Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt dodatku, kliknij Dodaj, a następnie Nowy element.
Wybierz Plik zasobów w Szablonach i kliknij Dodaj.Akceptuj jego nazwę domyślną (Resources1.resx).
Domyślnie to tworzy plik zasobów o nazwie Resource1.resx i uruchamia Visual Studio Edytor zasobów.
W pliku Resource1.resx wybierz opcję Ikony na liście Ciągi (przycisk najbardziej z lewej na górze).
Na liście Dodaj zasób kliknij pozycję Dodać nową ikonę.Na razie pozostaw nazwę domyślną (Icon1.bmp) i kliknij przycisk Dodaj.
Można też wybrać istniejący obraz mapy bitowej dla ikony, jeśli jest to 16 x 16 pikseli, 16 kolorów lub True Color.
Po otwarciu ikony w Edytorze ikon użyj narzędzi, aby ją zmodyfikować.Gdy skończysz, zamknij Edytor ikon i zapisz zmiany.
Wybierz Dodaj nowy ciąg na liście Dodaj zasób.
Kliknij pierwsze pole w kolumnie Nazwa.
Tworzy to zasób ciągu domyślnego o nazwie String1.
Wpisz Wiersz nr jeden w polu Wartość.
Jest to wartość dla pierwszego zasobu ciągu.
Utwórz dwa lub więcej zasobów ciągu i nazwij je „Line two” i „Line three”.
Zamknij Edytor zasobów i zapisz zmiany.
W oknie Eksplorator rozwiązań kliknij prawym przyciskiem Resource1.resx, a następnie kliknij polecenie Właściwości.
W oknie Właściwości zmień ustawienie Akcja kompilacji z Zasób osadzony na Brak.
Zapobiega to wbudowywaniu zasobu w zestaw dodatku.
Kompiluj projekt.
Utwórz satelitarną bibliotekę DLL zasobów.Odbywa się w dwóch etapach przy użyciu ResGen, a następnie AL (Assembly Linker) do budowania towarzyszącej biblioteki DLL.
Kliknij przycisk Start, Wszystkie programy, Microsoft Visual Studio 2010, Visual Studio Tools, a następnie kliknij Wiersz polecenia programu Microsoft Visual Studio (2010).
Ustawia to pewne zmienne środowiskowe, aby łatwiej można było odwoływać się do narzędzi Visual Studio.
W wierszu polecenia przejdź do folderu zawierającego plik .resx i typ Resgen Resource1.resx.
Resgen to narzędzie, które kompiluje określony plik .resx w pliku .resources.Aby uzyskać więcej informacji, zobacz Resgen.exe (Generator pliku zasobów).
W wierszu poleceń wpisz AL.exe /embed:Resource1.resources /culture:en-US /out:Add-In Name.resources.dll.
Zamień Add-In Name przy użyciu nazwy dodatku.Na przykład jeśli Twój projekt dodatku ma nazwę MyAddin, przełącznikiem /out: byłby /out:MyAddin.resources.dll.Nazwa /out: musi odpowiadać nazwie projektu; w przeciwnym razie nie będzie możliwe znalezienie zasobu DLL.
AL.exe (Assembly Linker) zamienia plik .resources określonej biblioteki DLL, która może odwoływać się w dodatku. (Można przełączyć /culture język inny niż angielski). Aby uzyskać więcej informacji, zobacz Al.exe (Konsolidator zestawów).
W Eksploratorze plików przejdź do katalogu bibliotek DLL dodatku i utwórz folder o nazwie \en-US\ (dla angielskiego-Stany Zjednoczone, ponieważ jako wartość kultury w pliku AL.exe jest wpisane en-US).
Kopiuj plik Add-In Name.resources.dll do nowego folderu \en-US\.
W Eksploratorze plików przejdź do katalogu \Addins\, zazwyczaj w ścieżce ..\Documents and Settings\user name\My Documents\Visual Studio 2010\Addins\.
Zmodyfikuj plik definicji dodatku programu Visual Studio w następujący sposób:
Kliknij prawym przyciskiem myszy plik definicji dodatku dla Twojego dodatku, kliknij Otwórz za pomocą, a następnie kliknij Notatnik.
Zastąp następujące tagi:
<FriendlyName>@String1</FriendlyName> <Description>@String2</Description> <AboutBoxDetails>@String3</AboutBoxDetails> <AboutIconData>@Icon1</AboutIconData>
Wpis Friendlyname zmienia nazwę dodatku dla Line1, co wprowadziłeś dla String1 w pliku Resource1.resx.Opis w oknie dialogowym Informacje zawierają teraz "Wiersz2", a wpis AboutIconData odpowiada ikonie utworzonej dla okna dialogowego Informacje.
Wstaw plik .resources przed rozszerzeniem nazwy zestawu.
Ponownie kompiluj projekt i zaznacz dodatek w Menedżer dodatków.
W menu Pomoc kliknij polecenie Microsoft Visual Studio — informacje i wybierz pozycję Wiersz1 (nazwa dodatku) na liście.
Wyświetlana jest niestandardowa ikona i trzy ciągi utworzone przez użytkownika.
Zobacz też
Zadania
Porady: dostęp do zasobów w satelickich bibliotekach DLL