Udostępnij za pośrednictwem


Porady: dodawanie i usuwanie odwołań za pomocą Menedżera odwołań

Można użyć okna dialogowego Menadżer odwołań aby dodać i zarządzać odwołaniami do składników opracowanych przez użytkownika, Microsoft lub inną firmę.Jeżeli projektujesz aplikację Windows Store, projekt automatycznie odwołuje się do wszystkich SDK Windows 8 i .NET Framework.Jeżeli tworzysz inny typ projektu, musisz ręcznie dodać te odwołania do projektu.

Informacje dotyczące przestrogiPrzestroga

Można dodać odwołania w projektach innego rodzaju przy użyciu okna dialogowego Dodaj odwołanie.Aby uzyskać więcej informacji, zobacz Porady: dodawanie i usuwanie odwołań za pomocą okna dialogowego Dodaj odwołanie.

Dodawanie i usuwanie odwołań

Aby dodać odwołanie w C# lub projekcie Visual Basic

  1. Na pasku menu wybierz Plik, a potem Otwórz.

  2. Przejdź do rozwiązania lub projektu.

  3. W Eksploratorze rozwiązań otwórz menu skrótów dla węzła projektu, a następnie wybierz Dodaj odwołanie.

  4. Określ dodawane odwołania, a następnie wybierz przycisk OK.

Aby usunąć odwołanie, otwórz jego menu skrótów, a następnie wybierz Usuń.

Aby dodać odwołanie w projekcie C++.

  1. Na pasku menu wybierz Plik, a potem Otwórz.

  2. Przejdź do rozwiązania lub projektu.

  3. W Eksploratorze rozwiązań otwórz menu skrótów dla węzła projektu, a następnie wybierz Odwołania.

  4. W oknie dialogowym Strony właściwości wybierz przycisk Dodaj nowe odwołanie.

  5. W oknie dialogowym Dodaj odwołanie określ dodawane odwołania, a następnie wybierz przycisk OK.

Aby usunąć odwołanie, otwórz jego menu skrótów, a następnie wybierz Usuń.

Menadżer odwołań otwiera się i wyświetla dostępne odwołania wg grupy.Typ projektu określa, które z następujących grup się pojawiają:

  • Zestawy z podgrupami Framework i Rozszerzenia.

  • Rozwiązanie z podgrupą Projekty.

  • Okna z podgrupami Podstawowe i Rozszerzenia.Odwołania w Windows SDK lub SDK rozszerzeń można eksplorować przy użyciu Przeglądarki obiektów.

  • Przeglądaj z podgrupą Ostatnie.

Karta Zestawy

Na karcie Zestawy znajduje się lista wszystkich zestawów .NET Framework, które są dostępne dla odwołań.Na karcie Zestawy nie ma żadnych zestawów z globalnej pamięci podręcznej zestawów (GAC), ponieważ zestawy w pamięci podręcznej GAC są częścią środowiska wykonawczego.W przypadku wdrażania lub kopiowania aplikacji zawierającej odwołanie do zestawu, który jest zarejestrowany w GAC, zestaw nie zostanie wdrożony ani skopiowany z aplikacją, bez względu na wartość ustawienia Kopiuj lokalnie.Aby uzyskać więcej informacji na temat odwołań, zobacz Odwołania projektu.

Podczas ręcznego dodawania odwołania do dowolnych przestrzeni nazw EnvDTE (EnvDTE, EnvDTE80, EnvDTE90, EnvDTE90a lub EnvDTE100), ustaw właściwość Osadź typy współdziałania na wartość False w oknie dialogowym Właściwości.Ustawienie tej właściwości na True może spowodować problemy z kompilacją ze względu na pewne właściwości EnvDTE, które nie mogą być osadzone.

Wszystkie projekty pulpitu zawierają niejawne odwołanie do mscorlib.Projekty Visual Basic zawierają niejawne odwołanie do Microsoft.VisualBasic.W Visual Studio 2012, wszystkie projekty zawierają niejawne odwołanie do System.Core, nawet jeśli jest usunięte z listy odwołań.

