Udostępnij za pośrednictwem


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
Właściwość publiczna AddIns Pobiera AddIns kolekcji, która zawiera wszystkie aktualnie dostępne dodatki związane z rozwiązaniem.
Właściwość publiczna Count Pobiera wartość wskazującą liczbę projektów w rozwiązaniu.
Właściwość publiczna DTE Pobiera obiekt rozszerzający najwyższego poziomu.
Właściwość publiczna Extender Pobiera żądany obiekt rozszerzenia, jeśli jest on dostępny dla tego obiektu.
Właściwość publiczna ExtenderCATID Pobiera ID kategorii rozszerzenia (Identyfikator CATID) dla obiektu.
Właściwość publiczna ExtenderNames Pobiera listę dostępnych rozszerzeń dla obiektu.
Właściwość publiczna FileName Infrastruktura. Wyłącznie do użytku wewnętrznego firmy Microsoft.
Właściwość publiczna FullName Pobiera pełną ścieżkę i nazwę pliku obiektu.
Właściwość publiczna 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.
Właściwość publiczna IsDirty Infrastruktura. Wyłącznie do użytku wewnętrznego firmy Microsoft.
Właściwość publiczna IsOpen Pobiera wartość, która wskazuje, czy rozwiązanie jest otwarte.
Właściwość publiczna Parent Pobiera obiekt nadrzędny natychmiastowego obiektu Solution2.
Właściwość publiczna Projects Pobiera Kolekcja projektów obecnie w roztworze.
Właściwość publiczna Properties Zwraca kolekcję wszystkich właściwości, które odnoszą się do obiektu Solution2.
Właściwość publiczna Saved Pobiera lub ustawia wartość wskazującą, czy rozwiązania nie został zmodyfikowany od czasu ostatniego jest zapisywanie lub otwieranie.
Właściwość publiczna SolutionBuild Pobiera SolutionBuild obiektu dla roztworu, który reprezentuje katalog główny model automatyzacji kompilacji na poziomie rozwiązanie.
Właściwość publiczna TemplatePath Zastąpiony przez GetProjectTemplate.

Początek

Metody

  Nazwa Opis
Metoda publiczna AddFromFile Dodaje projektu do rozwiązania opartego na pliku projektu już przechowywane w systemie.
Metoda publiczna AddFromTemplate Kopiuje istniejący projektu pliku, oraz wszystkie elementy lub podkatalogi które zawiera, do określonej lokalizacji i dodaje go do rozwiązania.
Metoda publiczna AddSolutionFolder Dodaje folder rozwiązanie do ProjectItems kolekcji.
Metoda publiczna Close Umożliwia zamknięcie bieżącego rozwiązania.
Metoda publiczna Create Tworzy puste rozwiązań w podanym katalogu o podanej nazwie.
Metoda publiczna FindProjectItem Lokalizuje element projektu.
Metoda publiczna GetEnumerator Zwraca wartość wyliczenia dla elementów w kolekcji.
Metoda publiczna GetProjectItemTemplate Zwraca ścieżkę do szablonu elementu wskazanego projektu.
Metoda publiczna 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");.
Metoda publiczna Item Zwraca indeksowanych członkiem Projects kolekcji.
Metoda publiczna Open Otwiera określonego rozwiązania.
Metoda publiczna ProjectItemsTemplatePath Zastąpiony przez GetProjectItemTemplate.
Metoda publiczna Remove Usuwa określony projekt z rozwiązania.
Metoda publiczna 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);
    }
}

Zobacz też

Informacje

Przestrzeń nazw EnvDTE80