Delen via


Verwijzingen toevoegen of verwijderen met Reference Manager

U kunt het dialoogvenster Reference Manager gebruiken om verwijzingen toe te voegen en te beheren naar onderdelen die u, Microsoft of een ander bedrijf heeft ontwikkeld. Als u een Universele Windows-app ontwikkelt, verwijst uw project automatisch naar alle juiste Windows SDK-DLL's. Wanneer u een .NET-project maakt, verwijst uw project automatisch naar de benodigde onderdelen, zoals de .NET SDK, maar moet u verwijzingen toevoegen wanneer u functionaliteit toevoegt. Sommige .NET-API's worden weergegeven in onderdelen die u handmatig moet toevoegen. Verwijzingen naar COM-onderdelen of aangepaste onderdelen moeten handmatig worden toegevoegd.

Als er een NuGet-pakket beschikbaar is voor de bibliotheek waarnaar u verwijst, gebruikt u NuGet Package Manager. Zie Een NuGet-pakket installeren en gebruiken.

Het dialoogvenster Reference Manager

In het dialoogvenster Verwijzingsbeheer worden verschillende categorieën aan de linkerkant weergegeven, afhankelijk van het projecttype:

  • Assemblages, met Framework en Extensions subgroepen (alleen .NET Framework)

  • COM- bevat alle COM-onderdelen die beschikbaar zijn voor verwijzingen

  • Projecten

  • gedeelde projecten

  • Windows, met Core en Extensions subgroepen. U kunt de verwijzingen in de Windows SDK of extensie-SDK's verkennen met behulp van de ObjectBrowser.

  • Bladerenmet Recente subgroep

    Notitie

    Mogelijk ziet u Bladeren niet in het dialoogvenster Referentiebeheerder als u C++-projecten ontwikkelt.

Een verwijzing toevoegen

  1. Klik in Solution Explorer-met de rechtermuisknop op het knooppunt Verwijzingen of afhankelijkheden en kies vervolgens Projectverwijzing toevoegen, Gedeelde projectverwijzing toevoegenof COM-verwijzing toevoegen in het contextmenu. (U kunt met de rechtermuisknop op het projectknooppunt klikken en toevoegen selecteren in het vervolgmenu om uit deze opties te kiezen.)

    Schermopname van het dialoogvenster Verwijzing toevoegen vanuit het contextmenu in Solution Explorer.

    Reference Manager wordt geopend en worden de beschikbare verwijzingen per groep weergegeven.

    schermopname van het dialoogvenster Reference Manager in Visual Studio.

  2. Selecteer een verwijzing om toe te voegen en selecteer vervolgens OK-.

    Notitie

    Als u de verwijzing die u zoekt niet ziet, selecteert u Bladeren om de verwijzing te zoeken. (Als u C++-projecten ontwikkelt, ziet u mogelijk geen optie om te bladeren.)

nl-NL: Tabblad Assemblies (alleen .NET Framework)

Notitie

Het tabblad Assembly's is niet beschikbaar voor projecten die gericht zijn op .NET Core of .NET 5 en hoger. Selecteer Blader om een assembly in het bestandssysteem te zoeken en toe te voegen als referentie. Als u de assembly's waarnaar wordt verwezen in een project wilt zien, vouwt u het knooppunt Afhankelijkheden in het project uit. Vanuit het afhankelijkheden knooppunt kunt u met de rechtermuisknop klikken om projectverwijzingen toe te voegen of te verwijderen, assembly's in het Assembly's knooppunt te bekijken of verwijderen, of de NuGet-pakketbrowser openen om NuGet-pakketten te beheren. Zie Pakketten installeren en beheren in Visual Studio met behulp van de NuGet Package Manager- in de NuGet-documentatie.

Voor .NET Framework-projecten bevat het tabblad Assembly's alle .NET-assembly's die beschikbaar zijn voor verwijzingen. Op het tabblad Assembly's worden geen assembly's uit de algemene assemblycache (GAC) vermeld, omdat assembly's in de GAC deel uitmaken van de runtime-omgeving. Als u een toepassing implementeert of kopieert die een verwijzing bevat naar een assembly die is geregistreerd in de GAC, wordt de assembly niet geïmplementeerd of gekopieerd met de toepassing, ongeacht de instelling Lokale kopiëren. Zie Verwijzingen beheren in een projectvoor meer informatie.

