Solution2, interface
Représente tous les projets et les propriétés de la solution de l'environnement de développement intégré (IDE, Integrated Development Environment).
Espace de noms : EnvDTE80
Assembly : EnvDTE80 (dans EnvDTE80.dll)
Syntaxe
'Déclaration
<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
Le type Solution2 expose les membres suivants.
Propriétés
Nom | Description | |
---|---|---|
AddIns | Obtient une collection AddIns qui contient tous les compléments actuellement disponibles associés à la solution. | |
Count | Obtient une valeur indiquant le nombre de projets dans la solution. | |
DTE | Obtient l'objet d'extensibilité de niveau supérieur. | |
Extender | Obtient l'objet Extender demandé s'il est disponible pour cet objet. | |
ExtenderCATID | Obtient l'identificateur de catégorie (CATID) d'extendeur de l'objet. | |
ExtenderNames | Obtient une liste d'extendeurs disponibles pour l'objet. | |
FileName | Infrastructure. Réservé à un usage interne Microsoft. | |
FullName | Obtient le chemin d'accès complet et le nom du fichier de l'objet. | |
Globals | Obtient l'objet Globals qui contient toutes valeurs de variable pouvant être enregistrées dans le fichier solution (.sln), le fichier projet ou les données de profil de l'utilisateur. | |
IsDirty | Infrastructure. Réservé à un usage interne Microsoft. | |
IsOpen | Obtient une valeur qui indique si une solution est ouverte. | |
Parent | Obtient l'objet parent immédiat d'un objet Solution2. | |
Projects | Obtient une collection des projets actuellement présents dans la solution. | |
Properties | Obtient une collection de toutes les propriétés relatives à l'objet Solution2. | |
Saved | Obtient ou définit une valeur indiquant si une solution n'a pas été modifiée depuis son dernier enregistrement ou sa dernière ouverture. | |
SolutionBuild | Obtient l'objet SolutionBuild pour la solution, qui représente la racine du modèle Automation de la création au niveau de la solution. | |
TemplatePath | Remplacé par GetProjectTemplate. |
Début
Méthodes
Nom | Description | |
---|---|---|
AddFromFile | Ajoute un projet à la solution qui est basée sur un fichier projet déjà stocké dans le système. | |
AddFromTemplate | Copie un fichier projet existant, ainsi que les éléments ou sous-répertoires qu'il contient, à l'emplacement spécifié, puis l'ajoute à la solution. | |
AddSolutionFolder | Ajoute un dossier de solution à une collection ProjectItems. | |
Close | Ferme la solution en cours. | |
Create | Crée une solution vide dans le répertoire spécifié avec le nom déterminé. | |
FindProjectItem | Recherche un élément dans un projet. | |
GetEnumerator | Retourne une énumération pour les éléments d'une collection. | |
GetProjectItemTemplate | Retourne un chemin au modèle d'élément de projet indiqué. | |
GetProjectTemplate | Retourne un chemin au modèle de projet indiqué.Si un modèle a un élément de RequiredFrameworkVersion supérieur à 4,0, vous devez fournir la version dans l'appel afin que la recherche du modèle trouve une correspondance.Par exemple, au lieu d'appeler GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip", "CSharp"); appelez GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip|FrameworkVersion=4.5", "CSharp");. | |
Item | Retourne un membre indexé d'une collection Projects. | |
Open | Ouvre une solution spécifiée. | |
ProjectItemsTemplatePath | Remplacé par GetProjectItemTemplate. | |
Remove | Supprime le projet spécifié de la solution. | |
SaveAs | Enregistre la solution. |
Début
Notes
Cette interface contient une collection de tous les projets de l'instance actuelle de l'environnement de développement intégré (IDE) et de toutes les propriétés de la solution, telles que les configurations de build. Il contient un élément de projet pour chaque projet, qu'il s'agisse d'un projet inclus dans un wrapper, d'un sous-projet ou d'un projet de niveau supérieur.
Vous pouvez rechercher la solution ouverte à l'aide de la propriété DTE.Solution. Pour faire des références à des projets virtuels, tels que MiscFiles ou SolutionItems, utilisez Solution.Item(EnvDTE.Constants.vsProjectKindMisc ou Solution.Item(EnvDTE.Constants.vsProjectKindSolutionItems.
Exemples
Pour plus d'informations sur l'exécution de ce code de complément, consultez Comment : compiler et exécuter les exemples de code du modèle objet Automation.
Le code suivant crée une solution d'application console dans le chemin d'accès donné.
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);
}
}