Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Za pomocą okna dialogowego Menedżer odwołań można dodawać i zarządzać odwołaniami do składników opracowanych przez Ciebie, firmę Microsoft lub inną firmę. Jeśli tworzysz aplikację uniwersalną systemu Windows, projekt automatycznie odwołuje się do wszystkich poprawnych bibliotek DLL zestawu Windows SDK. Podczas tworzenia projektu platformy .NET projekt automatycznie odwołuje się do potrzebnych składników, takich jak zestaw .NET SDK, ale należy dodać odwołania podczas dodawania funkcji. Niektóre interfejsy API platformy .NET są udostępniane w komponentach, które należy dodać ręcznie. Odwołania do składników COM lub składników niestandardowych należy dodać ręcznie.
Jeśli pakiet NuGet jest dostępny dla biblioteki, do której się odwołujesz, użyj Menedżera pakietów NuGet. Zobacz Instalowanie i używanie pakietu NuGet.
Okno dialogowe Menedżer odwołań
Okno dialogowe Menedżer odwołań zawiera różne kategorie po lewej stronie, w zależności od typu projektu:
Zestawy z podgrupami framework i extensions (tylko.NET Framework)
Com wyświetla listę wszystkich składników COM, które są dostępne do odwoływania się
Windows z podgrupami Core i Extensions . Odwołania można eksplorować w zestawach SDK systemu Windows lub rozszerzeniach przy użyciu przeglądarki obiektów.
Przeglądaj z najnowszą podgrupą
Uwaga / Notatka
Opcja Przeglądaj może nie być widoczna w oknie dialogowym Menedżera odwołań, jeśli tworzysz projekty w języku C++.
Dodawanie odwołania
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy węzeł Odwołania lub Zależności , a następnie wybierz pozycję Dodaj odwołanie do projektu, Dodaj odwołanie do projektu udostępnionego lub Dodaj odwołanie COM z menu kontekstowego. (Możesz kliknąć prawym przyciskiem myszy węzeł projektu i wybrać polecenie Dodaj z menu wysuwanego, aby wybrać jedną z tych opcji).
Zostanie otwarty Menedżer odwołań i wyświetli listę dostępnych odwołań według grupy.
Wybierz odwołanie do dodania, a następnie wybierz przycisk OK.
Uwaga / Notatka
Jeśli nie widzisz szukanych odwołań, wybierz pozycję Przeglądaj , aby zlokalizować odwołanie. (Jeśli tworzysz projekty języka C++, może nie być widoczna opcja przeglądania).
Karta "Zestawy" (tylko dla .NET Framework)
Uwaga / Notatka
Karta Zestawy nie jest dostępna dla projektów przeznaczonych dla platformy .NET Core lub .NET 5 lub nowszej. Wybierz pozycję Przeglądaj , aby znaleźć zestaw w systemie plików i dodać go jako odwołanie. Aby wyświetlić przywołyne zestawy w projekcie, rozwiń węzeł Zależności w projekcie. W węźle Zależności możesz kliknąć prawym przyciskiem myszy, aby dodać lub usunąć odwołania do projektu, wyświetlić lub usunąć zestawy w węźle Zestawy albo otworzyć przeglądarkę pakietów NuGet, aby zarządzać pakietami NuGet. Zobacz Instalowanie pakietów i zarządzanie nimi w programie Visual Studio przy użyciu Menedżera pakietów NuGet w dokumentacji pakietu NuGet.
W przypadku projektów programu .NET Framework karta Zestawy zawiera listę wszystkich zestawów platformy .NET, które są dostępne do odwoływania się. Karta Zestawy nie wyświetla żadnych zestawów z globalnej pamięci podręcznej zestawów (GAC), ponieważ zestawy w GAC są częścią środowiska uruchomieniowego. Jeśli wdrażasz lub kopiujesz aplikację zawierającą odwołanie do zestawu zarejestrowanego w funkcji GAC, zestaw nie zostanie wdrożony ani skopiowany z aplikacją, niezależnie od ustawienia Kopiuj lokalnie . Aby uzyskać więcej informacji, zobacz Zarządzanie odwołaniami w projekcie.
Po ręcznym dodaniu odwołania do dowolnej przestrzeni nazw EnvDTE (EnvDTE, EnvDTE80, EnvDTE90, EnvDTE90a lub EnvDTE100) ustaw w oknie Właściwości właściwość odwołania Embed Interop Types na False. Ustawienie tej właściwości na true może powodować problemy z kompilacją z powodu niektórych właściwości envDTE, których nie można osadzać.
Wszystkie projekty desktopowe zawierają niejawne odwołanie do biblioteki mscorlib. Projekty języka Visual Basic zawierają niejawne odwołanie do Microsoft.VisualBasicelementu . Wszystkie projekty zawierają niejawne odwołanie do elementu System.Core, nawet jeśli zostanie usunięte z listy odwołań.
Karta Zestawy składa się z dwóch podtab:
Struktura zawiera listę wszystkich zestawów, które stanowią platformę docelową.
W przypadku projektów, które nie są przeznaczone dla platformy .NET Core lub platformy uniwersalnej systemu Windows, karta Framework wylicza zestawy z docelowej platformy. Użytkownik musi dodać wszelkie odwołania wymagane przez aplikację.
Projekty uniwersalne systemu Windows zawierają odwołania do wszystkich zestawów w docelowej strukturze domyślnie. W projektach zarządzanych węzeł tylko do odczytu w folderze Odwołania w Eksploratorze rozwiązań wskazuje odwołanie do całej struktury. W związku z tym karta Struktura nie wylicza żadnego z zestawów z platformy, a zamiast tego wyświetla następujący komunikat: "Wszystkie zestawy struktury są już przywołyne. Użyj przeglądarki obiektów, aby zapoznać się z odwołaniami w strukturze.
Rozszerzenia zawierają listę wszystkich zestawów opracowanych przez zewnętrznych dostawców składników i kontrolek w celu rozszerzenia docelowej platformy. W zależności od celu aplikacji użytkownika może być konieczne użycie tych zestawów.
Rozszerzenia są wypełniane przez wyliczanie zestawów zarejestrowanych w następujących lokalizacjach:
Maszyna 32-bitowa:
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]
Maszyna 64-bitowa:
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]
Oraz starsze wersje [Identyfikator platformy docelowej]
Jeśli na przykład projekt jest przeznaczony dla programu .NET Framework 4 na maszynie 32-bitowej, rozszerzenia wylicza zestawy zarejestrowane w folderze \Microsoft.NETFramework\v4.0\AssemblyFoldersEx, \Microsoft.NETFramework\v3.5\AssemblyFoldersEx, \Microsoft.NETFramework\v3.0\AssemblyFoldersEx i \Microsoft.NETFramework\v2.0\AssemblyFoldersEx.
Niektóre składniki na liście mogą nie być wyświetlane w zależności od wersji struktury projektu. Taka sytuacja może wystąpić w następujących warunkach:
Składnik korzystający z najnowszej wersji platformy jest niezgodny z projektem przeznaczonym dla starszej wersji.
Aby uzyskać informacje o sposobie zmiany wersji platformy docelowej dla projektu, zobacz Omówienie kierowania platformy.
Składnik korzystający ze starszej wersji programu .NET Framework jest niezgodny z projektem przeznaczonym dla nowszego programu .NET Framework.
Aby uzyskać więcej informacji na temat zgodności wersji między wersjami programu .NET Framework, zobacz Zgodność wersji.
Należy unikać dodawania odwołań do plików do danych wyjściowych innego projektu w tym samym rozwiązaniu, ponieważ może to spowodować błędy kompilacji. Zamiast tego użyj zakładki Projekty okna dialogowego Dodawanie odwołania, aby utworzyć odwołania między projektami. Dzięki temu programowanie zespołowe jest łatwiejsze, umożliwiając lepsze zarządzanie bibliotekami klas tworzonymi w projektach. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z uszkodzonymi odwołaniami.
Uwaga / Notatka
Odwołanie do pliku zamiast odwołania do projektu jest tworzone, jeśli docelowa wersja platformy jednego projektu to .NET Framework 4.5 lub nowsza, a docelowa wersja drugiego projektu to .NET Framework 2, 3, 3.5 lub 4.0. Aby uzyskać więcej informacji na temat platform .NET, .NET Framework i .NET Core, zobacz Co to jest .NET (i .NET Core).
Aby wyświetlić zestaw w oknie dialogowym Dodawanie odwołania
Przenieś lub skopiuj zestaw do jednej z następujących lokalizacji:
Bieżący katalog projektu. (Te zespoły można znaleźć przy użyciu karty Przeglądaj).
Inne katalogi projektów w tym samym rozwiązaniu. (Te zestawy można znaleźć przy użyciu karty Projekty ).
- lub -
Ustaw klucz rejestru określający lokalizację zestawów do wyświetlenia:
W przypadku 32-bitowego systemu operacyjnego dodaj jeden z następujących kluczy rejestru.
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"
W przypadku 64-bitowego systemu operacyjnego dodaj jeden z następujących kluczy rejestru w 32-bitowej gałęzi rejestru.
[HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"
<VersionMinimum> to najniższa wersja platformy, która ma zastosowanie. Jeśli <VersionMinimum> jest w wersji 3.0, foldery określone w AssemblyFoldersEx stosują się do projektów przeznaczonych dla .NET Framework 3.0 lub nowszego.
<AssemblyLocation> to katalog zestawów, które mają być wyświetlane w oknie dialogowym Dodawanie odwołania , na przykład C:\MyAssemblies.
Utworzenie klucza rejestru w
HKEY_LOCAL_MACHINE
węźle umożliwia wszystkim użytkownikom zobaczenie zestawów w określonej lokalizacji w oknie dialogowym Dodaj odwołanie. Utworzenie klucza rejestru w węźleHKEY_CURRENT_USER
ma wpływ tylko na ustawienie bieżącego użytkownika.Otwórz ponownie okno dialogowe Dodawanie odwołania . Zestawy powinny być wyświetlane na karcie .NET . Jeśli tak nie jest, upewnij się, że zestawy znajdują się w określonym katalogu AssemblyLocation , uruchom ponownie program Visual Studio i spróbuj ponownie.
Karta Projekty
Karta Projekty zawiera listę wszystkich zgodnych projektów w bieżącym rozwiązaniu w podtabcie Rozwiązanie .
Projekt może odwoływać się do innego projektu, który jest przeznaczony dla innej wersji platformy. Można na przykład utworzyć projekt przeznaczony dla platformy .NET 8.0, ale odwołuje się do zestawu utworzonego dla platformy .NET 6.0. Jednak projekt .NET 6.0 nie może odwoływać się do projektu .NET Framework 8.0. Aby uzyskać więcej informacji, zobacz przegląd ukierunkowania platformy Framework.
Zakładka Udostępnione projekty
Dodaj odwołanie do udostępnionego projektu na karcie Udostępnione projekty w oknie dialogowym Menedżera odwołań. Udostępnione projekty umożliwiają pisanie wspólnego kodu, do którego odwołuje się wiele różnych projektów aplikacji.
Karta uniwersalnego systemu Windows
Karta Uniwersalny system Windows zawiera listę wszystkich zestawów SDK specyficznych dla platform, na których działają systemy operacyjne Windows. Ta zakładka ma dwie podgrupy: Rdzeń i Rozszerzenia.
Podgrupa podstawowa
Projekty aplikacji uniwersalnych systemu Windows domyślnie odwołują się do zestawu Universal Windows SDK. W związku z tym podgrupa Podstawowa w Menedżerze odwołań nie wylicza żadnych zestawów z zestawu Universal Windows SDK.
Podgrupa rozszerzeń
Lista rozszerzeń użytkowników SDK, które rozwijają docelową platformę systemu Windows.
Zestaw SDK to kolekcja plików, które program Visual Studio traktuje jako pojedynczy składnik. Na karcie Rozszerzenia zestawy SDK, które są stosowane do projektu, z którego wywołano okno dialogowe Menedżera odwołań, są wyświetlane jako pojedyncze wpisy. Po dodaniu do projektu cała zawartość zestawu SDK jest wykorzystywana przez program Visual Studio, dzięki czemu użytkownik nie musi podejmować dalszych działań, aby korzystać z zawartości zestawu SDK w funkcji IntelliSense, przyborniku, projektantach, Bibliotece obiektów, procesie kompilacji, wdrożeniu, debugowaniu i pakowaniu.
Aby uzyskać informacje na temat sposobu wyświetlania zestawu SDK na karcie Rozszerzenia , zobacz Tworzenie zestawu Software Development Kit.
Uwaga / Notatka
Jeśli projekt odwołuje się do zestawu SDK, który zależy od innego zestawu SDK, program Visual Studio nie używa drugiego zestawu SDK, chyba że ręcznie dodasz odwołanie do drugiego zestawu SDK. Po wybraniu zestawu SDK na karcie Rozszerzenia okno dialogowe Menedżer odwołań ułatwia identyfikowanie zależności zestawu SDK, wyświetlając listę zależności w okienku szczegółów.
Jeśli typ projektu nie obsługuje rozszerzeń, ta karta nie jest wyświetlana w oknie dialogowym Menedżer odwołań.
Karta COM
Karta COM zawiera listę wszystkich składników COM, które są dostępne do odwoływania się. Jeśli chcesz dodać odwołanie do zarejestrowanej biblioteki DLL COM zawierającej manifest wewnętrzny, wyrejestruj najpierw bibliotekę DLL. W przeciwnym razie program Visual Studio dodaje odwołanie do biblioteki jako kontrolkę ActiveX, a nie jako natywną bibliotekę DLL.
Jeśli typ projektu nie obsługuje modelu COM, zakładka nie jest wyświetlana w oknie dialogowym Menedżera odwołań.
Przeglądaj
Możesz użyć przycisku Przeglądaj , aby wyszukać składnik lub zestaw w systemie plików.
Projekt może odwoływać się do składnika, który jest przeznaczony dla innej wersji platformy. Można na przykład utworzyć aplikację przeznaczoną dla programu .NET Framework 4.7.2, ale odwołuje się do składnika przeznaczonego dla platformy .NET Framework 4. Aby uzyskać więcej informacji, zobacz przegląd ukierunkowania platformy Framework.
Unikaj dodawania odwołań do plików do danych wyjściowych innego projektu w tym samym rozwiązaniu, ponieważ ta taktyka może powodować błędy kompilacji. Zamiast tego użyj karty Rozwiązanie w oknie dialogowym Menedżer Odwołań, aby utworzyć odwołania pomiędzy projektami. Ułatwia to programowanie zespołowe, umożliwiając lepsze zarządzanie bibliotekami klas tworzonymi w projektach. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z uszkodzonymi odwołaniami.
Nie można przejść do zestawu SDK i dodać go do projektu. Możesz przejść tylko do pliku (na przykład zestawu lub pliku winmd) i dodać go do projektu.
Podczas odwoływania się do pliku WinMD oczekiwany układ polega na tym, że pliki <FileName>.winmd, <FileName>.dll, i <FileName>.pri są umieszczane obok siebie. Jeśli odwołujesz się do usługi WinMD w następujących scenariuszach, niekompletny zestaw plików zostanie skopiowany do katalogu wyjściowego projektu i w związku z tym wystąpią błędy kompilacji i środowiska uruchomieniowego.
Składnik macierzysty: projekt natywny tworzy jeden WinMD dla każdego rozłącznego zestawu przestrzeni nazw i jednej biblioteki DLL zawierającej implementację. Dyski WinMD mają różne nazwy. W przypadku odwoływania się do tego natywnego pliku składnika, program MSBuild nie rozpoznaje, że WinMD o różnych nazwach tworzą jeden składnik. Dlatego kopiowane są tylko identyczne nazwy <FileName>.dll i <FileName.winmd>, a występują błędy środowiska uruchomieniowego. Aby obejść ten problem, utwórz pakiet rozszerzenia SDK. Aby uzyskać więcej informacji, zobacz Tworzenie zestawu Software Development Kit.
Używanie kontrolek: co najmniej kontrolka XAML składa się z <FileName>.winmd, <FileName>.dll, <FileName>.pri, <XamlName>.xaml oraz <ImageName>.jpg. Po skompilowanym projekcie pliki zasobów skojarzone z odwołaniem do pliku nie są kopiowane do katalogu wyjściowego projektu, a kopiowane są tylko <pliki FileName.winmd>, <FileName>.dll i <FileName.pri>. Zarejestrowano błąd kompilacji wskazujący, że brakuje zasobów <XamlName.xaml i ImageName><.jpg.> Aby odnieść sukces, ręcznie skopiuj te pliki zasobów do katalogu wyjściowego projektu na potrzeby kompilacji i debugowania/uruchomienia. Aby obejść ten problem, utwórz pakiet SDK rozszerzenia, wykonując kroki opisane w temacie Tworzenie pakietu Software Development Kit lub edytuj plik projektu, aby dodać następującą właściwość:
<PropertyGroup> <GenerateLibraryOutput>True</GenerateLibraryOutput> </PropertyGroup>
Uwaga / Notatka
W przypadku dodania właściwości kompilacja może działać wolniej.
Najnowszy
Zestawy, COM, Windows i Przeglądaj obsługują kartę Ostatnie , która wylicza listę składników, które zostały ostatnio dodane do projektów.
Szukaj
Pasek wyszukiwania w oknie dialogowym Menedżera Odwołań działa na aktualnie aktywnej karcie. Jeśli na przykład wpiszesz "System" na pasku wyszukiwania, gdy karta Rozwiązanie jest aktywna, wyszukiwanie nie zwraca żadnych wyników, chyba że rozwiązanie ma nazwę projektu zawierającą "System".
Usuwanie odwołania
Nieużywane odwołania dla projektów stylu zestawu SDK w programie Visual Studio można usunąć przy użyciu elementu menu Usuń nieużywane odwołania .
Aby uzyskać więcej informacji, zobacz Usuwanie nieużywanych odwołań.