Gewusst wie: Hinzufügen und Entfernen von Verweisen mit dem Verweis-Manager

Sie können das Dialogfeld Verweis-Manager verwenden, um Verweise auf Komponenten hinzuzufügen und zu verwalten, die Sie, Microsoft oder ein anderes Unternehmen entwickeln.Wenn Sie eine Windows Store-App entwickeln, verweist das Projekt automatisch alle Windows 8 SDK und .NET Framework.Wenn Sie einen anderen Projekttyp entwickeln, müssen Sie diese Verweise auf das Projekt manuell hinzufügen.

WarnhinweisVorsicht

Sie können Verweise in anderen Arten Projekte hinzufügen, indem Sie das Dialogfeld Verweis hinzufügen verwenden.Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen oder Entfernen von Verweisen mithilfe des Dialogfelds "Verweise hinzufügen".

Erstellen eines Verweis hinzufügen und entfernen

So fügen Sie einen Verweis in einem Projekt hinzu

  1. Klicken Sie auf der Menüleiste wählen Sie Datei, Öffnen aus.

  2. Navigieren Sie zu der Projektmappe oder Datenbankprojekt.

  3. In Projektmappen-Explorer öffnen Sie das Kontextmenü für den Verweisknoten, und wählen Sie dann Verweis hinzufügen aus.

  4. Im Dialogfeld Verweis-Manager geben Sie die Verweise auf, um hinzuzufügen, und wählen Sie dann die Schaltfläche OK aus.

Um einen Verweis zu entfernen, öffnen Sie das Kontextmenü, und wählen Sie dann Entfernen aus.

Um einen Verweis in eine C++-Datei fügen Sie

  1. Klicken Sie auf der Menüleiste wählen Sie Datei, Öffnen aus.

  2. Navigieren Sie zu der Projektmappe oder Datenbankprojekt.

  3. In Projektmappen-Explorer öffnen Sie das Kontextmenü für den Projektknoten, und wählen Sie dann Verweise aus.

  4. Im Dialogfeld Eigenschaftenseiten wählen Sie die Schaltfläche Neuen Verweis hinzufügen aus.

  5. Im Dialogfeld Verweis hinzufügen geben Sie die Verweise auf, um hinzuzufügen, und wählen Sie dann die Schaltfläche OK aus.

Um einen Verweis zu entfernen, öffnen Sie das Kontextmenü, und wählen Sie dann Entfernen aus.

Verweis-Manager öffnet und führt die verfügbaren Verweise durch Gruppe auf.Der Projekttyp bestimmt, die von den folgenden Gruppen angezeigt werden:

  • Assemblys, mit den Framework- und Erweiterungsuntergruppen.

  • Projektmappe, mit der Projektuntergruppe.

  • Windows, mit den Kern- und Erweiterungsuntergruppen.Sie können die Verweise in Windows SDK- oder Erweiterung SDKs untersuchen, indem Sie Objektkatalog verwenden.

  • Navigieren Sie, mit der neuen Untergruppe.

Assemblyregisterkarte

Die Registerkarte Assemblys werden alle .NET Framework-Assemblys auf, die für Verweise verfügbar sind.Die Registerkarte Assemblys führt keine Assemblys aus dem globalen Assemblycache auf (GAC) da Assemblys im GAC Teil der Laufzeitumgebung sind.Wenn Sie eine Anwendung bereitstellen oder kopieren, die einen Verweis auf eine Assembly enthält, die im GAC registriert wird, wird die Assembly nicht mit der Anwendung, unabhängig von der Einstellung der lokale Kopie bereitgestellt oder kopiert.Weitere Informationen finden Sie unter Projektverweise.

Wenn Sie manuell einen Verweis auf einen der EnvDTE-Namespaces (EnvDTE, EnvDTE80, EnvDTE90, EnvDTE90a oder EnvDTE100) hinzufügen, legen Sie die Eigenschaft "Interoptypen einbetten" des Verweises auf False im Eigenschaftenfenster fest.Das Festlegen dieser Eigenschaft, um true kann mit aufgrund bestimmter EnvDTE-Eigenschaften verursachen, die nicht eingebettet werden können.

