Udostępnij za pośrednictwem


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

  1. W menu Plik kliknij Nowy, a następnie kliknij Projekt.

  2. W oknie dialogowym Nowy projekt rozwiń węzeł Inne typy projektów, następnie wybierz opcję Projekty rozszerzalności.

  3. W okienku Szablony wybierz opcję Dodatek do Visual Studio.

  4. 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.

  5. W menu Projekt kliknij opcję Dodaj odwołanie.

  6. Na karcie .NET kliknij pozycję System.Drawing, a następnie kliknij przycisk OK.

  7. W oknie Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt dodatku, kliknij Dodaj, a następnie Nowy element.

  8. 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.

  9. W pliku Resource1.resx wybierz opcję Ikony na liście Ciągi (przycisk najbardziej z lewej na górze).

  10. 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.

  11. Po otwarciu ikony w Edytorze ikon użyj narzędzi, aby ją zmodyfikować.Gdy skończysz, zamknij Edytor ikon i zapisz zmiany.

  12. Wybierz Dodaj nowy ciąg na liście Dodaj zasób.

  13. Kliknij pierwsze pole w kolumnie Nazwa.

    Tworzy to zasób ciągu domyślnego o nazwie String1.

  14. Wpisz Wiersz nr jeden w polu Wartość.

    Jest to wartość dla pierwszego zasobu ciągu.

  15. Utwórz dwa lub więcej zasobów ciągu i nazwij je „Line two” i „Line three”.

  16. Zamknij Edytor zasobów i zapisz zmiany.

  17. W oknie Eksplorator rozwiązań kliknij prawym przyciskiem Resource1.resx, a następnie kliknij polecenie Właściwości.

  18. W oknie Właściwości zmień ustawienie Akcja kompilacji z Zasób osadzony na Brak.

    Zapobiega to wbudowywaniu zasobu w zestaw dodatku.

  19. Kompiluj projekt.

  20. 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.

    1. 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.

    2. 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).

    3. 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).

  21. 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).

  22. Kopiuj plik Add-In Name.resources.dll do nowego folderu \en-US\.

  23. W Eksploratorze plików przejdź do katalogu \Addins\, zazwyczaj w ścieżce ..\Documents and Settings\user name\My Documents\Visual Studio 2010\Addins\.

  24. Zmodyfikuj plik definicji dodatku programu Visual Studio w następujący sposób:

    1. Kliknij prawym przyciskiem myszy plik definicji dodatku dla Twojego dodatku, kliknij Otwórz za pomocą, a następnie kliknij Notatnik.

    2. 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.

    3. Wstaw plik .resources przed rozszerzeniem nazwy zestawu.

  25. Ponownie kompiluj projekt i zaznacz dodatek w Menedżer dodatków.

  26. 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

Koncepcje

Rejestracja dodatków