Megosztás a következőn keresztül:


Hivatkozások hozzáadása vagy eltávolítása a Referenciakezelővel

A Referenciakezelő párbeszédpanelen felveheti és kezelheti az Ön, a Microsoft vagy egy másik vállalat által kifejlesztett összetevőkre mutató hivatkozásokat. Univerzális Windows-alkalmazás fejlesztésekor a projekt automatikusan hivatkozik az összes megfelelő Windows SDK-DLL-re. .NET-projekt létrehozásakor a projekt automatikusan hivatkozik a szükséges összetevőkre, például a .NET SDK-ra, de a funkciók hozzáadásakor hivatkozásokat kell hozzáadnia. Egyes .NET API-k olyan összetevőkben érhetők el, amelyeket manuálisan kell hozzáadnia. A COM-összetevőkre vagy egyéni összetevőkre mutató hivatkozásokat manuálisan kell hozzáadni.

Ha egy NuGet-csomag elérhető a hivatkozott kódtárhoz, használja a NuGet-csomagkezelőt. Lásd: NuGet-csomag telepítése és használata.

Referenciakezelő párbeszédpanel

A Referenciakezelő párbeszédpanel a projekt típusától függően különböző kategóriákat jelenít meg a bal oldalon:

  • összeállítások, keretrendszer és bővítmények alcsoportokkal (csak .NET-keretrendszer)

  • COM- felsorolja a hivatkozáshoz elérhető összes COM-összetevőt

  • projektek

  • megosztott projektek

  • Windows, Core és Extensions alcsoportokkal. A Windows SDK-ban vagy a bővítmény SDK-kban található hivatkozásokat az Object Browserhasználatával ismerheti meg.

  • TallózásLegutóbbi alcsoporttal

    Jegyzet

    C++ projektek fejlesztése esetén előfordulhat, hogy nem jelenik meg Tallózás a Referenciakezelő párbeszédpanelen.

Hivatkozás hozzáadása

  1. A Megoldáskezelőbenkattintson a jobb gombbal a Hivatkozások vagy Függőségek csomópontra, majd válassza a Projekthivatkozásihozzáadása, Megosztott projekthivatkozás hozzáadása, vagy COM-referencia a helyi menüből. (Kattintson a jobb gombbal a projektcsomópontra, és válassza a hozzáadása a kiugró menüből a lehetőségek közül való választáshoz.)

Képernyőkép a Hivatkozás hozzáadása párbeszédpanelről a Megoldáskezelő helyi menüjéből.

A Hivatkozás hozzáadása párbeszédpanel képernyőképe a Megoldáskezelő helyi menüjéből.

Reference Manager megnyílik, és csoportonként listázza az elérhető hivatkozásokat.

A Visual Studio Referenciakezelő párbeszédpaneljének képernyőképe.

  1. Jelöljön ki egy hozzáadni kívánt hivatkozást, majd válassza OKlehetőséget.

    Jegyzet

    Ha nem látja a keresett hivatkozást, válassza a Tallózás lehetőséget a hivatkozás megkereséséhez. (Ha C++-projekteket fejleszt, előfordulhat, hogy nem jelenik meg tallózási lehetőség.)

Szerelvények lap (csak.NET-keretrendszer)

Jegyzet

A Szerelvények lap nem érhető el a .NET Core- vagy .NET 5-ös vagy újabb verziót megcélzott projektekhez. Válassza a Tallózás lehetőséget egy szerelvény megkereséséhez a fájlrendszerben, és adja hozzá hivatkozásként. Ha meg szeretné tekinteni egy projekt hivatkozott összeállításait, bontsa ki a projekt Függőségek csomópontot. A Függőségek csomóponton a jobb gombbal kattintva hozzáadhat vagy eltávolíthat projekthivatkozásokat, megtekintheti vagy eltávolíthatja a szerelvényeket a Szerelvények csomóponton, vagy megnyithatja a NuGet-csomagböngészőt a NuGet-csomagok kezeléséhez. Tekintse meg Csomagok telepítése és kezelése a Visual Studióban a NuGet Package Manager használatával a NuGet dokumentációjában.

A .NET-keretrendszer-projektek esetében a Szerelvények lap felsorolja a hivatkozáshoz elérhető .NET-szerelvényeket. A Szerelvények lap nem sorol fel szerelvényeket a globális szerelvény-gyorsítótárból (GAC), mert a GAC-beli szerelvények a futásidejű környezet részét képezik. Ha olyan alkalmazást helyez üzembe vagy másol, amely a GAC-ban regisztrált szerelvényre mutató hivatkozást tartalmaz, a rendszer nem telepíti vagy másolja a szerelvényt az alkalmazással, függetlenül attól, hogy Helyi másolása beállítást. További információ: Projektek hivatkozásainak kezelése.

