Sdílet prostřednictvím


Přidání nebo odebrání odkazů pomocí správce odkazů

Dialogové okno Správce odkazů můžete použít k přidání a správě odkazů na komponenty, které vyvíjíte vy, Microsoft nebo jiná společnost. Pokud vyvíjíte univerzální aplikaci pro Windows, váš projekt automaticky odkazuje na všechny správné knihovny DLL sady Windows SDK. Když vytvoříte projekt .NET, projekt automaticky odkazuje na potřebné součásti, jako je například sada .NET SDK, ale při přidávání funkcí je potřeba přidat odkazy. Některá rozhraní .NET API jsou vystavená v komponentách, které musíte přidat ručně. Odkazy na komponenty modelu COM nebo vlastní komponenty musí být přidány ručně.

Dialogové okno Správce odkazů

Dialogové okno Správce odkazů zobrazuje různé kategorie na levé straně v závislosti na typu projektu:

  • Sestavení s podskupinami framework a rozšíření (pouze .NET Framework)

  • Com obsahuje seznam všech součástí modelu COM, které jsou k dispozici pro odkazování

  • Projekty

  • Sdílené projekty

  • Windows s podskupinami Core a Extensions Odkazy v sadě Windows SDK nebo sadách SDK rozšíření můžete prozkoumat pomocí prohlížeče objektů.

  • Procházet s nedávnoupodskupinou

    Poznámka:

    Pokud vyvíjíte projekty C++, nemusí se v dialogovém okně Správce odkazů zobrazit procházení .

Přidání odkazu

  1. V Průzkumník řešení klikněte pravým tlačítkem myši na uzel Odkazy nebo Závislosti a pak v místní nabídce zvolte Přidat odkaz na projekt, Přidat odkaz na sdílený projekt nebo Přidat odkaz modelu COM. (Můžete kliknout pravým tlačítkem myši na uzel projektu a vybrat Pokud si chcete vybrat z těchto možností, přidejte je z rozevírací nabídky.)

    Screenshot of the Add Reference dialog from the context menu in Solution Explorer.

    Otevře se Správce odkazů a zobrazí seznam dostupných odkazů podle skupiny.

    Screenshot of the Reference Manager dialog box in Visual Studio.

  2. Vyberte odkaz, který chcete přidat, a pak vyberte OK.

    Poznámka:

    Pokud odkaz, který hledáte, nevidíte, vyhledejte ho výběrem možnosti Procházet . (Pokud vyvíjíte projekty C++, možná nevidíte možnost procházení.)

Karta Sestavení (pouze .NET Framework)

Poznámka:

Karta Sestavení není k dispozici pro projekty, které cílí na .NET Core nebo .NET 5 a novější, protože sestavení pro tyto projekty jsou přidána buď jako balíčky NuGet, nebo jsou zahrnuta cílením na konkrétní verzi .NET. Pokud chcete zobrazit odkazovaná sestavení v projektu, rozbalte uzel Závislosti v projektu a prohlédněte si architektury. Z uzlu Závislosti můžete kliknutím pravým tlačítkem přidat nebo odebrat odkazy na projekt nebo otevřít prohlížeč balíčků NuGet pro správu balíčků NuGet. Viz Instalace a správa balíčků v sadě Visual Studio pomocí Správce balíčků NuGet v dokumentaci NuGet.

Pro projekty rozhraní .NET Framework jsou na kartě Sestavení uvedeny všechna sestavení .NET, která jsou k dispozici pro odkazování. Karta Sestavení nevypisuje žádná sestavení z globální mezipaměti sestavení (GAC), protože sestavení v GAC jsou součástí prostředí za běhu. Pokud nasadíte nebo zkopírujete aplikaci, která obsahuje odkaz na sestavení zaregistrované v GAC, sestavení se nenasadí ani nekopíruje s aplikací bez ohledu na nastavení Kopírovat místní . Další informace naleznete v tématu Správa odkazů v projektu.

Když ručně přidáte odkaz na některý z oborů názvů EnvDTE (EnvDTE, EnvDTE80, EnvDTE90, EnvDTE90anebo EnvDTE100), nastavte vlastnost Vložit typy interop odkazu na False v okně Vlastnosti . Nastavení této vlastnosti na hodnotu True může způsobit problémy se sestavením kvůli určitým vlastnostem EnvDTE, které nelze vložit.

