Interfejs Solution4
Reprezentuje wszystkie projekty i rozwiązania na poziomie właściwości w zintegrowane środowisko programistyczne (IDE).Supersedes Solution, Solution2, and Solution3.
Przestrzeń nazw: EnvDTE100
Zestaw: EnvDTE100 (w EnvDTE100.dll)
Składnia
'Deklaracja
<GuidAttribute("CDA7305C-78B6-4D9D-90AD-93EBE71F9341")> _
Public Interface Solution4 _
Inherits Solution3
[GuidAttribute("CDA7305C-78B6-4D9D-90AD-93EBE71F9341")]
public interface Solution4 : Solution3
[GuidAttribute(L"CDA7305C-78B6-4D9D-90AD-93EBE71F9341")]
public interface class Solution4 : Solution3
[<GuidAttribute("CDA7305C-78B6-4D9D-90AD-93EBE71F9341")>]
type Solution4 =
interface
interface Solution3
end
public interface Solution4 extends Solution3
Typ Solution4 uwidacznia następujące elementy członkowskie.
Właściwości
Nazwa | Opis | |
---|---|---|
AddIns | Pobiera AddIns kolekcji, która zawiera wszystkie aktualnie dostępne dodatki związane z rozwiązaniem. | |
Count | Pobiera wartość wskazującą liczbę projektów w rozwiązaniu. | |
DTE | Pobiera obiekt rozszerzający najwyższego poziomu. | |
Extender | Pobiera żądany obiekt rozszerzenia, jeśli jest on dostępny dla tego obiektu. | |
ExtenderCATID | Pobiera ID kategorii rozszerzenia (Identyfikator CATID) dla obiektu. | |
ExtenderNames | Pobiera listę dostępnych rozszerzeń dla obiektu. | |
FileName | Infrastruktura. Pobiera nazwę pliku. | |
FullName | Pobiera pełną ścieżkę i nazwę pliku obiektu. | |
Globals | Pobiera Globals obiekt, który zawiera wszystkie wartości zmiennych, które mogą być zapisane w pliku rozwiązania (.sln), plik projektu lub dane profilu użytkownika. | |
IsDirty | Infrastruktura. Określa, czy rozwiązanie jest zabrudzony (zmodyfikowany, ale nie zapisane). | |
IsOpen | Pobiera się, czy rozwiązanie jest otwarte. | |
Parent | Pobiera obiekt nadrzędny natychmiastowego Solution2 obiektu. | |
Projects | Pobiera Kolekcja projektów obecnie w roztworze. | |
Properties | Zwraca kolekcję wszystkich właściwości, które odnoszą się do Solution2 obiektu. | |
Saved | Pobiera lub ustawia wartość wskazującą, czy rozwiązania nie został zmodyfikowany od czasu ostatniego jest zapisywanie lub otwieranie. | |
SolutionBuild | Pobiera SolutionBuild obiektu dla roztworu, który reprezentuje katalog główny model automatyzacji kompilacji na poziomie rozwiązanie. | |
TemplatePath | Zastąpiony przez GetProjectTemplate. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
AddFromFile | Dodaje projektu do rozwiązania opartego na pliku projektu już przechowywane w systemie. | |
AddFromTemplate | Kopiuje istniejący projektu pliku, oraz wszystkie elementy lub podkatalogi które zawiera, do określonej lokalizacji i dodaje go do rozwiązania. | |
AddFromTemplateEx | Kopiuje istniejący projektu pliku, oraz wszystkie elementy lub podkatalogi które zawiera, do określonej lokalizacji i dodaje go do rozwiązania. | |
AddSolutionFolder | Dodaje folder rozwiązanie do ProjectItems kolekcji. | |
Close | Umożliwia zamknięcie bieżącego rozwiązania. | |
Create | Tworzy puste rozwiązań w podanym katalogu o podanej nazwie. | |
FindProjectItem | Lokalizuje element projektu. | |
GetEnumerator | Zwraca wartość wyliczenia dla elementów w kolekcji. | |
GetProjectItemTemplate | Zwraca ścieżkę do szablonu elementu wskazanego projektu. | |
GetProjectItemTemplates | Zwraca kolekcję szablonów element projektu dla określonego projektu. | |
GetProjectTemplate | Zwraca ścieżkę do szablonu określonego projektu.Jeśli szablon ma wyższy niż 4.0 element RequiredFrameworkVersion, tak aby wyszukiwania dla szablonu znajdzie dopasowanie powinny zapewnić wersji w wywołaniu.Na przykład, zamiast telefonicznej GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip", "CSharp"); call GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip|FrameworkVersion=4.5", "CSharp");. | |
Item | Zwraca indeksowanych członkiem Projects kolekcji. | |
Open | Otwiera określonego rozwiązania. | |
ProjectItemsTemplatePath | Zastąpiony przez GetProjectItemTemplate. | |
Remove | Usuwa określony projekt z rozwiązania. | |
SaveAs | Zapisuje rozwiązanie. |
Początek
Uwagi
Solution4 Obiekt jest kolekcją wszystkich projektów w bieżącym wystąpieniu programu IDE i wszystkie właściwości całego rozwiązania, takie jak konfiguracje kompilacji.Solution4 Obiekt zawiera element projektu dla każdego projektu, czy jest zapakowane projektu, podprojektu lub projektu najwyższego poziomu.
Odwoływać się tego obiektu za pomocą DTE.Solution.Odwołać się do wirtualnego projekty, takie jak MiscFiles lub SolutionItems, użyj Solution4.Item(EnvDTE.Constants.vsProjectKindMisc) lub Solution4.Item(EnvDTE.Constants.vsProjectKindSolutionItems).
Przykłady
Więcej informacji na temat uruchamiania tego kodu dodatku: Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady.
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)
Solution4Example(_applicationObject)
End Sub
Sub Solution4Example(ByVal dte As DTE2)
' This function creates a solution and adds a Visual C# Console
' project to it.
Try
Dim soln As Solution4 = CType(DTE.Solution, Solution4)
Dim csTemplatePath As String
' This path must exist on your computer.
' Replace <file path> below with an actual path.
Dim csPrjPath As String = "<file path>"
MsgBox("starting")
' Get the project template path for a C# console project.
csTemplatePath = CType(soln.GetProjectTemplate _
("ConsoleApplication.zip", "CSharp"), string)
' Create a new C# Console project using the template obtained
' above.
soln.AddFromTemplate(csTemplatePath, csPrjPath, _
"New CSharp Console Project", False)
MsgBox("done")
Catch ex As System.Exception
MsgBox(ex.ToString)
End Try
End Sub
using System.Windows.Forms;
public void OnConnection(object application,
Extensibility.ext_ConnectMode connectMode, object addInInst,
ref System.Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
// Pass the applicationObject member variable to the code example.
Solution4Example((DTE2)_applicationObject);
}
public void Solution4Example(DTE2 dte)
{
// This function creates a solution and adds a Visual C# Console
// project to it.
try{
Solution4 soln = (Solution4)_applicationObject.Solution;
String csTemplatePath;
// The file path must exist on your computer.
// Replace <file path> below with an actual path.
String csPrjPath = "<file path>";
"<file path>MessageBox.Show("Starting...");
"<file path>"<file path>csTemplatePath =
soln.GetProjectTemplate("ConsoleApplication.zip", "CSharp");
// Create a new C# Console project using the template obtained
// above.
soln.AddFromTemplate(csTemplatePath, csPrjPath,
"New CSharp Console Project", false);
MessageBox.Show("Done!");
}
catch(SystemException ex)
{
MessageBox.Show("ERROR: " + ex);
}
}