Condividi tramite


Interfaccia VSProject2

Contiene le informazioni specifiche di un progetto di Visual Basic o di Visual C# project.Viene restituito dall'oggetto Object se il progetto è un progetto di Visual Basic o di Visual C#.

Spazio dei nomi:  VSLangProj80
Assembly:  VSLangProj80 (in VSLangProj80.dll)

Sintassi

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

Il tipo VSProject2 espone i seguenti membri.

Proprietà

  Nome Descrizione
Proprietà pubblica BuildManager (Ereditato da VSProject)
Proprietà pubblica BuildManager Ottiene l'oggetto BuildManager di VSProject.
Proprietà pubblica DTE (Ereditato da VSProject)
Proprietà pubblica DTE Ottiene l'oggetto estensibilità di primo livello.
Proprietà pubblica Events (Ereditato da VSProject)
Proprietà pubblica Events Ottiene un oggetto VSProjectEvents che consente di rispondere agli eventi degli oggetti Imports, References eBuildManager.
Proprietà pubblica Events2 Ottiene un oggetto VSProjectEvents2 che consente di rispondere agli eventi degli oggetti Imports, References, BuildManager e VSLangProjWebReferencesEvents.
Proprietà pubblica Imports (Ereditato da VSProject)
Proprietà pubblica Imports Ottiene l'oggetto Imports associato al progetto.Nel caso dei progetti C#, la proprietà Imports è impostata su Nothing (un riferimento nullriferimento null (Nothing in Visual Basic)).
Proprietà pubblica Project (Ereditato da VSProject)
Proprietà pubblica Project Ottiene l'oggetto Project generico associato al progetto di Visual Basic o di Visual C#.
Proprietà pubblica PublishManager Ottiene un oggetto PublishManager che consente di utilizzare la pubblicazione ClickOnce.
Proprietà pubblica References (Ereditato da VSProject)
Proprietà pubblica References Ottiene la raccolta References per il progetto.
Proprietà pubblica TemplatePath (Ereditato da VSProject)
Proprietà pubblica TemplatePath Questa proprietà è deprecata in Microsoft Visual Studio 2005.In alternativa, utilizzare GetProjectItemTemplate.
Proprietà pubblica WebReferencesFolder (Ereditato da VSProject)
Proprietà pubblica WebReferencesFolder Ottiene l'oggetto ProjectItem che rappresenta la cartella dei riferimenti Web del progetto.Se la cartella non esiste, questa proprietà restituisce Nothing (un riferimento nullriferimento null (Nothing in Visual Basic)).
Proprietà pubblica WorkOffline (Ereditato da VSProject)
Proprietà pubblica WorkOffline Specifica se l'esecuzione di un progetto Web è online oppure offline.Quando l'esecuzione non è online, lo sviluppo prosegue in un archivio offline dei file di progetto, in modo che i file di progetto sul server non vengano modificati.

In alto

Metodi

  Nome Descrizione
Metodo pubblico AddWebReference(String) (Ereditato da VSProject)
Metodo pubblico AddWebReference(String) Aggiunge un riferimento ad un servizio Web nel progetto.Viene aggiunta una nuova sottocartella di riferimento del servizio Web alla cartella dei riferimenti Web del progetto.Questa nuova cartella contiene numerosi altri elementi del progetto relativi al servizio Web.Il metodo restituisce l'oggetto ProjectItem associato alla nuova cartella del servizio Web.
Metodo pubblico CopyProject(String, String, prjCopyProjectOption, String, String) (Ereditato da VSProject)
Metodo pubblico CopyProject(String, String, prjCopyProjectOption, String, String) Determina la copia intera o parziale di un progetto Web in un nuovo percorso.
Metodo pubblico CreateWebReferencesFolder() (Ereditato da VSProject)
Metodo pubblico CreateWebReferencesFolder() Crea la cartella dei riferimenti Web per il progetto.
Metodo pubblico Exec(prjExecCommand, Int32, Object, Object%) (Ereditato da VSProject)
Metodo pubblico Exec(prjExecCommand, Int32, Object, Object%) Infrastruttura. Solo per utilizzo interno di Microsoft.
Metodo pubblico GenerateKeyPairFiles(String, String) (Ereditato da VSProject)
Metodo pubblico GenerateKeyPairFiles(String, String) Genera un file di chiave pubblica/privata utilizzato per formare un nome sicuro per l'assembly.
Metodo pubblico GetUniqueFilename(Object, String, String) (Ereditato da VSProject)
Metodo pubblico GetUniqueFilename(Object, String, String) Questo metodo consente di generare un nome file univoco all'interno del progetto.viene utilizzato per denominare nuovi elementi di progetto.
Metodo pubblico Refresh() (Ereditato da VSProject)
Metodo pubblico Refresh() Aggiorna l'aspetto del progetto in Esplora soluzioni e aggiorna i riferimenti.

In alto

Note

Project è un oggetto di estensibilità principale che può contenere informazioni sui progetti di tutti i linguaggi.La proprietà Object dell'oggetto Project restituisce un oggetto il cui tipo dipende dal linguaggio utilizzato nel progetto.Nel caso di progetti di Visual Basic e Visual C#, questo oggetto è un oggetto VSProject2.

La proprietà Object restituisce un tipo di dati Object.L'oggetto dati restituito dalla proprietà Object può essere convertito esplicitamente in VSProject2.L'esempio seguente dimostra tale conversione tramite la funzione CType.L'oggetto PrjKind viene utilizzato per eseguire il test del tipo di progetto prima della conversione.

Esempi

Per eseguire questo esempio come componente aggiuntivo, vedere Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione.

Per stabilire se un progetto di Visual Basic o Visual C# è un progetto per Smart Device, utilizzare le proprietà prjKindSDEVBProject e 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."); 
    } 
}

Vedere anche

Riferimenti

Spazio dei nomi VSLangProj80

VSProject