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 | |
---|---|---|
BuildManager | Obtiene el objeto BuildManager para VSProject. | |
DTE | Obtiene el objeto de extensibilidad de nivel superior. | |
Events | Obtiene un objeto VSProjectEvents que permite responder a eventos de los objetos Imports, References y BuildManager. | |
Events2 | Obtiene un objeto VSProjectEvents2 que permite responder a eventos de los objetos Imports, References, BuildManager y VSLangProjWebReferencesEvents. | |
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)). | |
Project | Obtiene el objeto Project genérico asociado al proyecto de Visual Basic o Visual C#. | |
PublishManager | Obtiene un objeto PublishManager que permite hacer clic una vez realizada la publicación. | |
References | Obtiene la colección de References del proyecto. | |
TemplatePath | Esta propiedad está desusada en Microsoft Visual Studio 2005.Utilice GetProjectItemTemplate en su lugar. | |
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)). | |
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 | |
---|---|---|
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. | |
CopyProject | Copia un proyecto web, parcial o totalmente, a una nueva ubicación. | |
CreateWebReferencesFolder | Crea la carpeta Referencias web para el proyecto. | |
Exec | Infraestructura. Sólo para uso interno de Microsoft. | |
GenerateKeyPairFiles | Genera un archivo de clave pública o privada que se emplea para formar un nombre seguro para el ensamblado. | |
GetUniqueFilename | Genera un nombre único dentro del proyecto. se utiliza para llamar a nuevos elementos de proyecto. | |
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.");
}
}