Jeśli typ projektu nie obsługuje zestawów, karta nie pojawi się w oknie dialogowym Menadżer odwołań.

Karta Zestawy zawiera dwie karty podrzędne:

  1. Framework zawiera listę wszystkich zestawów, które stanowią docelową platformę Framework.

    • Zestawy anonsowane znajdują się liście Pełna platforma Framework i są wyliczone na liście Framework, gdy projekt jest ukierunkowany na Profil docelowej platformy Framework.Zestawy anonsowane są szare, aby odróżnić je od zestawów, które istnieją w profilu docelowej platformy Framework projektu.Na przykład, jeśli projekt jest ukierunkowany na klienta .NET Framework 4, lista zawiera zestawy anonsowane z .NET Framework 4.Gdy użytkownik dodaje zestaw anonsowany, wyświetla się monit, że po zamknięciu okna dialogowego Menadżer odwołań projekt zostanie ukierunkowany na .NET Framework 4 i zostanie dodany zestaw anonsowany.

    • Projekty dla aplikacji Windows Store domyślnie przy tworzeniu projektu zawierają odwołania do wszystkich zestawów w docelowym Środowisko .NET dla aplikacji do Sklepu Windows.W projektach zarządzanych, węzeł tylko do odczytu folderze Odwołania w Eksploratorze rozwiązań wskazuje odwołanie do całej struktury Framework.W związku z tym na karcie Framework nie będzie wyliczony żaden zestaw z Framework. Zamiast tego wyświetli się następujący komunikat: „Do wszystkich zestawów Framework istnieją już odwołania.Użyj przeglądarki obiektów do zbadania odwołań we Framework”. Dla projektów pulpitu karta Framework wylicza zestawy z docelowej platformy Framework i użytkownik musi dodać odwołania wymagane przez tę aplikację.

  2. Rozszerzenia wyświetla listę wszystkich zestawów, które opracowali zewnętrzni dostawcy składników i formantów, aby rozszerzyć docelową platformę Framework.W zależności od celu aplikacji użytkownika, może być konieczne użycie tych zestawów.

    • Rozszerzenia jest wypełniane przez wyliczanie zestawów, które są zarejestrowane w następujących lokalizacjach:

      32-bit machine:
      HKEY_CURRENT_USER\SOFTWARE\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
      64-bit machine:
      HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
      HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
      And older versions of the [Target Framework Identifier]
      

      Na przykład jeśli projekt jest ukierunkowany na .NET Framework 4 na komputerze 32-bitowym, Rozszerzenia wyliczą zestawy, które są zarejestrowane w obszarze \Microsoft\.NETFramework\v4.0\AssemblyFoldersEx\, \Microsoft\.NETFramework\v3.5\AssemblyFoldersEx\, \Microsoft\.NETFramework\v3.0\AssemblyFoldersEx\ i \Microsoft\.NETFramework\v2.0\AssemblyFoldersEx\.

Karta COM

Na karcie COM znajduje się lista wszystkich składników COM, które są dostępne dla odwołań.Jeśli chcesz dodać odwołanie do zarejestrowanej DLL modelu COM, zawierającej manifest wewnętrzny, najpierw wyrejestruj bibliotekę DLL.W przeciwnym razie Visual Studio dodaje odwołanie do zestawu jako formant ActiveX, a nie jako natywną DLL.

Jeśli typ projektu nie obsługuje COM, karta nie pojawi się w oknie dialogowym Menadżer odwołań.

Karta Rozwiązanie

Na karcie Rozwiązanie znajduje się lista wszystkich zgodnych projektów w obrębie bieżącego rozwiązania, na karcie podrzędnej Projekty.