Ha manuálisan ad hozzá hivatkozást bármelyik EnvDTE névtérhez (EnvDTE, EnvDTE80, EnvDTE90, EnvDTE90avagy EnvDTE100), állítsa a Beágyazás interop típusok tulajdonságot Hamis értékre a Tulajdonságok ablakban. Bizonyos EnvDTE-tulajdonságok beágyazásával kapcsolatos problémák miatt a tulajdonság True értékre állítása néha buildelési problémákat okozhat.

Minden asztali projekt tartalmaz egy implicit hivatkozást mscorlib. A Visual Basic-projektek implicit hivatkozást tartalmaznak a Microsoft.VisualBasic. Minden projekt tartalmaz egy implicit hivatkozást System.Core, még akkor is, ha az el lett távolítva a hivatkozások listájából.

A Szerelvények lap két altevékenységből áll:

  1. keretrendszer felsorolja a célzott keretrendszert alkotó összes szerelvényt.

    Azoknál a projekteknél, amelyek nem a .NET Core-t vagy az univerzális Windows platformot célozzák meg, a Keretrendszer lap felsorolja a megcélzott keretrendszerből származó összetevőket. A felhasználónak hozzá kell adnia az alkalmazás által igényelt hivatkozásokat.

    Az univerzális Windows-projektek alapértelmezés szerint a célzott keretrendszer összes szerelvényére hivatkoznak. Felügyelt projektekben a Megoldás kezelő mappája alatti írásvédett csomópont jelzi a teljes keretrendszerre mutató hivatkozást. Ennek megfelelően a Keretrendszer lap nem sorolja fel a keretrendszer egyik szerelvényét sem, ehelyett a következő üzenetet jeleníti meg: "Az összes keretrendszer-szerelvényre már hivatkozunk. Kérjük, használja az Object Browsert a keretrendszer hivatkozásainak megismeréséhez."

  2. bővítmények felsorolja azokat a szerelvényeket, amelyeket az összetevők és vezérlők külső gyártói fejlesztettek ki a célzott keretrendszer kiterjesztése érdekében. A felhasználói alkalmazás céljától függően szükség lehet ezekre a szerelvényekre.

    Kiterjesztések a következő helyeken regisztrált szerelvények felsorolásával vannak feltöltve:

    32 bites gép:

    • 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 bites gép:

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

    És a [Target Framework Identifier] régebbi verziói

    Ha például egy projekt a .NET-keretrendszer 4-et célozza meg egy 32 bites gépen, a kiterjesztések az alábbi gyűjteményeket veszik számba: \Microsoft.NETFramework\v4.0\AssemblyFoldersEx, \Microsoft.NETFramework\v3.5\AssemblyFoldersEx, \Microsoft.NETFramework\v3.0\AssemblyFoldersEx, és \Microsoft.NETFramework\v2.0\AssemblyFoldersEx.

Előfordulhat, hogy a listában néhány összetevő nem jelenik meg a projekt keretrendszerverziójától függően. Ez a helyzet a következő feltételek mellett fordulhat elő:

  • A legutóbbi keretrendszerverziót használó összetevők nem kompatibilisek egy korábbi verziót célzó projekttel.

    A projekt cél-keretrendszerverziójának módosításáról további információt a Keretrendszer célzási áttekintésébentalál.

  • A .NET-keretrendszer régebbi verzióját használó összetevők nem kompatibilisek egy újabb .NET-keretrendszert célzó projekttel.

A .NET-keretrendszer verziói közötti verziókompatibilitásról további információt Verziókompatibilitásicímű témakörben talál.

Ne adjon hozzá fájlhivatkozásokat egy másik projekt kimeneteihez ugyanabban a megoldásban, mert ez fordítási hibákat okozhat. Ehelyett a Hivatkozás hozzáadása párbeszédpanelben a Projektek lapot használja projekt-ről-projektre hivatkozások létrehozásához. Ez a gyakorlat megkönnyíti a csapatfejlesztést azáltal, hogy lehetővé teszi a projektekben létrehozott osztálykódtárak jobb felügyeletét. További információ: Hibás hivatkozások hibaelhárítása.

Jegyzet

Projekthivatkozás helyett fájlhivatkozás jön létre, ha az egyik projekt célkeret-verziója a .NET-keretrendszer 4.5-ös vagy újabb verziója, a másik projekt célverziója pedig a .NET Framework 2, 3, 3.5 vagy 4.0. A .NET-ről, a .NET-keretrendszerről és a .NET Core-ról további információt A .NET (és a .NET Core)című témakörben talál.

