Interfejs VSProject2
Zawiera informacje specyficzne dla Visual Basic lub Visual C# projektu.Object Obiektu zwraca ją, gdy projekt jest Visual Basic lub Visual C# projektu.
Przestrzeń nazw: VSLangProj80
Zestaw: VSLangProj80 (w VSLangProj80.dll)
Składnia
'Deklaracja
<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
Typ VSProject2 uwidacznia następujące elementy członkowskie.
Właściwości
Nazwa | Opis | |
---|---|---|
BuildManager | Pobiera BuildManager obiektu VSProject. | |
DTE | Pobiera obiekt rozszerzeń najwyższego poziomu. | |
Events | Pobiera VSProjectEvents obiekt, które pozwala reagować na zdarzenia Imports, References, i BuildManager obiektów. | |
Events2 | Pobiera VSProjectEvents2 obiekt, które pozwala reagować na zdarzenia Imports, References, BuildManager, i VSLangProjWebReferencesEvents obiektów. | |
Imports | Pobiera Imports obiektu skojarzonego z projektem.W przypadku projektów języka C# Imports właściwość jest ustawiona na Nothing ( nullodwołanie o wartości null (Nothing w języku Visual Basic) odniesienia). | |
Project | Pobiera nazwę rodzajową Project obiektu skojarzonego z Visual Basic lub Visual C# projektu. | |
PublishManager | Pobiera PublishManager obiekt, aby umożliwić kliknij raz publikowania. | |
References | Pobiera References kolekcji dla projektu. | |
TemplatePath | Ta właściwość została zaniechana w Microsoft Visual Studio 2005.Zamiast tego użyj elementu GetProjectItemTemplate. | |
WebReferencesFolder | Pobiera ProjectItem obiekt reprezentujący folder odwołania sieci Web projektu.Jeśli folder nie istnieje, właściwość ta zwraca Nothing ( nullodwołanie o wartości null (Nothing w języku Visual Basic) odniesienia). | |
WorkOffline | Wskazuje, czy projekt sieci Web działa online lub offline.Podczas pracy w trybie offline, nadal trwają prace nad Pamięć trybu offline plików projektów, tak aby pliki projektu na serwerze nie są zmieniane. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
AddWebReference | Dodaje odwołanie do usługi sieci Web dla projektu.Nowy podfolder odwołania usługi sieci Web jest dodawana do folderu odwołania sieci Web projektu.Ten nowy folder zawiera kilka innych elementów projektu związane z usługą sieci Web.Metoda zwraca ProjectItem obiektu skojarzonego z nowy folder usługą sieci Web. | |
CopyProject | Kopie niektórych lub wszystkich projektu sieci Web do nowej lokalizacji. | |
CreateWebReferencesFolder | Tworzy folder odwołania sieci Web dla projektu. | |
Exec | Infrastruktura. Microsoft tylko do użytku wewnętrznego. | |
GenerateKeyPairFiles | Generuje plik klucza publicznego i prywatnego, stosowany do tworzenia silnej nazwy zestawu. | |
GetUniqueFilename | Generuje unikatową nazwę pliku w ramach projektu. Służy do nadawania nazw nowych elementów projektu. | |
Refresh | Odświeża wygląd projektu w Solution Explorer i odświeża odniesienia. |
Początek
Uwagi
Projectjest obiektem rozszerzalności rdzenia, który może zawierać informacje o projektach dowolnego języka.Object Właściwości Project obiektu zwraca obiekt, którego typ zależy od języka projektu.W odniesieniu do Visual Basic i Visual C#, że obiekt jest VSProject2 obiektu.
Object Właściwość zwraca Object typu danych.Dane zwrócone przez obiekt Object właściwość może następnie jawnie przekonwertować do VSProject2.Poniższy przykład demonstruje konwersji za pomocą CType funkcji.PrjKind Jest używana do sprawdzania typu projektu przed konwersją.
Przykłady
Aby uruchomić ten przykład jako dodatek, zobacz Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady.
Aby ustalić, czy Visual Basic lub Visual C# projekt jest projektem urządzeń inteligentnych, użyj prjKindSDEVBProject i 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.");
}
}