Interfejs Solution2
Reprezentuje wszystkie projekty i rozwiązania na poziomie właściwości w zintegrowane środowisko programistyczne (IDE).
Przestrzeń nazw: EnvDTE80
Zestaw: EnvDTE80 (w EnvDTE80.dll)
Składnia
'Deklaracja
<GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")> _
Public Interface Solution2 _
Inherits _Solution
[GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")]
public interface Solution2 : _Solution
[GuidAttribute(L"FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")]
public interface class Solution2 : _Solution
[<GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")>]
type Solution2 =
interface
interface _Solution
end
public interface Solution2 extends _Solution
Typ Solution2 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. Wyłącznie do użytku wewnętrznego firmy Microsoft. | |
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. Wyłącznie do użytku wewnętrznego firmy Microsoft. | |
IsOpen | Pobiera wartość, która wskazuje, czy rozwiązanie jest otwarte. | |
Parent | Pobiera obiekt nadrzędny natychmiastowego obiektu Solution2. | |
Projects | Pobiera Kolekcja projektów obecnie w roztworze. | |
Properties | Zwraca kolekcję wszystkich właściwości, które odnoszą się do obiektu Solution2. | |
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. | |
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. | |
GetProjectTemplate | Zwraca ścieżkę do szablonu projektu wskazane.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
Ten interfejs zawiera zbiór wszystkich projektów w bieżącym wystąpieniu programu IDE i wszystkie właściwości całego rozwiązania, takie jak konfiguracje kompilacji.Czy jest zapakowane projektu, podprojektu lub projektu najwyższego poziomu zawiera element projektu dla każdego projektu.
Otwórz rozwiązanie można znaleźć za pomocą DTE.Solution właściwość.Odwołać się do wirtualnego projekty, takie jak MiscFiles lub SolutionItems, użyj Solution.Item(EnvDTE.Constants.vsProjectKindMisc lub Solution.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.
Poniższy kod tworzy nowe rozwiązanie aplikacji konsoli w podanej ścieżce.
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)
SolutionExample(_applicationObject)
End Sub
Sub SolutionExample(ByVal dte As DTE2)
' This function creates a solution and adds a Visual Basic Console
' project to it.
Try
Dim soln As Solution2 = CType(DTE.Solution, Solution2)
Dim vbTemplatePath As String
' This path must exist on your computer.
' Replace <file path> below with an actual path.
Dim vbPrjPath As String = <file path>
MsgBox("starting")
' Get the project template path for a Visual Basic console application project.
vbTemplatePath = soln.GetProjectTemplate _
("ConsoleApplication.zip", "VisualBasic")
' Create a new Visual Baic Console project using the template obtained
' above.
soln.AddFromTemplate(vbTemplatePath, vbPrjPath, _
"New Visual Basic Console Project", False)
MsgBox("done")
Catch ex As System.Exception
MsgBox(ex.ToString)
End Try
End Sub
//you will need to add this reference to your project as well
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.
SolutionExample((DTE2)_applicationObject);
}
public void SolutionExample(DTE2 dte)
{
// This function creates a solution and adds a Visual C# Console
// project to it.
try{
Solution2 soln = (Solution2)_applicationObject.Solution;
String csTemplatePath;
// The file path must exist on your computer.
// Replace <file path> below with an actual path.
String csPrjPath = <file path>;
MessageBox.Show("Starting...");
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);
}
}