Projekt może się odwoływać do innego projektu, który jest przeznaczony dla innej wersji platformy .NET Framework.Na przykład, można utworzyć projekt ukierunkowany na Program .NET Framework 4, ale taki, który odwołuje się do zestawu zbudowanego dla platformy .NET Framework 2.Jednak projekt .NET Framework 2 nie może się odwoływać do projektu Program .NET Framework 4.Aby uzyskać więcej informacji, zobacz Przeznaczanie dla określonej wersji platformy .NET lub profilu.

Projekt, który jest ukierunkowany na Program .NET Framework 4, jest niezgodny z projektem przeznaczonym dla .NET Framework 4 Client Profile.

W Visual Studio 2012, odwołanie pliku zamiast odwołania projektu jest tworzone, jeśli jeden projekt jest przeznaczony dla .NET Framework 4, a inny projekt jest przeznaczony dla starszej wersji.

Projekt, który jest przeznaczony dla Środowisko .NET dla aplikacji do Sklepu Windows, nie może dodać odwołania projektu do projektu, który jest przeznaczony dla .NET Framework i na odwrót.

Karta Windows

Na karcie Windows są wymienione wszystkie zestawy SDK specyficzne dla platform, na których jest uruchamiany system operacyjny Windows.

Można wygenerować plik WinMD w Visual Studio na dwa sposoby:

  • Projekty zarządzane aplikacji Windows Store: Projekty aplikacji Windows Store mogą generować pliki binarne WinMD przez ustawienie właściwości projektu | Typ danych wyjściowych = Plik WinMD.Nazwa pliku WinMD musi być nadzbiorem przestrzeni nazw wszystkich przestrzeni nazw, które w nim istnieją.Na przykład, jeżeli projekt składa się z przestrzeni nazw A.B i A.B.C, możliwe nazwy dla wygenerowanego WinMD to A.winmd i A.B.winmd.Jeśli użytkownik wejdzie do Właściwości projektu | Nazwa zestawu lub Właściwości projektu | Przestrzeń nazw, wartość, która jest odłączona od zestawu przestrzeni nazw w projekcie lub brakuje nadzbioru przestrzeni nazw w ramach projektu, jest generowane ostrzeżenie kompilacji: 'A.winmd' nie jest prawidłową nazwą pliku .winmd dla tego zestawu.Wszystkie typy w pliku metadanych systemu Windows musi istnieć w podrzędnej przestrzeni nazw nazwy pliku.Typy, które nie istnieją w podrzędnej przestrzeni nazw nazwy pliku, nie mogą być zlokalizowane w czasie wykonywania.W tym zestawie najmniejszą wspólną przestrzenią nazw jest „CSWSClassLibrary1”.Projekt aplikacji pulpitu języka Visual Basic lub Visual C# może używać tylko plików WinMD, które są generowane przy użyciu pakietów SDK Windows 8, znanych jako WinMD producenta (first-party), nie może sam wygenerować plików WinMD.

  • Macierzyste projekty aplikacji Windows Store: Macierzysty plik WinMD składa się z tylko metadanych.Jego realizacja istnieje w oddzielnym pliku DLL.Można produkować macierzyste pliki binarne przez wybranie szablonu projektu składnika wykonawczego Windows w oknie dialogowym Nowy projekt lub rozpoczynając od pustego projektu i modyfikując właściwości projektu, aby wygenerować plik WinMD.Jeżeli projekt zawiera rozłączne przestrzenie nazw, błąd kompilacji poinformuje użytkownika, że należy połączyć ich przestrzenie nazw lub uruchomić narzędzie MSMerge.

Karta Windows składa się z dwóch podgrup.

Podgrupa podstawowa (Core)

Podgrupa podstawowa zawiera listę wszystkich WinMD (dla elementów wykonawczych Windows) w zestawie SDK dla docelowej wersji systemu Windows.

Projekty aplikacji Windows Store domyślnie zawierają odwołania do wszystkich WinMD w SDK Windows 8 przy tworzeniu projektu.W projektach zarządzanych, węzeł tylko do odczytu folderze Odwołania w Eksploratorze rozwiązań wskazuje odwołanie do całego SDK Windows 8.W związku z tym podgrupa Podstawowa w Menedżerze odwołań nie będzie wyliczała żadnych zestawów z SDK Windows 8, zamiast tego zostanie wyświetlony komunikat: „Istnieje już odwołanie do Windows SDK.Użyj przeglądarki obiektów do zbadania odwołań w zestawie SDK systemu Windows”.