Všechny desktopové projekty obsahují implicitní odkaz na mscorlib. Projekty jazyka Visual Basic obsahují implicitní odkaz na Microsoft.VisualBasic. Všechny projekty obsahují implicitní odkaz na System.Core, i když jsou odebrány ze seznamu odkazů.

Karta Sestavení se skládá ze dvou dílčích tabulek:

  1. Rozhraní uvádí seznam všech sestavení, která tvoří cílovou architekturu.

    Pro projekty, které nejsou cílem .NET Core nebo Univerzální platforma Windows, karta Framework vytvoří výčet sestavení z cílové architektury. Uživatel musí přidat všechny odkazy, které aplikace vyžaduje.

    Univerzální projekty Windows obsahují ve výchozím nastavení odkazy na všechna sestavení v cílovém rozhraní. Ve spravovaných projektech označuje uzel jen pro čtení ve složce Reference v Průzkumník řešení označuje odkaz na celou architekturu. Proto karta Framework nevypíše žádná sestavení z rozhraní a místo toho zobrazí následující zprávu: "Všechna sestavení framework jsou již odkazována. Pomocí prohlížeče objektů prozkoumejte odkazy v rozhraní.

  2. Rozšíření obsahují seznam všech sestavení, která vyvinuli externí dodavatelé komponent a ovládacích prvků, aby rozšířili cílovou architekturu. Podle účelu dané aplikace mohou být tato sestavení potřebná.

    Rozšíření jsou naplněna výčetm sestavení registrovaných v následujících umístěních:

    32bitový počítač:

    • 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]

    64bitový počítač:

    • 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]

    A starší verze [Identifikátor cílové architektury]

    Pokud například projekt cílí na rozhraní .NET Framework 4 na 32bitovém počítači, rozšíření vytvoří výčet sestavení zaregistrovaných v \Microsoft.NETFramework\v4.0\AssemblyFoldersEx, \Microsoft.NETFramework\v3.5\AssemblyFoldersEx, \Microsoft.NETFramework\v3.0\AssemblyFoldersEx a \Microsoft.NETFramework\v2.0\AssemblyFoldersEx.

Některé komponenty v seznamu se nemusí zobrazit v závislosti na verzi architektury vašeho projektu. K této situaci může dojít za následujících podmínek:

  • Komponenta, která používá nedávnou verzi architektury, není kompatibilní s projektem, který cílí na starší verzi.

    Informace o tom, jak změnit verzi cílové architektury pro projekt, naleznete v tématu Přehled cílení architektury.

  • Komponenta, která používá starší verzi rozhraní .NET Framework, není kompatibilní s projektem, který cílí na novější rozhraní .NET Framework.

Další informace o kompatibilitě verzí mezi verzemi rozhraní .NET Framework naleznete v tématu Kompatibilita verzí.

Měli byste se vyhnout přidávání odkazů na soubory do výstupů jiného projektu ve stejném řešení, protože by to mohlo způsobit chyby kompilace. Místo toho použijte kartu Projekty v dialogovém okně Přidat odkaz k vytvoření odkazů mezi projekty. Tento postup usnadňuje týmový vývoj tím, že umožňuje lepší správu knihoven tříd, které vytvoříte ve svých projektech. Další informace najdete v tématu Řešení potíží s poškozenými odkazy.

Poznámka:

Odkaz na soubor místo odkazu na projekt se vytvoří, pokud cílová verze rozhraní jednoho projektu je .NET Framework 4.5 nebo novější a cílová verze druhého projektu je .NET Framework 2, 3, 3.5 nebo 4.0. Další informace o .NET, .NET Framework a .NET Core naleznete v tématu Co je .NET (a .NET Core).

