VSProject2 Arabirim

Tanım

Visual Basic veya Visual C# projesine özgü bilgileri içerir. ObjectNesne, proje bir Visual Basic veya Visual C# projesi olduğunda onu döndürür.

public interface class VSProject2 : VSLangProj::VSProject
public interface class VSProject2 : VSLangProj::VSProject
__interface VSProject2 : VSLangProj::VSProject
[System.Runtime.InteropServices.Guid("B1042570-25C6-424A-B58B-56FA83AA828A")]
[System.Runtime.InteropServices.TypeLibType(4160)]
public interface VSProject2 : VSLangProj.VSProject
[<System.Runtime.InteropServices.Guid("B1042570-25C6-424A-B58B-56FA83AA828A")>]
[<System.Runtime.InteropServices.TypeLibType(4160)>]
type VSProject2 = interface
    interface VSProject
Public Interface VSProject2
Implements VSProject
Türetilmiş
Öznitelikler
Uygulamalar

Örnekler

Bu örneği bir eklenti olarak çalıştırmak için bkz. nasıl yapılır: derleme ve Otomasyon nesne modeli kodu örnekleri çalıştırma.

Bir Visual Basic veya Visual C# projenin akıllı cihaz projesi olup olmadığını anlamak için prjKindSDEVBProject ve kullanın 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  

Þ

// 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.");   
    }   
}  

Açıklamalar

Project , herhangi bir dilin projeleri hakkında bilgi içerebilen bir temel genişletilebilirlik nesnesidir. ObjectNesnesinin özelliği, Project türü kullanılan proje diline bağlı olan bir nesne döndürür. Visual BasicVe durumunda Visual C# , bu nesne bir VSProject2 nesnedir.

ObjectÖzelliği bir Object veri türü döndürür. Özelliği tarafından döndürülen veri nesnesi, Object açıkça öğesine dönüştürülebilir VSProject2 . Aşağıdaki örnekte, işlevi kullanılarak bu dönüştürme gösterilmektedir CType . PrjKindDönüştürmeden önce projenin türünü test etmek için kullanılır.

Özellikler

BuildManager

Öğesinin BuildManager nesnesini alır VSProject .

DTE

Üst düzey genişletilebilirlik nesnesini alır.

Events

VSProjectEvents Imports , Ve nesnelerinin olaylarına yanıt vermenize olanak tanıyan bir nesne alır References BuildManager .

Events2

,, VSProjectEvents2 Imports References BuildManager Ve nesnelerinin olaylarına yanıt vermenize olanak tanıyan bir nesne alır VSLangProjWebReferencesEvents .

Imports

ImportsProjeyle ilişkili nesneyi alır. C# projeleri için Imports özelliği Nothing (null başvuru) olarak ayarlanır.

Project

ProjectVisual Basic veya Visual C# projesiyle ilişkili genel nesneyi alır.

PublishManager

Yayımlamaya bir PublishManager kez tıklayarak bir nesneyi alır.

References

ReferencesProjenin koleksiyonunu alır.

TemplatePath

Bu özellik Microsoft Visual Studio 2005 ' de kullanımdan kaldırılmıştır. Bunun yerine GetProjectItemTemplate(String, String) kullanın.

WebReferencesFolder

ProjectItemProjenin Web başvuruları klasörünü temsil eden nesneyi alır. Klasör yoksa, bu özellik Nothing (null başvuru) döndürür.

WorkOffline

Bir Web projesinin çevrimiçi veya çevrimdışı çalışıp çalışmadığını belirtir. Çevrimdışı çalışırken geliştirme, proje dosyalarının çevrimdışı bir deposunda devam eder, böylece sunucudaki proje dosyaları değiştirilmez.

Yöntemler

AddWebReference(String)

Projeye bir Web hizmetine bir başvuru ekler. Yeni bir Web hizmeti başvuru alt klasörü, projenin Web başvuruları klasörüne eklenir. Bu yeni klasör, Web hizmetiyle ilgili birçok başka proje öğesi içerir. Yöntemi, ProjectItem Yeni Web hizmeti klasörüyle ilişkili nesneyi döndürür.

CopyProject(String, String, prjCopyProjectOption, String, String)

Bir Web projesinin bazılarını veya tümünü yeni bir konuma kopyalar.

CreateWebReferencesFolder()

Proje için Web başvuruları klasörünü oluşturur.

Exec(prjExecCommand, Int32, Object, Object)

Yalnızca Microsoft Dahili Kullanımı İçindir.

GenerateKeyPairFiles(String, String)

Derleme için tanımlayıcı bir ad oluşturmak üzere kullanılan bir ortak/özel anahtar dosyası oluşturur.

GetUniqueFilename(Object, String, String)

Proje içinde benzersiz bir dosya adı oluşturur. Yeni proje öğelerini adlandırmak için kullanılır.

Refresh()

Çözüm Gezgini içindeki projenin görünümünü yeniler ve başvuruları yeniler.

Şunlara uygulanır