W projektach pulpitu. podgrupa Podstawowa nie jest wyświetlana domyślnie.Można dodać środowisko wykonawcze Windows, otwierając menu skrótów dla węzła projektu, wybierając Zwolnij projekt, dodając poniższy fragment kodu i ponownie otwierając projekt (w węźle projektu, wybierz Załaduj ponownie projekt).Gdy wywołujesz okno dialogowe Menadżer odwołań, pojawia się podgrupa Podstawowa.

  <PropertyGroup>
    <TargetPlatformVersion>8.0</TargetPlatformVersion>
  </PropertyGroup>

Pamiętaj, aby w tej podgrupie zaznaczyć pole wyboru Windows.Wówczas można używać elementów środowiska wykonawczego Windows.Jednak warto również dodać System.Runtime, w którym środowisko wykonawcze Windows definiuje kilka standardowych klas i interfejsów, takich jak IEnumerable, które są używane we wszystkich bibliotekach uruchomieniowych Windows.Aby uzyskać informacje o dodawaniu System.Runtime, zobacz Zarządzane aplikacje pulpitu i środowisko wykonawcze Windows.

Podgrupa Rozszerzenia

Rozszerzenia wyświetla pakiety SDK użytkownika, które rozszerzają docelową platformę Windows.Ta karta jest wyświetlana tylko dla projektów aplikacji Windows Store.Projekty pulpitu nie będzie wyświetlały tej karty, ponieważ mogą one wykorzystywać tylko pliki .winmd pierwszego producenta.

Zestaw SDK jest zbiorem plików, który program Visual Studio traktuje jako samodzielny składnik.Na karcie Rozszerzenia, SDK, które mają zastosowanie do projektu, z którego okno dialogowe Menadżer odwołań zostało wywołane, są wymienione jako pojedyncze wpisy.Po dodaniu do projektu, cała zawartość zestawu SDK jest wykorzystywana przez program Visual Studio, aby użytkownik nie musiał podejmować dalszych działań, aby wykorzystać zawartość zestawu SDK w technologii IntelliSense, przyborniku, projektantach, przeglądarce obiektów, kompilacji, wdrażaniu, debugowaniu i pakowaniu.Aby uzyskać informacje o wyświetlaniu SDK na karcie Rozszerzenia, zobacz Jak: Tworzenie zestawu Software Development Kit.

[!UWAGA]

Jeśli projekt odwołuje się do zestawu SDK, który zależy od innego zestawu SDK, Visual Studio nie wykorzystuje drugiego zestawu SDK, chyba że użytkownik ręcznie doda odwołanie do drugiego zestawu SDK.Kiedy użytkownik wybierze SDK na karcie Rozszerzenia okno dialogowe Menadżer odwołań pomaga użytkownikowi określić zależności zestawu SDK poprzez wyświetlanie nie tylko nazwy i wersji zestawu SDK, ale także nazwy wszelkich zależności zestawu SDK, w okienku szczegółów.Jeśli użytkownik nie zauważy zależności i doda tylko zestaw SDK, program MSBuild będzie monitował użytkownika, aby dodać zależności.

Jeśli typ projektu nie obsługuje Rozszerzeń, karta nie pojawia się w oknie dialogowym Menadżer odwołań.

Przycisk Przeglądaj

Można użyć przycisku Przeglądaj, aby wyszukać składnik w systemie plików.

Projekt może się odwoływać do składnika, który jest przeznaczony dla innej wersji platformy .NET Framework.Na przykład, można utworzyć aplikację, która jest przeznaczona dla .NET Framework 4 Client Profile, który odwołuje się do składnika przeznaczonego dla .NET Framework 2.Aby uzyskać więcej informacji, zobacz Przeznaczanie dla określonej wersji platformy .NET lub profilu.