Alle Tischplattenprojekte enthalten einen impliziten Verweis auf mscorlib.Visual Basic-Projekte enthalten einen impliziten Verweis auf Microsoft.VisualBasic.In Visual Studio 2012 enthalten alle Projekte einen impliziten Verweis auf System.Core, selbst wenn sich von der Liste der Verweise entfernt wurde.

Wenn ein Projekttyp nicht Auflageblöcke ausführt, wird die Registerkarte nicht im Dialogfeld Verweis-Manager.

Die Assemblyregisterkarte besteht aus zwei Unterregisterkarten:

  1. Frameworklisten alle Assemblys, die das Zielframework bewerten.

    • Angekündigte Assemblys sind im vollständigen Framework und gelistet in der Frameworkliste auf, wenn das Projekt ein Profil des Zielframeworks abzielt.Angekündigte Assemblys sind grau, sie von Assemblys zu unterscheiden, die im Zielframeworkprofil des Projekts vorhanden sind.Wenn ein Projekt beispielsweise .NET Framework 4-Client abzielt, zeigt die Frameworkliste angekündigte Assemblys von .NET Framework 4. an.Wenn ein Benutzer eine angekündigte Assembly hinzufügen, wird der Benutzer benachrichtigt, dass Verweis-Manager, nachdem das Dialogfeld geschlossen wird, das Projekt auf .NET Framework 4 und die neu zugewiesene angekündigte Assembly hinzugefügt wird.

    • Projekte für Windows Store-App enthalten Verweise auf alle Assemblys in der .NET für Windows Store-Apps standardmäßig auf Projekterstellung.In verwalteten Projekten gibt ein schreibgeschützter Knoten unter dem Ordner Verweise in Projektmappen-Explorer den Verweis auf den gesamten Framework an.Gemäß listet die Frameworkregisterkarte keine der Assemblys vom Framework auf und zeigt stattdessen die folgende Meldung angezeigt: "Alle Framework-Assemblys sind bereits verwiesen.Verwenden Sie den Objektkatalog, um die Verweise im Framework zu untersuchen." Für Tischplattenprojekte listet die Frameworkregisterkarte Assemblys dem Zielframework auf, und der Benutzer muss die Verweise hinzufügen, die die Anwendung erfordert.

  2. Erweiterungen werden alle Assemblys auf, die externe Anbieter von Komponenten und Steuerelementen selbst entwickelt haben, um das Zielframework zu erweitern.Abhängig vom Zweck der Benutzer-Anwendung, erfordert sie diese Assemblys.

    • Erweiterungen aufgefüllt wird, indem die Assemblys auflistet, die in den folgenden Speicherorten registriert werden:

      32-bit machine:
      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]
      And older versions of the [Target Framework Identifier]
      

      Wenn ein Projekt auf .NET Framework 4 auf einem 32-Bit-Computer abzielt, listen Erweiterungen Assemblys auf, die unter \Microsoft\.NETFramework\v4.0\AssemblyFoldersEx\, \Microsoft\.NETFramework\v3.5\AssemblyFoldersEx\, \Microsoft\.NETFramework\v3.0\AssemblyFoldersEx\ und \Microsoft\.NETFramework\v2.0\AssemblyFoldersEx\ registriert sind.

COM-Registerkarte

Die COM-Registerkarte führt alle COM-Komponenten auf, die für Verweise verfügbar sind.Wenn Sie einen Verweis auf registrierten COM DLL hinzufügen möchten, der mit einem internen Manifest enthält, markieren Sie die DLL zunächst Registrierung auf.Andernfalls fügt Visual Studio den Assemblyverweis als ActiveX-Steuerelement statt als systemeigene DLL hinzu.

Wenn ein Projekttyp nicht COM unterstützt, wird die Registerkarte nicht im Dialogfeld Verweis-Manager.

Projektmappenregisterkarte

Die Projektmappenregisterkarte führt alle kompatiblen Projekte innerhalb der aktuellen Projektmappe, in der Projektunterregisterkarte auf.

