Procedura: creare progetti a livello di codice
Per creare un progetto, chiamare GetProjectTemplate, quindi passare i percorsi dei modelli restituiti a AddFromTemplate.
I modelli di progetto hanno estensione di file vstemplate e vengono archiviati in file con estensione zip.Per ottenere il percorso del file con estensione vstemplate, incluso nel file con estensione zip, utilizzare GetProjectTemplate e passarlo quindi a AddFromTemplate per creare il progetto ed eventualmente una soluzione, se non ne risulta aperta ancora nessuna.È possibile eseguire questa operazione tutte le volte necessarie. Ogni progetto verrà aggiunto alla soluzione correntemente aperta.
I modelli di progetto per tutte le lingue sono disponibili in Programmi\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\Lingua\.
È possibile inoltre creare modelli di progetto personalizzati.Per specificare la directory in cui archiviare i modelli, scegliere Opzioni dal menu Strumenti.Nel riquadro sinistro della finestra di dialogo Opzioni fare clic su Progetti e soluzioni.Digitare il percorso dei modelli nella finestra Percorso dei modelli di progetto utente di Visual Studio.
I modelli di progetto personalizzati richiedono nomi file univoci che non entrino in conflitto con i nomi file definiti in Programmi\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\Lingua\.
Assicurarsi di utilizzare nomi file lunghi, anziché nel formato 8.3.Per ulteriori informazioni, vedere Creating Project and Item Templates.
[!NOTA]
È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida a seconda delle impostazioni attive o dell'edizione del programma.Queste procedure sono state sviluppate con le Impostazioni generali per lo sviluppo attive.Per modificare le impostazioni, scegliere Importa/Esportaimpostazioni dal menu Strumenti.Per ulteriori informazioni, vedere Impostazioni di Visual Studio.
Creazione di un progetto
Per creare un progetto a livello di codice
Avviare Visual Studio e creare un progetto di componente aggiuntivo Visual Studio.
Aggiungere il codice di esempio riportato successivamente in questo argomento alla classe Connect del componente aggiuntivo.
Eseguire il progetto di componente aggiuntivo e attivarlo in Gestione componenti aggiuntivi.
A tal fine, fare clic su Gestione componenti aggiuntivi nel menu Strumenti e selezionare il componente aggiuntivo.
Esempio
Nell'esempio seguente vengono utilizzati GetProjectTemplate e AddFromTemplate per creare due progetti di console, uno Visual Basic e l'altro Visual C#, in una soluzione.
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)
createProjectsFromTemplates(_applicationObject)
End Sub
Sub createProjectsFromTemplates(ByVal dte As DTE2)
Try
' Create a solution with two projects in it, based on project
' templates.
Dim soln As Solution2 = CType(DTE.Solution, _
Solution2)
Dim csTemplatePath As String
Dim vbTemplatePath As String
Dim csPrjPath As String = _
"C:\UserFiles\user1\addins\MyCSProject"
Dim vbPrjPath As String = _
"C:\UserFiles\user1\addins\MyVBProject"
' Get the project template path for a C# console project.
' Console Application is the template name that appears in the
' right pane, "CSharp" is the Language(vstemplate) as seen in
' the registry.
csTemplatePath = soln.GetProjectTemplate _
("ConsoleApplication.zip", "CSharp")
MsgBox("C# template path: " & csTemplatePath)
' Get the project template path for a Visual Basic
' console project.
' "vbproj: is the DefaultProjectExtension as seen in the
' registry.
vbTemplatePath = soln.GetProjectTemplate _
("ConsoleApplication.zip", "vbproj")
MsgBox("Visual Basic template path: " & vbTemplatePath)
' Create a new C# console project using the template obtained
' above.
soln.AddFromTemplate(csTemplatePath, csPrjPath, _
"New CSharp Console Project", False)
' Create a new Visual Basic console project using the template
' obtained above.
soln.AddFromTemplate(vbTemplatePath, vbPrjPath, _
"New Visual Basic Console Project", False)
Catch ex As System.Exception
MsgBox("ERROR: " & ex.ToString)
End Try
End Sub
public void OnConnection(object application, ext_ConnectMode
connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
createProjectsFromTemplates(_applicationObject);
}
public void createProjectsFromTemplates(DTE2 dte)
{
try
{
// Create a solution with two projects in it, based on project
// templates.
Solution2 soln = (Solution2)dte.Solution;
string csTemplatePath;
string vbTemplatePath;
string csPrjPath = "C:\\UserFiles\\user1\\addins\\MyCSProject";
string vbPrjPath = "C:\\UserFiles\\user1\\addins\\MyVBProject";
// Get the project template path for a C# console project.
// Console Application is the template name that appears in
// the right pane. "CSharp" is the Language(vstemplate) as seen
// in the registry.
csTemplatePath = soln.GetProjectTemplate("ConsoleApplication.zip",
"CSharp");
System.Windows.Forms.MessageBox.Show("C# template path: " +
csTemplatePath);
// Get the project template path for a Visual Basic console
// project.
// "vbproj: is the DefaultProjectExtension as seen in the
// registry.
vbTemplatePath = soln.GetProjectTemplate("ConsoleApplication.zip",
"vbproj");
System.Windows.Forms.MessageBox.Show("Visual Basic template path: " +
vbTemplatePath);
// Create a new C# console project using the template obtained
// above.
soln.AddFromTemplate(csTemplatePath, csPrjPath, "New CSharp
Console Project", false);
// Create a new Visual Basic console project using the template
// obtained above.
soln.AddFromTemplate(vbTemplatePath, vbPrjPath, "New VB Console
Project", false);
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show("ERROR: " + ex.Message);
}
}
Vedere anche
Attività
Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione
Procedura: creare elementi di progetto a livello di codice
Concetti
Modifica di progetti Visual Basic e Visual C#
Modifica dei progetti di Visual C++