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ě.
Pokud je balíček NuGet k dispozici pro knihovnu, na kterou odkazujete, použijte Správce balíčků NuGet. Viz Instalace a použití balíčku NuGet.
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í
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ávnou podskupinou
Poznámka:
Pokud vyvíjíte projekty C++, nemusí se v dialogovém okně Správce odkazů zobrazit procházení .
Přidání odkazu
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.)
Otevře se Správce odkazů a zobrazí seznam dostupných odkazů podle skupiny.
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ší. Výběrem možnosti Procházet vyhledejte sestavení v systému souborů a přidejte ho jako odkaz. Pokud chcete zobrazit odkazovaná sestavení v projektu, rozbalte uzel Závislosti v projektu. Z uzlu Závislosti můžete kliknutím pravým tlačítkem myši přidat nebo odebrat odkazy na projekty, zobrazit nebo odebrat sestavení v uzlu Sestavení 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:
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í.
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 podHKEY_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 ovládací prvek ActiveX místo jako nativní knihovnu 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 nebo sestavení 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 použití odkazu na soubor winMD je očekávané rozložení, že <soubory FileName.winmd,< FileName>>.dll a< FileName.pri> 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.
Použí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ů.
Hledání
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 .
Další informace naleznete v tématu Odebrání nepoužívaných odkazů.