Sdílet prostřednictvím


Solution2 – rozhraní

Představuje všechny projekty a vlastnosti celého řešení v integrovaném vývojovém prostředí (IDE).

Obor názvů:  EnvDTE80
Sestavení:  EnvDTE80 (v EnvDTE80.dll)

Syntaxe

'Deklarace
<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 zveřejňuje následující členy.

Vlastnosti

  Název Popis
Veřejná vlastnost AddIns Získá AddIns kolekce, která obsahuje všechny aktuálně dostupné doplňky související s řešením.
Veřejná vlastnost Count Získá hodnotu určující počet projektů v řešení.
Veřejná vlastnost DTE Získá objekt rozšiřitelnosti nejvyšší úrovně.
Veřejná vlastnost Extender Získá požadovaný rozšiřující objekt, pokud je pro tento objekt k dispozici.
Veřejná vlastnost ExtenderCATID Získá ID kategorie rozšiřujícího objektu (CATID) pro objekt.
Veřejná vlastnost ExtenderNames Získá seznam dostupných rozšiřujících objektů pro objekt.
Veřejná vlastnost FileName Infrastruktura. Pouze pro interní použití společnosti Microsoft
Veřejná vlastnost FullName Získá úplnou cestu a název souboru objektu.
Veřejná vlastnost Globals Získá Globals objekt, který obsahuje všechny hodnoty proměnných, které mohou být uloženy v souboru řešení (SLN), soubor projektu nebo data profilu uživatele.
Veřejná vlastnost IsDirty Infrastruktura. Pouze pro interní použití společnosti Microsoft
Veřejná vlastnost IsOpen Získá hodnotu, která označuje, zda je otevřené řešení.
Veřejná vlastnost Parent Získá bezprostřední nadřízený objekt Solution2 objektu.
Veřejná vlastnost Projects Získá kolekce projektů aktuálně v roztoku.
Veřejná vlastnost Properties Získá kolekce všech vlastností, které se vztahují k objektu Solution2.
Veřejná vlastnost Saved Získá nebo nastaví hodnotu označující, zda řešení nebyl upraven od poslední Probíhá ukládání nebo otevírání.
Veřejná vlastnost SolutionBuild Získá SolutionBuild objekt pro řešení, které představuje kořenový adresář sestavení modelu automatizačních řešení úrovni.
Veřejná vlastnost TemplatePath Nahrazena GetProjectTemplate.

Nahoru

Metody

  Název Popis
Veřejná metoda AddFromFile Přidá projekt do řešení, které je založeno na souboru projektu, který je již uložen v systému.
Veřejná metoda AddFromTemplate Zkopíruje existující soubor projektu a všechny položky nebo podadresáře, které obsahuje, do určeného umístění a přidá jej k řešení.
Veřejná metoda AddSolutionFolder Přidá do složky řešení ProjectItems kolekce.
Veřejná metoda Close Zavře aktuální řešení.
Veřejná metoda Create Vytvoří prázdný řešení v zadaném adresáři se zadaným názvem.
Veřejná metoda FindProjectItem Vyhledá položku v projektu.
Veřejná metoda GetEnumerator Vrátí výčet položek v kolekci.
Veřejná metoda GetProjectItemTemplate Vrátí cestu do šablony položky projektu uvedeno.
Veřejná metoda GetProjectTemplate Vrátí cestu k šabloně projektu uvedeno.Má-li šablona RequiredFrameworkVersion prvek, který je vyšší než 4.0, měli byste poskytnout verze ve volání tak, aby hledání šablony bude nalezena shoda.Například namísto volací GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip", "CSharp"); call GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip|FrameworkVersion=4.5", "CSharp");.
Veřejná metoda Item Vrací indexovaný člen Projects kolekce.
Veřejná metoda Open Otevře zadaný řešení.
Veřejná metoda ProjectItemsTemplatePath Nahrazena GetProjectItemTemplate.
Veřejná metoda Remove Odebere zadaný projekt z řešení.
Veřejná metoda SaveAs Uloží řešení.

Nahoru

Poznámky

Toto rozhraní obsahuje kolekci všech projektů v aktuální instance rozhraní IDE a všechny vlastnosti celého řešení, jako je například konfigurace sestavení.Ať už je zabalené projektu, dílčí projekt nebo projekt nejvyšší úrovně obsahuje prvek projektu pro každý projekt.

Otevřené řešení můžete najít pomocí DTE.Solution vlastnost.Virtuální projekty, například MiscFiles nebo Položky_řešení, pomocí Solution.Item(EnvDTE.Constants.vsProjectKindMisc nebo Solution.Item(EnvDTE.Constants.vsProjectKindSolutionItems.

Příklady

Informace o spuštění tohoto kódu doplňku naleznete v Postupy: Kompilace a spuštění příkladů kódu objektu automatizace.

Následující kód vytvoří nové řešení aplikace konzoly v dané cestě.

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);
    }
}

Viz také

Referenční dokumentace

EnvDTE80 – obor názvů