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 | |
---|---|---|
AddIns | Získá AddIns kolekce, která obsahuje všechny aktuálně dostupné doplňky související s řešením. | |
Count | Získá hodnotu určující počet projektů v řešení. | |
DTE | Získá objekt rozšiřitelnosti nejvyšší úrovně. | |
Extender | Získá požadovaný rozšiřující objekt, pokud je pro tento objekt k dispozici. | |
ExtenderCATID | Získá ID kategorie rozšiřujícího objektu (CATID) pro objekt. | |
ExtenderNames | Získá seznam dostupných rozšiřujících objektů pro objekt. | |
FileName | Infrastruktura. Pouze pro interní použití společnosti Microsoft | |
FullName | Získá úplnou cestu a název souboru objektu. | |
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. | |
IsDirty | Infrastruktura. Pouze pro interní použití společnosti Microsoft | |
IsOpen | Získá hodnotu, která označuje, zda je otevřené řešení. | |
Parent | Získá bezprostřední nadřízený objekt Solution2 objektu. | |
Projects | Získá kolekce projektů aktuálně v roztoku. | |
Properties | Získá kolekce všech vlastností, které se vztahují k objektu Solution2. | |
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í. | |
SolutionBuild | Získá SolutionBuild objekt pro řešení, které představuje kořenový adresář sestavení modelu automatizačních řešení úrovni. | |
TemplatePath | Nahrazena GetProjectTemplate. |
Nahoru
Metody
Název | Popis | |
---|---|---|
AddFromFile | Přidá projekt do řešení, které je založeno na souboru projektu, který je již uložen v systému. | |
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í. | |
AddSolutionFolder | Přidá do složky řešení ProjectItems kolekce. | |
Close | Zavře aktuální řešení. | |
Create | Vytvoří prázdný řešení v zadaném adresáři se zadaným názvem. | |
FindProjectItem | Vyhledá položku v projektu. | |
GetEnumerator | Vrátí výčet položek v kolekci. | |
GetProjectItemTemplate | Vrátí cestu do šablony položky projektu uvedeno. | |
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");. | |
Item | Vrací indexovaný člen Projects kolekce. | |
Open | Otevře zadaný řešení. | |
ProjectItemsTemplatePath | Nahrazena GetProjectItemTemplate. | |
Remove | Odebere zadaný projekt z řešení. | |
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);
}
}