VSProject2-Schnittstelle
Enthält die für ein Visual Basic- oder Visual C#-Projekt spezifischen Informationen.Diese Informationen werden vom Object-Objekt zurückgegeben, wenn es sich bei dem Projekt um ein Visual Basic- oder Visual C#-Projekt handelt.
Namespace: VSLangProj80
Assembly: VSLangProj80 (in VSLangProj80.dll)
Syntax
'Declaration
<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
Der VSProject2-Typ macht die folgenden Member verfügbar.
Eigenschaften
Name | Beschreibung | |
---|---|---|
BuildManager | (Von VSProject geerbt.) | |
BuildManager | Ruft das BuildManager-Objekt von VSProject ab. | |
DTE | (Von VSProject geerbt.) | |
DTE | Ruft das Erweiterbarkeitsobjekt der obersten Ebene ab. | |
Events | (Von VSProject geerbt.) | |
Events | Ruft ein VSProjectEvents-Objekt ab, über das Sie auf Ereignisse der Objekte Imports, References und BuildManager reagieren können. | |
Events2 | Ruft ein VSProjectEvents2-Objekt ab, über das Sie auf Ereignisse der Objekte Imports, References, BuildManager und VSLangProjWebReferencesEvents reagieren können. | |
Imports | (Von VSProject geerbt.) | |
Imports | Ruft das mit dem Projekt verknüpfte Imports-Objekt ab.Bei C#-Projekten wird die Imports-Eigenschaft auf Nothing festgelegt (einen nullNULL-Verweis (Nothing in Visual Basic)-Verweis). | |
Project | (Von VSProject geerbt.) | |
Project | Ruft das generische Project-Objekt ab, das dem Visual Basic- oder Visual C#-Projekt zugeordnet ist. | |
PublishManager | Ruft ein PublishManager-Objekt ab, um ClickOnce-Veröffentlichungen zu ermöglichen. | |
References | (Von VSProject geerbt.) | |
References | Ruft die References-Auflistung für das Projekt ab. | |
TemplatePath | (Von VSProject geerbt.) | |
TemplatePath | Diese Eigenschaft ist in Microsoft Visual Studio 2005 veraltet.Verwenden Sie stattdessen GetProjectItemTemplate. | |
WebReferencesFolder | (Von VSProject geerbt.) | |
WebReferencesFolder | Ruft das ProjectItem-Objekt ab, das den Ordner Webverweise des Projekts darstellt.Wenn der Ordner nicht vorhanden ist, gibt die Eigenschaft Nothing (einen nullNULL-Verweis (Nothing in Visual Basic)-Verweis) zurück. | |
WorkOffline | (Von VSProject geerbt.) | |
WorkOffline | Gibt an, ob ein Webprojekt online oder offline ausgeführt wird.Bei der Offlineausführung wird die Entwicklung mit offline gespeicherten Projektdateien fortgeführt, und die Projektdateien auf dem Server bleiben unverändert. |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
AddWebReference(String) | (Von VSProject geerbt.) | |
AddWebReference(String) | Fügt dem Projekt einen Verweis auf einen Webdienst hinzu.Im Ordner Webverweise des Projekts wird ein neuer Unterordner Webdienste angelegt.Dieser neue Ordner enthält mehrere weitere zum Webdienst gehörige Projektelemente.Die Methode gibt das dem neuen Webdienstordner zugeordnete ProjectItem-Objekt zurück. | |
CopyProject(String, String, prjCopyProjectOption, String, String) | (Von VSProject geerbt.) | |
CopyProject(String, String, prjCopyProjectOption, String, String) | Kopiert ein Webprojekt teilweise oder komplett an einen neuen Speicherort. | |
CreateWebReferencesFolder() | (Von VSProject geerbt.) | |
CreateWebReferencesFolder() | Erstellt den Ordner Webverweise für das Projekt. | |
Exec(prjExecCommand, Int32, Object, Object%) | (Von VSProject geerbt.) | |
Exec(prjExecCommand, Int32, Object, Object%) | Infrastruktur. Nur für die interne Verwendung durch Microsoft vorgesehen. | |
GenerateKeyPairFiles(String, String) | (Von VSProject geerbt.) | |
GenerateKeyPairFiles(String, String) | Generiert eine öffentliche/private Schlüsseldatei, die zum Bilden eines starken Namens für die Assembly verwendet wird. | |
GetUniqueFilename(Object, String, String) | (Von VSProject geerbt.) | |
GetUniqueFilename(Object, String, String) | Generiert einen eindeutigen Dateinamen innerhalb des Projekts.der zum Benennen neuer Projektelemente verwendet wird. | |
Refresh() | (Von VSProject geerbt.) | |
Refresh() | Aktualisiert die Darstellung des Projekts im Projektmappen-Explorer sowie die Verweise. |
Zum Seitenanfang
Hinweise
Project ist ein zentrales Erweiterbarkeitsobjekt, das Informationen über Projekte in allen Programmiersprachen enthalten kann.Die Object-Eigenschaft des Project-Objekts gibt ein Objekt zurück, dessen Typ sich nach der verwendeten Projektsprache richtet.Im Fall von Visual Basic und Visual C# ist das Objekt ein VSProject2-Objekt.
Die Object-Eigenschaft gibt einen Object-Datentyp zurück.Das von der Object-Eigenschaft zurückgegebene Datenobjekt kann anschließend explizit in VSProject2 konvertiert werden.Im folgenden Beispiel wird die Konvertierung mithilfe der CType-Funktion gezeigt.Vor der Konvertierung wird der Projekttyp mit PrjKind überprüft.
Beispiele
Um dieses Beispiel als Add-In auszuführen, informieren Sie sich unter Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell.
Um festzustellen, ob es sich bei einem Visual Basic- oder Visual C#-Projekt um ein Projekt für intelligente Geräte handelt, verwenden Sie prjKindSDEVBProject und 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.");
}
}