Freigeben über


VSProject2-Schnittstelle

Enthält die für ein Visual Basic- oder Visual C#-Projekt spezifischen Informationen.Diese Informationen werden vom Object-Objekt zurückgegeben, wenn es sich bei dem Projekt um ein Visual Basic- oder Visual C#-Projekt handelt.

Namespace:  VSLangProj80
Assembly:  VSLangProj80 (in VSLangProj80.dll)

Syntax

'Declaration
<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")> _
Public Interface VSProject2 _
    Inherits VSProject
[GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface VSProject2 : VSProject
[GuidAttribute(L"B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface class VSProject2 : VSProject
[<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")>]
type VSProject2 =  
    interface
        interface VSProject
    end
public interface VSProject2 extends VSProject

Der VSProject2-Typ macht die folgenden Member verfügbar.

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft BuildManager (Von VSProject geerbt.)
Öffentliche Eigenschaft BuildManager Ruft das BuildManager-Objekt von VSProject ab.
Öffentliche Eigenschaft DTE (Von VSProject geerbt.)
Öffentliche Eigenschaft DTE Ruft das Erweiterbarkeitsobjekt der obersten Ebene ab.
Öffentliche Eigenschaft Events (Von VSProject geerbt.)
Öffentliche Eigenschaft Events Ruft ein VSProjectEvents-Objekt ab, über das Sie auf Ereignisse der Objekte Imports, References und BuildManager reagieren können.
Öffentliche Eigenschaft Events2 Ruft ein VSProjectEvents2-Objekt ab, über das Sie auf Ereignisse der Objekte Imports, References, BuildManager und VSLangProjWebReferencesEvents reagieren können.
Öffentliche Eigenschaft Imports (Von VSProject geerbt.)
Öffentliche Eigenschaft Imports Ruft das mit dem Projekt verknüpfte Imports-Objekt ab.Bei C#-Projekten wird die Imports-Eigenschaft auf Nothing festgelegt (einen nullNULL-Verweis (Nothing in Visual Basic)-Verweis).
Öffentliche Eigenschaft Project (Von VSProject geerbt.)
Öffentliche Eigenschaft Project Ruft das generische Project-Objekt ab, das dem Visual Basic- oder Visual C#-Projekt zugeordnet ist.
Öffentliche Eigenschaft PublishManager Ruft ein PublishManager-Objekt ab, um ClickOnce-Veröffentlichungen zu ermöglichen.
Öffentliche Eigenschaft References (Von VSProject geerbt.)
Öffentliche Eigenschaft References Ruft die References-Auflistung für das Projekt ab.
Öffentliche Eigenschaft TemplatePath (Von VSProject geerbt.)
Öffentliche Eigenschaft TemplatePath Diese Eigenschaft ist in Microsoft Visual Studio 2005 veraltet.Verwenden Sie stattdessen GetProjectItemTemplate.
Öffentliche Eigenschaft WebReferencesFolder (Von VSProject geerbt.)
Öffentliche Eigenschaft WebReferencesFolder Ruft das ProjectItem-Objekt ab, das den Ordner Webverweise des Projekts darstellt.Wenn der Ordner nicht vorhanden ist, gibt die Eigenschaft Nothing (einen nullNULL-Verweis (Nothing in Visual Basic)-Verweis) zurück.
Öffentliche Eigenschaft WorkOffline (Von VSProject geerbt.)
Öffentliche Eigenschaft WorkOffline Gibt an, ob ein Webprojekt online oder offline ausgeführt wird.Bei der Offlineausführung wird die Entwicklung mit offline gespeicherten Projektdateien fortgeführt, und die Projektdateien auf dem Server bleiben unverändert.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode AddWebReference(String) (Von VSProject geerbt.)
Öffentliche Methode AddWebReference(String) Fügt dem Projekt einen Verweis auf einen Webdienst hinzu.Im Ordner Webverweise des Projekts wird ein neuer Unterordner Webdienste angelegt.Dieser neue Ordner enthält mehrere weitere zum Webdienst gehörige Projektelemente.Die Methode gibt das dem neuen Webdienstordner zugeordnete ProjectItem-Objekt zurück.
Öffentliche Methode CopyProject(String, String, prjCopyProjectOption, String, String) (Von VSProject geerbt.)
Öffentliche Methode CopyProject(String, String, prjCopyProjectOption, String, String) Kopiert ein Webprojekt teilweise oder komplett an einen neuen Speicherort.
Öffentliche Methode CreateWebReferencesFolder() (Von VSProject geerbt.)
Öffentliche Methode CreateWebReferencesFolder() Erstellt den Ordner Webverweise für das Projekt.
Öffentliche Methode Exec(prjExecCommand, Int32, Object, Object%) (Von VSProject geerbt.)
Öffentliche Methode Exec(prjExecCommand, Int32, Object, Object%) Infrastruktur. Nur für die interne Verwendung durch Microsoft vorgesehen.
Öffentliche Methode GenerateKeyPairFiles(String, String) (Von VSProject geerbt.)
Öffentliche Methode GenerateKeyPairFiles(String, String) Generiert eine öffentliche/private Schlüsseldatei, die zum Bilden eines starken Namens für die Assembly verwendet wird.
Öffentliche Methode GetUniqueFilename(Object, String, String) (Von VSProject geerbt.)
Öffentliche Methode GetUniqueFilename(Object, String, String) Generiert einen eindeutigen Dateinamen innerhalb des Projekts.der zum Benennen neuer Projektelemente verwendet wird.
Öffentliche Methode Refresh() (Von VSProject geerbt.)
Öffentliche Methode Refresh() Aktualisiert die Darstellung des Projekts im Projektmappen-Explorer sowie die Verweise.

Zum Seitenanfang

Hinweise

Project ist ein zentrales Erweiterbarkeitsobjekt, das Informationen über Projekte in allen Programmiersprachen enthalten kann.Die Object-Eigenschaft des Project-Objekts gibt ein Objekt zurück, dessen Typ sich nach der verwendeten Projektsprache richtet.Im Fall von Visual Basic und Visual C# ist das Objekt ein VSProject2-Objekt.

Die Object-Eigenschaft gibt einen Object-Datentyp zurück.Das von der Object-Eigenschaft zurückgegebene Datenobjekt kann anschließend explizit in VSProject2 konvertiert werden.Im folgenden Beispiel wird die Konvertierung mithilfe der CType-Funktion gezeigt.Vor der Konvertierung wird der Projekttyp mit PrjKind überprüft.

Beispiele

Um dieses Beispiel als Add-In auszuführen, informieren Sie sich unter Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell.

Um festzustellen, ob es sich bei einem Visual Basic- oder Visual C#-Projekt um ein Projekt für intelligente Geräte handelt, verwenden Sie prjKindSDEVBProject und prjKindSDECSharpProject.

[Visual Basic]

Imports VSLangProj
Imports VSLangProj2
Imports VSLangProj80
Public Sub OnConnection(ByVal application As Object,_
 ByVal connectMode As ext_ConnectMode, ByVal addInInst _
 As Object, ByRef custom As Array) Implements _
 IDTExtensibility2.OnConnection
    applicationObject = CType(application, DTE2)
    addInInstance = CType(addInInst, AddIn)
    VSProject2Example(applicationObject)
End Sub

 Sub VSProject2Example(ByVal dte As DTE2)
    Dim aProject As Project
    Dim aVSProject2 As VSProject2

    aProject = applicationObject.Solution.Projects.Item(1)
    MsgBox(aProject.Kind & aProject.Name)
    If (aProject.Kind = PrjKind.prjKindVBProject) Or_
    (aProject.Kind = PrjKind.prjKindCSharpProject) Then
        aVSProject2 = CType(applicationObject.Solution.Projects.Item(1).Object, _
        VSProject2)
        MsgBox(aVSProject2.Project.FullName)
    Else
        MsgBox("The first project is not a Visual Basic or C# _
        project.")
    End If
End Sub

[C#]

// To use Messabox.Show, a reference to Windows.Forms is required.
using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
public void OnConnection(object application, ext_ConnectMode
 connectMode, object addInInst, ref Array custom)
{
    applicationObject = (DTE2)application;
    addInInstance = (AddIn)addInInst;
    VSProject2Example((DTE2)applicationObject);
}

public void VSProject2Example(DTE2 dte)
{
    Project aProject = null; 
    VSProject aVSProject2 = null; 
    aProject = applicationObject.Solution.Projects.Item( 1 ); 
    MessageBox.Show( aProject.Kind + aProject.Name); 
    if ( ( aProject.Kind == PrjKind.prjKindVBProject ) |
 ( aProject.Kind == PrjKind.prjKindCSharpProject ) ) 
    { 
        aVSProject2 = ( ( VSProject )
(applicationObject.Solution.Projects.Item( 1 ).Object ) ); 
        MessageBox.Show( aVSProject2.Project.FullName); 
    } 
    else 
    { 
        MessageBox.Show( "The first project is not a Visual Basic or C# project."); 
    } 
}

Siehe auch

Referenz

VSLangProj80-Namespace

VSProject