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 | |
---|---|---|
BuildManager | (Ereditato da VSProject) | |
BuildManager | Ottiene l'oggetto BuildManager di VSProject. | |
DTE | (Ereditato da VSProject) | |
DTE | Ottiene l'oggetto estensibilità di primo livello. | |
Events | (Ereditato da VSProject) | |
Events | Ottiene un oggetto VSProjectEvents che consente di rispondere agli eventi degli oggetti Imports, References eBuildManager. | |
Events2 | Ottiene un oggetto VSProjectEvents2 che consente di rispondere agli eventi degli oggetti Imports, References, BuildManager e VSLangProjWebReferencesEvents. | |
Imports | (Ereditato da VSProject) | |
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)). | |
Project | (Ereditato da VSProject) | |
Project | Ottiene l'oggetto Project generico associato al progetto di Visual Basic o di Visual C#. | |
PublishManager | Ottiene un oggetto PublishManager che consente di utilizzare la pubblicazione ClickOnce. | |
References | (Ereditato da VSProject) | |
References | Ottiene la raccolta References per il progetto. | |
TemplatePath | (Ereditato da VSProject) | |
TemplatePath | Questa proprietà è deprecata in Microsoft Visual Studio 2005.In alternativa, utilizzare GetProjectItemTemplate. | |
WebReferencesFolder | (Ereditato da VSProject) | |
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)). | |
WorkOffline | (Ereditato da VSProject) | |
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 | |
---|---|---|
AddWebReference(String) | (Ereditato da VSProject) | |
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. | |
CopyProject(String, String, prjCopyProjectOption, String, String) | (Ereditato da VSProject) | |
CopyProject(String, String, prjCopyProjectOption, String, String) | Determina la copia intera o parziale di un progetto Web in un nuovo percorso. | |
CreateWebReferencesFolder() | (Ereditato da VSProject) | |
CreateWebReferencesFolder() | Crea la cartella dei riferimenti Web per il progetto. | |
Exec(prjExecCommand, Int32, Object, Object%) | (Ereditato da VSProject) | |
Exec(prjExecCommand, Int32, Object, Object%) | Infrastruttura. Solo per utilizzo interno di Microsoft. | |
GenerateKeyPairFiles(String, String) | (Ereditato da VSProject) | |
GenerateKeyPairFiles(String, String) | Genera un file di chiave pubblica/privata utilizzato per formare un nome sicuro per l'assembly. | |
GetUniqueFilename(Object, String, String) | (Ereditato da VSProject) | |
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. | |
Refresh() | (Ereditato da VSProject) | |
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.");
}
}