Wanneer u handmatig een verwijzing toevoegt naar een van de EnvDTE-naamruimten (EnvDTE, EnvDTE80, EnvDTE90, EnvDTE90aof EnvDTE100), stelt u de eigenschap Embed Interop Types van de verwijzing in op False in het venster Eigenschappen. Het instellen van deze eigenschap op True kan buildproblemen veroorzaken vanwege bepaalde EnvDTE-eigenschappen die niet kunnen worden ingesloten.

Alle bureaubladprojecten bevatten een impliciete verwijzing naar mscorlib-. Visual Basic-projecten bevatten een impliciete verwijzing naar Microsoft.VisualBasic. Alle projecten bevatten een impliciete verwijzing naar System.Core, zelfs als deze uit de lijst met verwijzingen wordt verwijderd.

Het tabblad Assembly's bestaat uit twee subtabbladen:

  1. Framework bevat alle assembly's die het beoogde framework vormen.

    Voor projecten die zich niet richten op .NET Core of het Universal Windows-platform, somt het Framework tabblad assembly's van het doelframework op. De gebruiker moet verwijzingen toevoegen die nodig zijn voor de toepassing.

    Universele Windows-projecten bevatten standaard verwijzingen naar alle assembly's in het beoogde framework. In beheerde projecten geeft een alleen-lezen node onder de map Verwijzingen in Solution Explorer de verwijzing naar het hele framework aan. Daarom bevat het tabblad Framework geen assembly's van het framework en wordt in plaats daarvan het volgende bericht weergegeven: 'Alle Framework-assembly's zijn al naar verwezen. Gebruik de objectbrowser om de verwijzingen in het framework te verkennen.

  2. Extensions geeft een overzicht van alle assembly's die externe leveranciers van onderdelen en besturingscomponenten hebben ontwikkeld om het beoogde framework uit te breiden. Afhankelijk van het doel van de gebruikerstoepassing, zijn deze assembly's mogelijk nodig.

    Extensions wordt ingevuld door de assembly's te inventariseren die zijn geregistreerd op de volgende locaties:

    32-bit computer

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

    En oudere versies van de [Target Framework Identifier]

    Als een project bijvoorbeeld is gericht op .NET Framework 4 op een 32-bits computer, Extensions assembly's opsommen die zijn geregistreerd onder \Microsoft.NETFramework\v4.0\AssemblyFoldersEx, \Microsoft.NETFramework\v3.5\AssemblyFoldersEx, \Microsoft.NETFramework\v3.0\AssemblyFoldersExen \Microsoft.NETFramework\v2.0\AssemblyFoldersEx.

Sommige onderdelen in de lijst worden mogelijk niet weergegeven, afhankelijk van de frameworkversie van uw project. Deze situatie kan zich voordoen onder de volgende omstandigheden:

  • Een onderdeel dat gebruikmaakt van een recente frameworkversie is niet compatibel met een project dat is gericht op een eerdere versie.

    Zie Framework-overzichtvoor meer informatie over het wijzigen van de doelframeworkversie voor een project.

  • Een onderdeel dat gebruikmaakt van een oudere versie van .NET Framework is niet compatibel met een project dat is gericht op een nieuwere .NET Framework.

Zie Versiecompatibiliteitvoor meer informatie over versiecompatibiliteit tussen .NET Framework-versies.

Vermijd het toevoegen van bestandsverwijzingen aan uitvoer van een ander project in dezelfde oplossing, omdat dit compilatiefouten kan veroorzaken. Gebruik in plaats daarvan het tabblad Projecten van het dialoogvenster Verwijzing toevoegen om project-naar-projectverwijzingen te maken. Met deze procedure kunt u teamontwikkeling eenvoudiger maken door beter beheer in te schakelen van de klassenbibliotheken die u in uw projecten maakt. Zie Problemen met verbroken verwijzingen oplossenvoor meer informatie.

Notitie

Er wordt een bestandsreferentie gemaakt in plaats van een projectreferentie als de doelframeworkversie van een project .NET Framework 4.5 of hoger is en de doelversie van het andere project .NET Framework 2, 3, 3.5 of 4.0 is. Zie Wat is .NET (en .NET Core)voor meer informatie over .NET, .NET Framework en .NET Core.