Szerelvény megjelenítése a Hivatkozás hozzáadása párbeszédpanelen

  • Helyezze át vagy másolja az összeállítást az alábbi helyek egyikére:

    • Az aktuális projektkönyvtár. (Ezeket az összeállításokat a Tallózás lapon találja.)

    • Más projektkönyvtárak ugyanazon megoldáson belül. (Ezeket a szerelvényeket a Projektek lapon találja.)

    -vagy-

  • Állítson be egy beállításkulcsot, amely meghatározza a megjelenítendő szerelvények helyét:

    32 bites operációs rendszer esetén adja hozzá az alábbi beállításkulcsok egyikét.

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

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

    64 bites operációs rendszer esetén adja hozzá az alábbi beállításkulcsok egyikét egy 32 bites beállításjegyzék-halmazban.

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

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

    <VersionMinimum> a legalacsonyabb érvényes keretrendszerverzió. Ha <VersionMinimum> 3.0-s verziójú, a .NET-keretrendszer 3.0-s vagy újabb verzióját megcélzó projektekre AssemblyFoldersEx megadott mappák érvényesek.

    <AssemblyLocation> azon összeállítások könyvtára, amelyeket meg szeretne jeleníteni a Hivatkozás hozzáadása párbeszédpanelen, például C:\MyAssemblies.

    A beállításkulcs HKEY_LOCAL_MACHINE csomópont alatt való létrehozásával minden felhasználó megtekintheti a szerelvényeket a megadott helyen, a Hivatkozás hozzáadása párbeszédpanelen. A beállításkulcs létrehozása a HKEY_CURRENT_USER csomópont alatt csak az aktuális felhasználó beállítására van hatással.

    Nyissa meg ismét a Hivatkozás hozzáadása párbeszédpanelt. A szerelvényeknek meg kell jelennie a .NET lapon. Ha nem, győződjön meg arról, hogy a szerelvények a megadott AssemblyLocation könyvtárban találhatók, indítsa újra a Visual Studiót, és próbálkozzon újra.

Projektek fül

A Projektek lapon az aktuális megoldás összes kompatibilis projektje szerepel a Megoldás altáblában.

Egy projekt hivatkozhat egy másik projektre, amely egy másik keretrendszerverziót céloz meg. Létrehozhat például egy projektet, amely a .NET 8.0-t célozza, de a .NET 6.0-hoz készült szerelvényre hivatkozik. A .NET 6.0-projekt azonban nem hivatkozhat .NET-keretrendszer 8.0-s projektre. További információ: Keretrendszer célzásának áttekintése.

Megosztott projektek lap

A Referenciakezelő párbeszédpanel Megosztott projektek lapján adjon hozzá hivatkozást egy megosztott projekthez. A megosztott projektek segítségével számos különböző alkalmazásprojekt által hivatkozott közös kódot írhat.

Univerzális Windows lap

Az Univerzális Windows lap felsorolja az összes olyan SDK-t, amely azon platformokra vonatkozik, amelyeken a Windows operációs rendszerek futnak. Ezen a lapon két alcsoport található: Core és Bővítmények.

Alapvető alcsoport

Az univerzális Windows-alkalmazásprojektek alapértelmezés szerint hivatkoznak az Univerzális Windows SDK-ra. Ennek megfelelően a Reference ManagerCore alcsoportja nem veszi számba az univerzális Windows SDK-ból származó szerelvényeket.

Bővítmények alcsoportja

Bővítmények felsorolja a célzott Windows-platformot kiterjesztő felhasználói SDK-kat.

Az SDK olyan fájlok gyűjteménye, amelyeket a Visual Studio egyetlen összetevőként kezel. A Bővítmények lapon a Referenciakezelő párbeszédpanel meghívására szolgáló projektre vonatkozó SDK-k egyetlen bejegyzésként jelennek meg. Amikor hozzáadja egy projekthez, a Visual Studio az összes SDK-tartalmat felhasználja, így a felhasználónak nem kell további műveleteket végrehajtania az SDK tartalmának az IntelliSense, az eszközkészlet, a tervezők, az Object Browser, a buildelés, az üzembe helyezés, a hibakeresés és a csomagolás használatához.

Az SDK Bővítmények lapon való megjelenítéséről további információt a Szoftverfejlesztői készlet létrehozásacímű témakörben talál.

Jegyzet

Ha egy projekt egy másik SDK-tól függő SDK-ra hivatkozik, a Visual Studio csak akkor használja a második SDK-t, ha manuálisan hozzáad egy hivatkozást a második SDK-hoz. Amikor kiválaszt egy SDK-t a Bővítmények lapon, a Referenciakezelő párbeszédpanel segít azonosítani az SDK-függőségeket a részletek panelen található függőségek listázásával.

Ha egy projekttípus nem támogatja a bővítményeket, ez a lap nem jelenik meg a Referenciakezelő párbeszédpanelen.

COM fül

A COM lap felsorolja a hivatkozáshoz elérhető összes COM-összetevőt. Ha belső jegyzékfájlt tartalmazó regisztrált COM DLL-hez szeretne hozzáadni egy hivatkozást, először törölje a DLL regisztrációját. Ellenkező esetben a Visual Studio nem natív DLL-ként, hanem ActiveX-vezérlőként adja hozzá a szerelvényhivatkozást.