Ein Projekt kann andere verweisen - Projekt für eine andere Version von .NET Framework.Beispielsweise können Sie ein Projekt erstellen abzielt .NET Framework 4 aber Verweise eine Assembly, die für .NET Framework 2. erstellt wird.kann jedoch das .NET Framework 2-Projekt ein .NET Framework 4-Projekt nicht verweisen.Weitere Informationen finden Sie unter Ausrichten auf eine bestimmte .NET Framework-Version oder ein bestimmtes .NET Framework-Profil.

Ein Projekt, das auf .NET Framework 4 mit einem Projekt dargestellt .NET Framework 4 Client Profile nicht kompatibel ist.

In Visual Studio 2012 wird anstelle eines Projektverweises ein Dateiverweis erstellt, wenn ein Projekt auf .NET Framework 4 abzielt und anderen Projekt eine frühere Version abzielt.

Ein Projekt, das auf .NET für Windows Store-Apps einen Projektverweis zu einem Projekt hinzufügen können nicht mit .NET Framework und umgekehrt.

Registerkarte Fenster

Im Fenster werden alle Registerkarte SDKs aufgeführt, die den Plattformen spezifisch sind, auf denen Windows-Betriebssystemausführung.

Sie können eine WinMD-Datei in Visual Studio auf zwei Arten generieren:

  • Windows Store verwaltete Projekte der App: Windows Store-App-Projekte können WinMD-Binärdateien ausgeben, indem Sie Projekteigenschaften festlegen | Ausgabetyp = WinMD-Datei.Der WinMD-Dateiname muss der Obermengennamespace aller Namespaces sein, die darauf vorhanden sind.Wenn ein Projekt beispielsweise aus Namespaces A.B und A.B.C besteht, sind die möglichen Namen für sein outputted WinMD A.winmd und A.B.winmd.Wenn ein Benutzer eingibt Projekteigenschaften | Assemblyname oder Projekteigenschaften | Namespacewert, der aus dem Satz von Namespaces im Projekt disjunkt ist, oder kein Obermengennamespace innerhalb eines Projekts ist, wird eine Buildwarnung generiert: "A.winmd" ist kein gültiger .winmd-Dateiname für diese Assembly.Alle Typen in einer Windows-Metadatendatei müssen in einem Vornamespace des Dateinamens vorhanden sind.Typen, die nicht in einem Vornamespace des Dateinamens vorhanden sind, sind nicht, zur Laufzeit lokalisiert werden.In dieser Assembly ist der kleinste allgemeine Namespace "CSWSClassLibrary1".Ein Tischplatten-VisualBasic- oder Visual C#projekt kann nur WinMDs nutzen, die generiert werden, indem die Windows 8 SDKs verwendet, die als von Erst- WinMDs bezeichnet, und kann WinMDs nicht generieren.

  • Windows Store-App-Eingeborenprojekte: Eine systemeigene WinMD-Datei besteht aus nur Metadaten.Ihre Implementierung ist in einer separaten DLL-Datei.Man kann systemeigene Binärdateien erzeugen, indem die Windows Runtime-Teilprojektvorlage im Dialogfeld Neues Projekt auswählt oder aus einem leeren Projekt beginnt und die Projekteigenschaften ändern, damit eine WinMD-Datei zu generieren.Wenn das Projekt aus mehrerer Namespaces besteht, werden ein Buildfehler dem Benutzer, die ihre Namespaces zu kombinieren oder das MSMerge-Tool auszuführen.

Das Fenster Registerkarte besteht aus zwei Unterregisterkarten.

Hh708954.collapse_all(de-de,VS.110).gifKern-Untergruppe

Die Kernregisterkarte führt alle WinMDs (für WinRT-Elemente) im SDK für die verwendete Version von Windows auf.