Zobrazení sestavení v dialogovém okně Přidat odkaz

  • Přesuňte nebo zkopírujte sestavení do jednoho z následujících umístění:

    • Aktuální adresář projektu. (Tato sestavení můžete najít pomocí Karta Procházet .)

    • Ostatní adresáře projektů ve stejném řešení. (Tato sestavení můžete najít pomocí Karta Projekty .)

    - nebo -

  • Nastavte klíč registru, který určuje umístění sestavení, která se mají zobrazit:

    Pro 32bitový operační systém přidejte jeden z následujících klíčů registru.

    • [HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"

    • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"

    V 64bitovém operačním systému přidejte do 32bitového podregistru registru jeden z následujících klíčů registru.

    • [HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"

    • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"

    <VersionMinimum> je nejnižší verze architektury, která se vztahuje. Pokud <je versionMinimum> v3.0, složky zadané v AssemblyFoldersEx platí pro projekty, které cílí na rozhraní .NET Framework 3.0 a novější.

    <AssemblyLocation> je adresář sestavení, která chcete zobrazit v dialogovém okně Přidat odkaz , například C:\MyAssemblies.

    Vytvoření klíče registru pod HKEY_LOCAL_MACHINE uzlem umožňuje všem uživatelům zobrazit sestavení v zadaném umístění v dialogovém okně Přidat odkaz . Vytvoření klíče registru pod HKEY_CURRENT_USER uzlem má vliv pouze na nastavení pro aktuálního uživatele.

    Znovu otevřete dialogové okno Přidat odkaz. Sestavení by se měla zobrazit na kartě .NET . Pokud ne, ujistěte se, že jsou sestavení umístěna v zadaném adresáři AssemblyLocation , restartujte Visual Studio a zkuste to znovu.

Karta Projekty

Na kartě Projekty jsou uvedeny všechny kompatibilní projekty v rámci aktuálního řešení v podtabě Řešení .

Projekt může odkazovat na jiný projekt, který cílí na jinou verzi architektury. Můžete například vytvořit projekt, který cílí na .NET 8.0, ale odkazuje na sestavení vytvořené pro .NET 6.0. Projekt .NET 6.0 však nemůže odkazovat na projekt .NET Framework 8.0. Další informace naleznete v tématu Přehled cílení architektury.

Karta Sdílené projekty

Přidejte odkaz na sdílený projekt na kartě Sdílené projekty v dialogovém okně Správce odkazů. Sdílené projekty umožňují napsat běžný kód, na který odkazuje mnoho různých projektů aplikací.

Karta Univerzální systém Windows

Na kartě Univerzální systém Windows jsou uvedeny všechny sady SDK specifické pro platformy, na kterých běží operační systémy Windows. Tato karta obsahuje dvě podskupiny: Jádro a rozšíření.

Základní podskupina

Projekty univerzálních aplikací pro Windows mají ve výchozím nastavení odkaz na univerzální sadu Windows SDK. Proto podskupina Core ve Správci odkazů nevypíše žádná sestavení ze sady Universal Windows SDK.

Podskupina rozšíření

Rozšíření obsahuje seznam uživatelských sad SDK, které rozšiřují cílovou platformu Windows.

Sada SDK je kolekce souborů, které sada Visual Studio považuje za jedinou součást. Na kartě Rozšíření jsou sady SDK, které platí pro projekt, ze kterého bylo vyvoláno dialogové okno Správce odkazů, uvedeny jako jednotlivé položky. Při přidání do projektu se veškerý obsah sady SDK využívá v sadě Visual Studio tak, aby uživatel nemusel provádět žádné další akce k využití obsahu sady SDK v IntelliSense, sadě nástrojů, návrhářích, prohlížeči objektů, sestavení, nasazení, ladění a balení.

Informace o tom, jak zobrazit sadu SDK na kartě Rozšíření , naleznete v tématu Vytvoření sady Software Development Kit.

Poznámka:

Pokud projekt odkazuje na sadu SDK, která závisí na jiné sadě SDK, Visual Studio druhou sadu SDK nespotřebuje, pokud ručně nepřidáte odkaz na druhou sadu SDK. Když zvolíte sadu SDK na kartě Rozšíření , dialogové okno Správce odkazů vám pomůže identifikovat závislosti sady SDK výpisem všech závislostí v podokně podrobností.

Pokud typ projektu nepodporuje rozšíření, tato karta se nezobrazí v dialogovém okně Správce odkazů.

Karta COM

Karta COM obsahuje seznam všech součástí modelu COM , které jsou k dispozici pro odkazování. Pokud chcete přidat odkaz na registrovanou knihovnu DLL modelu COM, která obsahuje vnitřní manifest, nejprve zrušte registraci dané knihovny DLL. V opačném případě Visual Studio přidá odkaz na sestavení jako technologie ActiveX ovládací prvek namísto nativní knihovny DLL.

Pokud typ projektu nepodporuje com, karta se nezobrazí v dialogovém okně Správce odkazů.

Procházet

Pomocí tlačítka Procházet můžete vyhledat součást v systému souborů.

Projekt může odkazovat na komponentu, která cílí na jinou verzi architektury. Můžete například vytvořit aplikaci, která cílí na rozhraní .NET Framework 4.7.2, ale odkazuje na komponentu, která cílí na rozhraní .NET Framework 4. Další informace naleznete v tématu Přehled cílení architektury.

Vyhněte se přidávání odkazů na soubory do výstupů jiného projektu ve stejném řešení, protože tato taktika může způsobit chyby kompilace. Místo toho použijte kartu Řešení v dialogovém okně Správce odkazů k vytvoření odkazů na projekt-projekt. To usnadňuje vývoj týmů tím, že umožňuje lepší správu knihoven tříd, které vytvoříte ve svých projektech. Další informace najdete v tématu Řešení potíží s poškozenými odkazy.

Nemůžete přejít na sadu SDK a přidat ji do projektu. Můžete přejít jenom na soubor (například sestavení nebo .winmd) a přidat ho do projektu.

Při provádění odkazu na soubor winMD, očekávané rozložení je, že <FileName.winmd, <FileName.dll>> a< FileName.pri> soubory jsou umístěny vedle sebe. Pokud v následujících scénářích odkazujete na WinMD, zkopíruje se do výstupního adresáře projektu neúplná sada souborů a následně dojde k selhání sestavení a modulu runtime.

  • Nativní komponenta: Nativní projekt vytvoří jeden WinMD pro každou nesouvislou sadu oborů názvů a jednu knihovnu DLL, která se skládá z implementace. WinMD mají různorodé názvy. Při odkazování na tento nativní soubor komponenty nástroj MSBuild nerozpozná, že se z těchto disků WinMD nerozpozná jedna komponenta. Proto se zkopírují pouze identické názvy FileName.dll> a <FileName.winmd> a dojde k chybám za běhu.< Pokud chcete tento problém obejít, vytvořte sadu SDK rozšíření. Další informace naleznete v tématu Vytvoření sady Software Development Kit.

  • Využívání ovládacích prvků: minimálně ovládací prvek XAML se skládá ze <FileName.winmd>, <FileName.dll>, <FileName.pri>, <XamlName.xaml> a <ImageName.jpg>. Při sestavení projektu se soubory prostředků přidružené k odkazu na soubor nezkopírují do výstupního adresáře projektu a zkopírují se pouze FileName.winmd>,< FileName.dll> a< FileName.pri>.< Zaprotokoluje se chyba sestavení, která indikuje, že chybí prostředky XamlName.xaml> a <ImageName.jpg>.< Chcete-li uspět, zkopírujte tyto soubory prostředků ručně do výstupního adresáře projektu pro sestavení a ladění/modul runtime. Pokud chcete tento problém obejít, vytvořte sadu SDK rozšíření podle kroků v části Vytvoření sady Software Development Kit nebo upravte soubor projektu a přidejte následující vlastnost:

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

    Poznámka:

    Pokud tuto vlastnost přidáte, může být sestavení pomalejší.

Nedávné

Sestavení, COM, Windows a Procházet podporují každou kartu Poslední, která uvádí seznam součástí, které byly nedávno přidány do projektů.

Panel hledání v dialogovém okně Správce odkazů funguje přes kartu, na které je fokus. Pokud například zadáte "Systém" na panelu hledání, zatímco je fokus na kartě Řešení , hledání nevrací žádné výsledky, pokud se řešení skládá z názvu projektu, který obsahuje "Systém".

Odebrání odkazu

Nepoužívané odkazy pro projekty stylu sady SDK v sadě Visual Studio můžete odebrat pomocí položky nabídky Odebrat nepoužívané odkazy .

Screenshot of the Remove Unused Reference dialog from the context menu in Solution Explorer.

Další informace naleznete v tématu Odebrání nepoužívaných odkazů.