Share via


VSProject2 (Interfaz)

Contiene la información específica de un proyecto de Visual Basic o Visual C#. El objeto Object lo devuelve cuando se trata de un proyecto de Visual Basic o Visual C#.

Espacio de nombres:  VSLangProj80
Ensamblado:  VSLangProj80 (en VSLangProj80.dll)

Sintaxis

'Declaración
<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

El tipo VSProject2 expone los siguientes miembros.

Propiedades

  Nombre Descripción
Propiedad pública BuildManager Obtiene el objeto BuildManager para VSProject.
Propiedad pública DTE Obtiene el objeto de extensibilidad de nivel superior.
Propiedad pública Events Obtiene un objeto VSProjectEvents que permite responder a eventos de los objetos Imports, References y BuildManager.
Propiedad pública Events2 Obtiene un objeto VSProjectEvents2 que permite responder a eventos de los objetos Imports, References, BuildManager y VSLangProjWebReferencesEvents.
Propiedad pública Imports Obtiene el objeto Imports asociado al proyecto.Para proyectos de C#, la propiedad Imports se establece en Nothing (una referencia nullreferencia null (Nothing en Visual Basic)).
Propiedad pública Project Obtiene el objeto Project genérico asociado al proyecto de Visual Basic o Visual C#.
Propiedad pública PublishManager Obtiene un objeto PublishManager que permite hacer clic una vez realizada la publicación.
Propiedad pública References Obtiene la colección de References del proyecto.
Propiedad pública TemplatePath Esta propiedad está desusada en Microsoft Visual Studio 2005.Utilice GetProjectItemTemplate en su lugar.
Propiedad pública WebReferencesFolder Obtiene el objeto ProjectItem que representa la carpeta Referencias web del proyecto.Si la carpeta no existe, esta propiedad devuelve Nothing (una referencia nullreferencia null (Nothing en Visual Basic)).
Propiedad pública WorkOffline Determina si un proyecto web trabaja en línea o sin conexión.Cuando trabaja sin conexión, el desarrollo continúa en un almacén sin conexión de los archivos de proyecto, por lo que los archivos situados en el servidor no se modifican.

Arriba

Métodos

  Nombre Descripción
Método público AddWebReference Agrega al proyecto una referencia a un servicio Web.Se agrega una nueva subcarpeta con una referencia a un servicio Web a la carpeta Referencias web del proyecto.Esta nueva carpeta contiene otros elementos de proyecto relacionados con el servicio Web.El método devuelve el objeto ProjectItem asociado a la nueva carpeta de servicio Web.
Método público CopyProject Copia un proyecto web, parcial o totalmente, a una nueva ubicación.
Método público CreateWebReferencesFolder Crea la carpeta Referencias web para el proyecto.
Método público Exec Infraestructura. Sólo para uso interno de Microsoft.
Método público GenerateKeyPairFiles Genera un archivo de clave pública o privada que se emplea para formar un nombre seguro para el ensamblado.
Método público GetUniqueFilename Genera un nombre único dentro del proyecto. se utiliza para llamar a nuevos elementos de proyecto.
Método público Refresh Actualiza la apariencia del proyecto en el Explorador de soluciones, así como las referencias.

Arriba

Comentarios

Project es un objeto de extensibilidad general que puede contener información sobre proyectos de cualquier lenguaje. La propiedad Object del objeto Project devuelve un objeto cuyo tipo depende del lenguaje del proyecto utilizado. En el caso de Visual Basic y Visual C#, ese objeto es un objeto VSProject2.

La propiedad Object devuelve un tipo de datos Object. A continuación, el objeto de datos devuelto por la propiedad Object puede convertirse explícitamente en VSProject2. En el ejemplo siguiente se muestra esta conversión mediante la función CType. PrjKind se usa para probar el tipo del proyecto antes de la conversión.

Ejemplos

Para ejecutar este ejemplo como complemento, vea Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización.

Para determinar si un proyecto de Visual Basic o de Visual C# es un proyecto para dispositivos inteligentes, utilice prjKindSDEVBProject y 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."); 
    } 
}

Vea también

Referencia

VSLangProj80 (Espacio de nombres)

VSProject