Windows Store-App-Projekte enthalten Verweise auf alle WinMDs im Windows 8 SDK standardmäßig auf Projekterstellung.In verwalteten Projekten gibt ein schreibgeschützter Knoten unter dem Ordner Verweise in Projektmappen-Explorer den Verweis auf den gesamten Windows 8 SDK an.Gemäß listet die Kernregisterkarte im Bezugsmanager keine der Assemblys aus dem Windows 8 SDK auf und zeigt stattdessen eine Meldung an: Das Windows SDK "wird bereits auf.Verwenden Sie den Objektkatalog, um die Verweise im Windows SDK zu untersuchen."

In den Desktopprojekten wird die Kernregisterkarte nicht standardmäßig.Sie können die Windows Runtime hinzufügen, indem Sie das Kontextmenü für den Projektknoten öffnen hinzufügen, Projekt entladen auswählen, den folgenden Ausschnitt, und das Projekt erneut öffnen (auf dem Projektknoten wählen Sie Projekt erneut laden aus).Wenn Sie das Dialogfeld Verweis-Manager aufrufen, wird die Kernregisterkarte.

  <PropertyGroup>
    <TargetPlatformVersion>8.0</TargetPlatformVersion>
  </PropertyGroup>

Stellen Sie sicher, das Windows-Feld auf dieser Registerkarte zu überprüfen.Sie anschließend in der Lage sein, WinRT-Elemente zu verwenden.

Hh708954.collapse_all(de-de,VS.110).gifErweiterungs-Untergruppe

Erweiterungen führt die Benutzer SDKs auf, die die gezielte Windows-Plattform erweitern.Diese Registerkarte wird nur für Windows Store-App-Projekte.Desktopprojekte zeigen nicht diese Registerkarte an, da sie nur .winmd-Dateien nutzen können von Erstanbietern.

Ein SDK ist eine Auflistung von Dateien, die Visual Studio als einzelne Komponente behandelt.In der Erweiterungsregisterkarte werden SDKs, die auf das Projekt gelten, von dem aus das Dialogfeld Verweis-Manager aufgerufen wurde, als einzelne Einträge aufgeführt.Wenn sie auf einem Projekt hinzugefügt wird, wird der gesamte SDK-Inhalt von Visual Studio so verwendet, dass der Benutzer muss, können keine weiteren Aktionen ausführen, den SDK-Inhalt in IntelliSense, in der Toolbox, in Designern, im Objektkatalog, im Build, Bereitstellung, beim Debuggen und beim Packen zu nutzen.Informationen darüber, wie Sie das SDK in Erweiterungen mit der TAB-TASTE, Sie finden Sie unter Gewusst wie: Erstellen eines Software Development Kit (SDK) anzeigt.

HinweisHinweis

Wenn Projektverweise ein SDK, die von einem anderen abhängt, Visual Studio SDK nicht das zweite SDK nutzen, es sei denn, der Benutzer manuell einen Verweis auf den zweiten SDK hinzugefügt wird.Wenn ein Benutzer ein SDK auf der Registerkarte Erweiterungen auswählt, erleichtert das Dialogfeld Verweis-Manager dem Benutzer, SDK-Abhängigkeiten zu identifizieren, indem es nicht nur den Namen und die Version des SDKs jedoch auch der Name aller SDK-Abhängigkeiten im Detailbereich auflistet.Wenn ein Benutzer nicht die Abhängigkeiten erwähnt und nur dieses SDK hinzufügt, MSBuild fordert den Benutzer auf, die Abhängigkeiten hinzuzufügen.

Wenn ein Projekttyp nicht Erweiterungen unterstützt, wird die Registerkarte nicht im Dialogfeld Verweis-Manager.

Schaltfläche "Durchsuchen"

Sie können die Schaltfläche Durchsuchen verwenden, um für eine Komponente im Dateisystem zu suchen.

Ein Projekt kann eine Komponente verweisen, die eine andere Version von .NET Framework abzielt.Beispielsweise können Sie eine Anwendung erstellen, die auf .NET Framework 4 Client Profile ausgerichtet ist, die eine Komponente, die auf .NET Framework 2 abzielt.Weitere Informationen finden Sie unter Ausrichten auf eine bestimmte .NET Framework-Version oder ein bestimmtes .NET Framework-Profil.

