2009-05-13 8 views
2

Ich verwende Visual Studio und COM mit C# zum ersten Mal und es gibt etwas, das ich nicht ganz verstehe über die "Referenzen". Woher weißt du, was du mit einem gegebenen "Etwas verwenden.etwas" zu tun hast? Die .Net-Referenzen scheinen ziemlich einfach zu sein, aber COM ist weniger offensichtlich. Ich führe Visual Studio 2005 aus und habe den neuesten VSTO installiert, aber für das Leben von mir kann ich nicht herausfinden, was ich brauche, um zu erfüllen:Finden von Verweisen in Visual Studio

mit Microsoft.VisualStudio.Tools.Applications.Runtime;

Es gibt ein paar Microsoft.VisualStudio Dinge in der Registerkarte .Net, aber keine, die mit .Tools oder ähnlichem weitermachen. Ich habe das Gefühl, dass mir hier ein Schlüsselkonzept fehlt.

Antwort

3

Es gibt zwei Probleme hier -

Zuerst wird eine Referenz nicht notwendigerweise zu einem Namensraum entsprechen. Eine einzelne Referenz kann mehrere Namespaces enthalten, und ein einzelner Namespace kann von mehreren Assemblys gemeinsam genutzt werden, die referenziert werden müssen. Wenn Sie eine Referenz angeben müssen, können Sie bestimmte Typen und nicht ganze Namespaces verwenden.

Zweitens ist dies etwas, was Sie im Voraus wissen müssen. Wenn Sie Microsoft-Klassen verwenden, z. B. die in dem aufgeführten Namespace, kann MSDN eine große Hilfe sein.

Nehmen wir zum Beispiel Microsoft.VisualStudio.Tools.Applications.Runtime.ServerDocument

Wenn Sie für diese Klasse auf der MSDN-Seite aussehen (in diesem Namensraum), in der Nähe der Spitze enthält es:

Namespace: Microsoft.VisualStudio.Tools.Applications .Runtime

Assembly: Microsoft.VisualStudio.Tools.Applications.Runtime (in microsoft.visualstudio.tools.applications.runtime.dll)

Hier erfahren Sie genau, welche Baugruppe benötigt wird.

1

Diese Referenz ist Teil des Visual Studio SDK. Ich verwende derzeit VS 2008, aber die Assemblys sollten für VS 2005 identisch sein. Der Link für das SDK ist here.

0

Der umgekehrte Weg ist ziemlich einfach. Wenn Sie eine Referenz erhalten, können Sie diese Referenz im Objektbrowser öffnen, um zu sehen, welche Namespaces darin enthalten sind, und daraus bestimmen, welche Usings hinzugefügt werden sollen. Es ist nicht trivial zu bestimmen, was für eine gegebene Verwendung zu referenzieren ist, da es keine Garantie dafür gibt, dass für jeden Namespace genau eine DLL existiert. Wie kommt es, dass Sie an einem

using Microsoft.VisualStudio.Tools.Applications.Runtime; 

kamen Ohne zu wissen, was zu verweisen? Wenn es irgendwo ein Codebeispiel ist, sollten sie erwähnen, was die externen Referenzen und Abhängigkeiten des Projekts sind.

Verwandte Themen