Ha egy projekttípus nem támogatja a COM-t, a lap nem jelenik meg a Referenciakezelő párbeszédpanelen.

Böngészés

A Tallózás gombra kattintva kereshet egy összetevőt vagy szerelvényt a fájlrendszerben.

A projektek hivatkozhatnak egy olyan összetevőre, amely egy másik keretrendszerverziót céloz meg. Létrehozhat például egy alkalmazást, amely a .NET-keretrendszer 4.7.2-et célozza, de hivatkozik egy .NET-keretrendszer 4-et célzó összetevőre. További információ: Keretrendszer célzásának áttekintése.

Ne adjon fájlhivatkozásokat egy másik projekt kimeneteihez ugyanabban a megoldásban, mert ez a taktika fordítási hibákat okozhat. Ehelyett a Referenciakezelő párbeszédpanel Megoldás lapján hozhat létre projektről projektre mutató hivatkozásokat. Ez megkönnyíti a csapatfejlesztést azáltal, hogy lehetővé teszi a projektekben létrehozott osztálykódtárak jobb felügyeletét. További információ: Hibás hivatkozások hibaelhárítása.

Nem kereshet egy SDK-t, és nem adhatja hozzá a projekthez. Egy fájlt (például egy assembly-t vagy .winmd) tallózhat, és hozzáadhatja a projekthez.

WinMD-fájlhivatkozások használatakor a várt elrendezés az, hogy a <FileName>.winmd, <FileName>.dllés <FileName>.pri fájlok mind egymás mellett vannak elhelyezve. Ha a következő forgatókönyvekben hivatkozik egy WinMD-re, a rendszer hiányos fájlkészletet másol a projekt kimeneti könyvtárába, és ennek következtében buildelési és futtatókörnyezeti hibák lépnek fel.

  • natív összetevő: egy natív projekt létrehoz egy WinMD-t minden különálló névtérkészlethez és egy DLL-hez, amely az implementációból áll. A WinMD-eknek eltérő neveik vannak. A natív összetevőfájlra való hivatkozáskor az MSBuild nem ismeri fel, hogy a eltérő nevű WinMD-k egyetlen összetevőt alkotnak. Így csak az azonos nevű <FileName>.dll és <FileName>.winmd lesz másolva, és futásidejű hibák lépnek fel. A probléma megoldásához hozzon létre egy bővítmény SDK-t. További információ: Szoftverfejlesztői készlet létrehozása.

  • Fogyasztói vezérlők: egy XAML-vezérlő legalább egy <FileName>.winmd, <FileName>.dll, <FileName>.pri, <XamlName>.xamlés egy <ImageName>.jpgáll. A projekt létrehozásakor a fájlhivatkozáshoz társított erőforrásfájlok nem lesznek átmásolva a projekt kimeneti könyvtárába, és csak <FileName>.winmd, <FileName>.dll és <FileName>.pri lesznek másolva. A rendszer egy buildelési hibát naplóz, amely azt jelzi, hogy az XamlName <>.xaml és <ImageName>.jpg erőforrások hiányoznak. A sikeresség érdekében másolja manuálisan ezeket az erőforrásfájlokat a projekt kimeneti könyvtárába a buildeléshez és hibakereséshez/futtatókörnyezethez. A probléma megoldásához hozzon létre egy bővítmény SDK-t a Szoftverfejlesztői készlet létrehozása lépéseit követve, vagy szerkessze a projektfájlt a következő tulajdonság hozzáadásához:

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

    Jegyzet

    Ha hozzáadja a tulajdonságot, előfordulhat, hogy a build lassabban fut.

Friss

Szerelvények, COM, Windowsés Tallózás mindegyike támogatja a Legutóbbi lapot, amely felsorolja a projekthez nemrég hozzáadott összetevőket.

A Referenciakezelő párbeszédpanel keresősávja a fókuszban lévő lapon működik. Ha például beírja a "System" szót a keresősávba, miközben a Megoldás lap van fókuszban, a keresés nem ad eredményt, hacsak a megoldás nem tartalmaz egy "System" nevet viselő projektnév részeként.

Hivatkozás eltávolítása

A Visual Studióban SDK-stílusú projektek nem használt hivatkozásait a Nem használt hivatkozás eltávolítása menüelem használatával távolíthatja el.

Képernyőkép a Nem használt hivatkozás eltávolítása párbeszédpanelről a Megoldáskezelő helyi menüjéből.

Képernyőkép a Megoldáskezelő helyi menüjéből elérhető Nem használt hivatkozás eltávolítása párbeszédpanelről.

További információ: Nem használt hivatkozások eltávolítása.