Sie sollten Dateiverweise, auf Ausgaben eines anderen Projekts in derselben Projektmappe hinzufügen, da diese Zum möglicherweise Kompilierungsfehler verursacht.Verwenden Sie stattdessen die Projektmappe Registerkarte Verweis-Manager des Dialogfelds, um Verweise zwischen Projekten zu erstellen.Diese Zum erleichtert die Entwicklung im Team, indem sie Klassenbibliotheken besser verwaltet, die in den Projekten erstellen.Weitere Informationen finden Sie unter Problembehandlung bei fehlerhaften Verweisen.

Sie können einem SDK durchsuchen und es dem Projekt nicht hinzugefügt.Sie können in eine Datei nur durchsuchen, (beispielsweise eine Assembly oder ein .winmd) und es dem Projekt hinzu.

Wenn ein Dateiverweis auf einem WinMD vornimmt, ist das erwartete Layout, dass die Dateiname [] [], .winmd Dateiname DLL- und Dateiname [] .pri-Dateien alle nebeneinander platziert werden.Wenn Sie ein WinMD in den folgenden Szenarien verweisen, wird ein unvollständiger Satz von Dateien in das Projektausgabeverzeichnis kopiert und infolgedessen Build und treten Laufzeitfehler auf.

  • Systemeigene Komponente: ein systemeigenes Projekt erstellt ein WinMD für jedes disjunkter Satz Namespaces und eine DLL, die aus der Implementierung besteht.Das WinMDs hat unterschiedliche Namen.Wenn es diese systemeigene Komponentendatei verweist, erkennt MSBuild nicht, dass das verschieden benannte WinMDs eine Komponente erstellen.Daher nur das mit identischen Namen [Dateiname] .dll und Dateiname [] .winmd wird kopiert, und Laufzeitfehler entstehen.Um dieses Problem zu umgehen, erstellen Sie ein Erweiterung SDK.Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines Software Development Kit (SDK).

  • Vorteile von Steuerelementen: besteht aus mindestens ein XAML-Steuerelement [Dateinamen .winmd], [Dateiname] .dll, Dateiname .pri [], [xamlname .xaml] und [] imagename .jpg.Wenn das Projekt erstellt wird, werden die Ressourcendateien, die mit dem Dateiverweis abrufen nicht kopiert in das Ausgabeverzeichnis des Projekts und nur in Dateiname .winmd [], [Dateiname] .dll zugeordnet und Dateiname [] .pri kopiert.Ein Buildfehler wird protokolliert, um den Benutzer zu informieren, dass die Ressourcen xamlname .xaml [] und [] imagename .jpg fehlen.Um zu folgen, muss der Benutzer diese manuell Ressourcendateien in das Projektausgabeverzeichnis für Build- und Debuggen und Laufzeit kopieren.Um dieses Problem zu umgehen, entweder erstellen Sie ein Erweiterung SDK anhand der Schritte in Gewusst wie: Erstellen eines Software Development Kit (SDK) folgen oder bearbeiten Sie die Projektdatei um die folgende Eigenschaft hinzuzufügen:

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

    Wenn Sie die - Eigenschaft hinzufügen, lässt sich der Build langsamer aus.

Recent

Assemblys, COM, Windows und navigieren jede unterstützen eine neue Registerkarte, die die Liste der Komponenten auflistet, die kürzlich Projekten hinzugefügt wurden.

Suche

Die Suchenleiste Verweis-Manager funktioniert im Dialogfeld über die Registerkarte, die im Fokus ist.Wenn Benutzer "System" in der Suchenleiste, während die Projektmappenregisterkarte im Fokus ist, die Suche keine Ergebnisse zurückgeben, es sei denn, die Projektmappe aus einem Projektnamen besteht, der "System" enthält.

Siehe auch

Aufgaben

Gewusst wie: Hinzufügen oder Entfernen von Verweisen mithilfe des Dialogfelds "Verweise hinzufügen"

Konzepte

Verwalten von Projektverweisen