Udostępnij za pośrednictwem


Interfejs VSProject2

Zawiera informacje specyficzne dla Visual Basic lub Visual C# projektu.Object Obiektu zwraca ją, gdy projekt jest Visual Basic lub Visual C# projektu.

Przestrzeń nazw:  VSLangProj80
Zestaw:  VSLangProj80 (w VSLangProj80.dll)

Składnia

'Deklaracja
<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

Typ VSProject2 uwidacznia następujące elementy członkowskie.

Właściwości

  Nazwa Opis
Właściwość publiczna BuildManager Pobiera BuildManager obiektu VSProject.
Właściwość publiczna DTE Pobiera obiekt rozszerzeń najwyższego poziomu.
Właściwość publiczna Events Pobiera VSProjectEvents obiekt, które pozwala reagować na zdarzenia Imports, References, i BuildManager obiektów.
Właściwość publiczna Events2 Pobiera VSProjectEvents2 obiekt, które pozwala reagować na zdarzenia Imports, References, BuildManager, i VSLangProjWebReferencesEvents obiektów.
Właściwość publiczna Imports Pobiera Imports obiektu skojarzonego z projektem.W przypadku projektów języka C# Imports właściwość jest ustawiona na Nothing ( nullodwołanie o wartości null (Nothing w języku Visual Basic) odniesienia).
Właściwość publiczna Project Pobiera nazwę rodzajową Project obiektu skojarzonego z Visual Basic lub Visual C# projektu.
Właściwość publiczna PublishManager Pobiera PublishManager obiekt, aby umożliwić kliknij raz publikowania.
Właściwość publiczna References Pobiera References kolekcji dla projektu.
Właściwość publiczna TemplatePath Ta właściwość została zaniechana w Microsoft Visual Studio 2005.Zamiast tego użyj elementu GetProjectItemTemplate.
Właściwość publiczna WebReferencesFolder Pobiera ProjectItem obiekt reprezentujący folder odwołania sieci Web projektu.Jeśli folder nie istnieje, właściwość ta zwraca Nothing ( nullodwołanie o wartości null (Nothing w języku Visual Basic) odniesienia).
Właściwość publiczna WorkOffline Wskazuje, czy projekt sieci Web działa online lub offline.Podczas pracy w trybie offline, nadal trwają prace nad Pamięć trybu offline plików projektów, tak aby pliki projektu na serwerze nie są zmieniane.

Początek

Metody

  Nazwa Opis
Metoda publiczna AddWebReference Dodaje odwołanie do usługi sieci Web dla projektu.Nowy podfolder odwołania usługi sieci Web jest dodawana do folderu odwołania sieci Web projektu.Ten nowy folder zawiera kilka innych elementów projektu związane z usługą sieci Web.Metoda zwraca ProjectItem obiektu skojarzonego z nowy folder usługą sieci Web.
Metoda publiczna CopyProject Kopie niektórych lub wszystkich projektu sieci Web do nowej lokalizacji.
Metoda publiczna CreateWebReferencesFolder Tworzy folder odwołania sieci Web dla projektu.
Metoda publiczna Exec Infrastruktura. Microsoft tylko do użytku wewnętrznego.
Metoda publiczna GenerateKeyPairFiles Generuje plik klucza publicznego i prywatnego, stosowany do tworzenia silnej nazwy zestawu.
Metoda publiczna GetUniqueFilename Generuje unikatową nazwę pliku w ramach projektu. Służy do nadawania nazw nowych elementów projektu.
Metoda publiczna Refresh Odświeża wygląd projektu w Solution Explorer i odświeża odniesienia.

Początek

Uwagi

Projectjest obiektem rozszerzalności rdzenia, który może zawierać informacje o projektach dowolnego języka.Object Właściwości Project obiektu zwraca obiekt, którego typ zależy od języka projektu.W odniesieniu do Visual Basic i Visual C#, że obiekt jest VSProject2 obiektu.

Object Właściwość zwraca Object typu danych.Dane zwrócone przez obiekt Object właściwość może następnie jawnie przekonwertować do VSProject2.Poniższy przykład demonstruje konwersji za pomocą CType funkcji.PrjKind Jest używana do sprawdzania typu projektu przed konwersją.

Przykłady

Aby uruchomić ten przykład jako dodatek, zobacz Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady.

Aby ustalić, czy Visual Basic lub Visual C# projekt jest projektem urządzeń inteligentnych, użyj prjKindSDEVBProject i 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."); 
    } 
}

Zobacz też

Informacje

Przestrzeń nazw VSLangProj80

VSProject