Nie należy dodawać odwołań do pliku do danych wyjściowych innego projektu w tym samym rozwiązaniu, ponieważ takie rozwiązanie może spowodować błędy kompilacji.Zamiast tego należy użyć zakładki Rozwiązanie w oknie dialogowym Menadżer odwołań, aby utworzyć odwołania między projektami.Takie podejście ułatwia projektowanie zespołowe poprzez umożliwienie lepszego zarządzania bibliotekami klas utworzonymi w projektach.Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z przerwanymi odwołaniami.

Nie można przejść do zestawu SDK i dodać go do projektu.Można przeglądać tylko w poszukiwaniu pliku (na przykład zestawu lub .winmd) i dodać go do projektu.

Gdy tworzysz odwołanie pliku do WinMD, oczekiwany układ jest taki, że pliki FileName.winmd, FileName.dll i FileName.pri są umieszczane obok siebie.Jeśli odwołujesz się do WinMD w następujących scenariuszach, niepełny zestaw plików zostanie skopiowany do katalogu wyjściowego projektu i, w związku z tym, wystąpią błędy kompilacji i czasu wykonywania.

  • Składnik macierzysty: Macierzysty projekt utworzy jeden WinMD dla każdego rozłącznego zestawu przestrzeni nazw i jedną bibliotekę DLL, która składa się z implementacji.Pliki WinMD będą miały odmienne nazwy.Przy odwoływaniu się do tego pliku składnika macierzystego, MSBuild nie rozpozna, że pliki WinMD o różnych nazwach stanowią jeden składnik.W związku z tym, tylko identycznie nazwane pliki FileName.dll i FileName.winmd zostaną skopiowane i wystąpią błędy czasu wykonywania.Aby obejść ten problem, należy utworzyć SDK rozszerzenia.Aby uzyskać więcej informacji, zobacz Jak: Tworzenie zestawu Software Development Kit.

  • Używanie formantów: Formant XAML składa się co najmniej z plików FileName.winmd, FileName.dll, FileName.pri, XamlName.xaml i ImageName.jpg.Podczas tworzenia projektu, pliki zasobów, które są skojarzone z odwołaniem do pliku, nie będą skopiowane do katalogu wyjściowego projektu, zostaną skopiowane tylko FileName.winmd, FileName.dll i FileName.pri.Błąd kompilacji jest rejestrowany, aby informować użytkownika, że brakuje zasobów XamlName.xaml i ImageName.jpg.Aby kompilacja się powiodła, trzeba ręcznie skopiować te pliki zasobów do katalogu wyjściowego projektu dla kompilacji i debugowania/czasu wykonywania.Aby obejść ten problem, utwórz Rozszerzenie SDK, wykonując kroki opisane w Jak: Tworzenie zestawu Software Development Kit, lub wyedytuj plik projektu, aby dodać następującą właściwość:

    <PropertyGroup>
    <GenerateLibraryOutput>True</GenerateLibraryOutput>
    </PropertyGroup>
    

    [!UWAGA]

    Jeśli dodasz właściwość, kompilacja może być wolniejsza.

Ostatnie

Każda z kart Zestawy, COM, Windows i Przeglądaj obsługuje kartę Najnowsze, która wylicza listę składników ostatnio dodanych do projektów.

Wyszukaj

Pasek wyszukiwania w oknie dialogowym Menadżer odwołań działa dla karty, na której jest ustawiony fokus.Na przykład, jeśli użytkownik wpisze „System” na pasku wyszukiwania, gdy fokus jest na karcie Rozwiązanie, wyszukiwanie nie zwraca żadnych wyników, chyba że rozwiązanie składa się z nazwy projektu, która zawiera „System”.

Zobacz też

Zadania

Porady: dodawanie i usuwanie odwołań za pomocą okna dialogowego Dodaj odwołanie

Koncepcje

Zarządzanie odwołaniami projektu