Een assemblage weergeven in het dialoogvenster Verwijzing toevoegen

  • Verplaats of kopieer de assembly naar een van de volgende locaties:

    • De huidige projectmap. (U kunt deze assemblies vinden door gebruik te maken van het tabblad Bladeren.)

    • Andere projectmappen in dezelfde oplossing. (U kunt deze assembly's vinden met behulp van het tabblad Projecten.)

    - of -

  • Stel een registersleutel in waarmee de locatie van assembly's wordt opgegeven die moet worden weergegeven:

    Voor een 32-bits besturingssysteem voegt u een van de volgende registersleutels toe.

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

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

    Voor een 64-bits besturingssysteem voegt u een van de volgende registersleutels toe in een 32-bits register hive.

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

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

    <VersionMinimum> is de laagste frameworkversie die van toepassing is. Als <VersionMinimum> v3.0 is, zijn mappen die zijn opgegeven in AssemblyFoldersEx van toepassing op projecten die gericht zijn op .NET Framework 3.0 en hoger.

    <AssemblyLocation> is de map van de assembly's die u wilt weergeven in het dialoogvenster Verwijzing toevoegen, bijvoorbeeld C:\MyAssemblies.

    Als u de registersleutel onder het knooppunt HKEY_LOCAL_MACHINE maakt, kunnen alle gebruikers de assembly's op de opgegeven locatie zien in het dialoogvenster Verwijzing toevoegen. Het maken van de registersleutel onder het knooppunt HKEY_CURRENT_USER is alleen van invloed op de instelling voor de huidige gebruiker.

    Open het dialoogvenster Verwijzing toevoegen opnieuw. De assembly's moeten worden weergegeven op het tabblad .NET-. Als dat niet het geval is, controleert u of de assembly's zich in de opgegeven AssemblyLocation-map bevinden, start u Visual Studio opnieuw en probeert u het opnieuw.

Tabblad Projecten

Het tabblad Projecten bevat alle compatibele projecten in de huidige oplossing, in het subtabblad Solution.

Een project kan verwijzen naar een ander project dat is gericht op een andere frameworkversie. U kunt bijvoorbeeld een project maken dat is gericht op .NET 8.0, maar die verwijst naar een assembly die is gebouwd voor .NET 6.0. Het .NET 6.0-project kan echter niet verwijzen naar een .NET Framework 8.0-project. Zie Framework-doeloverzichtvoor meer informatie.

Tabblad Gedeelde projecten

Voeg een verwijzing naar een gedeeld project toe op het tabblad Gedeelde projecten van het dialoogvenster Verwijzingsbeheer. Met gedeelde projecten kunt u algemene code schrijven waarnaar wordt verwezen door veel verschillende toepassingsprojecten.

Universele Windows-tabblad

Het tabblad Universal Windows bevat alle SDK's die specifiek zijn voor platforms waarop Windows-besturingssystemen worden uitgevoerd. Dit tabblad heeft twee subgroepen: Core en Extensions.

Kernsubgroep

Universele Windows-app-projecten hebben standaard een verwijzing naar de Universele Windows SDK. De Core-subgroep in de Reference Manager- inventariseert daarom geen assembly's van de Universal Windows SDK.

Extensiesubgroep

Extensies somt de gebruikers-SDK's op die het beoogde Windows-platform uitbreiden.

Een SDK is een verzameling bestanden die Visual Studio als één onderdeel behandelt. Op het tabblad Extensies worden SDK's die van toepassing zijn op het project waaruit het dialoogvenster Verwijzingsbeheer is aangeroepen, weergegeven als één vermelding. Wanneer alle SDK-inhoud wordt toegevoegd aan een project, wordt door Visual Studio gebruikt, zodat de gebruiker geen verdere acties hoeft uit te voeren om gebruik te maken van de SDK-inhoud in IntelliSense, werkset, ontwerpers, ObjectBrowser, build, implementatie, foutopsporing en verpakking.

Zie Een Software Development Kit makenvoor informatie over het weergeven van uw SDK op het tabblad Extensions.

Notitie

Als een project verwijst naar een SDK die afhankelijk is van een andere SDK, gebruikt Visual Studio de tweede SDK niet, tenzij u handmatig een verwijzing naar de tweede SDK toevoegt. Wanneer u een SDK kiest op het tabblad Extensies, kunt u met het dialoogvenster Reference Manager SDK-afhankelijkheden identificeren door eventuele afhankelijkheden in het detailvenster weer te geven.

Als een projecttype geen ondersteuning biedt voor extensies, wordt dit tabblad niet weergegeven in het dialoogvenster Verwijzingsbeheer.

COM-tabblad

Op het tabblad COM worden alle COM-onderdelen vermeld die beschikbaar zijn voor verwijzingen. Als u een verwijzing wilt toevoegen naar een geregistreerde COM-DLL die een intern manifest bevat, moet u de registratie van het DLL-bestand eerst ongedaan maken. Anders voegt Visual Studio de assembly-verwijzing toe als een ActiveX-besturingselement in plaats van als een systeemeigen DLL.

Als een projecttype COM niet ondersteunt, wordt het tabblad niet weergegeven in het dialoogvenster Verwijzingsbeheer.

Bladeren

U kunt de knop Bladeren gebruiken om te bladeren naar een onderdeel of assembly in het bestandssysteem.

Een project kan verwijzen naar een onderdeel dat is gericht op een andere frameworkversie. U kunt bijvoorbeeld een toepassing maken die is gericht op .NET Framework 4.7.2, maar verwijst naar een onderdeel dat is gericht op .NET Framework 4. Zie Framework-doeloverzichtvoor meer informatie.

Vermijd het toevoegen van bestandsverwijzingen aan uitvoer van een ander project in dezelfde oplossing, omdat deze tactiek compilatiefouten kan veroorzaken. Gebruik in plaats daarvan het tabblad Solution van het dialoogvenster Reference Manager om project-naar-projectverwijzingen te maken. Dit maakt teamontwikkeling eenvoudiger door beter beheer in te schakelen van de klassebibliotheken die u in uw projecten maakt. Zie Problemen met verbroken verwijzingen oplossenvoor meer informatie.

U kunt niet bladeren naar een SDK en deze toevoegen aan uw project. U kunt alleen bladeren naar een bestand (bijvoorbeeld een assembly of .winmd) en deze toevoegen aan uw project.

Wanneer u een bestand verwijst naar een WinMD, is de verwachte indeling dat de <FileName>.winmd, <FileName>.dllen <FileName>.pri bestanden allemaal naast elkaar worden geplaatst. Als u in de volgende scenario's naar een WinMD verwijst, worden er onvolledige bestanden gekopieerd naar de uitvoermap van het project en treden er dus build- en runtimefouten op.

  • systeemeigen component: een systeemeigen project maakt één WinMD voor elke niet-aaneengesloten set naamruimten en één DLL die bestaat uit de implementatie. De WinMD's hebben verschillende namen. Wanneer u naar dit systeemeigen onderdeelbestand verwijst, herkent MSBuild niet dat de ongelijksoortige WinMDs één onderdeel maken. Alleen de bestanden met dezelfde naam, <FileName>.dll en <FileName>.winmd-, worden gekopieerd, en runtimefouten bestaan. U kunt dit probleem omzeilen door een extensie-SDK te maken. Zie Een Software Development Kit makenvoor meer informatie.

  • Besturingselementen gebruiken: minimaal bestaat een XAML-besturingselement uit een <FileName>.winmd, <FileName>.dll, <FileName>.pri, <XamlName>.xamlen een <ImageName>.jpg. Wanneer het project is gemaakt, worden de bronbestanden die zijn gekoppeld aan de bestandsreferentie niet gekopieerd naar de uitvoermap van het project en worden alleen <FileName>.winmd, <FileName>.dll en <FileName>.pri gekopieerd. Er wordt een buildfout vastgelegd die aangeeft dat de resources <XamlName>.xaml- en <ImageName->.jpg ontbreken. Als u wilt slagen, kopieert u deze resourcebestanden handmatig naar de projectuitvoermap voor build en foutopsporing/runtime. U kunt dit probleem omzeilen door een extensie-SDK te maken door de stappen in Een Software Development Kit maken te volgen of door het projectbestand te bewerken om de volgende eigenschap toe te voegen:

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

    Notitie

    Als u de eigenschap toevoegt, kan de build langzamer worden uitgevoerd.

Recente

Assemblies, COM, Windowsen Bladeren ondersteunen elk een tabblad Recente, dat de lijst opsomt van componenten die onlangs aan projecten zijn toegevoegd.

De zoekbalk in het dialoogvenster Verwijzingsbeheer werkt binnen het tabblad dat momenteel geselecteerd is. Als u bijvoorbeeld 'Systeem' typt in de zoekbalk terwijl het tabblad oplossing focus heeft, retourneert de zoekopdracht geen resultaten, tenzij de oplossing bestaat uit een projectnaam die 'Systeem' bevat.

Een verwijzing verwijderen

U kunt ongebruikte verwijzingen voor SDK-stijlprojecten verwijderen in Visual Studio met behulp van het menu-item Ongebruikte verwijzing verwijderen.

Schermopname van het dialoogvenster Ongebruikte Verwijzing Verwijderen in Solution Explorer uit het contextmenu.

Zie Ongebruikte verwijzingen verwijderenvoor meer informatie.