Condividi tramite


nuova generazione di progetto: Nel the hood, inclusi due

nuova generazione di progetto: Nel the hood, una parte In in precedenza nella finestra di dialogo di nuovo progetto è compilata. Si supponga di avere selezionato Applicazione Windows di Visual C#, inserire le caselle di testo di Percorso e di Nome e fa clic su OK.

Generazione di file della soluzione

Scegliere un modello di applicazione esegue Visual Studio per la decompressione e aprire il file corrispondente .vstemplate e avviare un modello per interpretare XML ordina in questo file. Questi controlli consentono di creare progetti e gli elementi di progetto nel nuovo o nella soluzione esistente.

Il modello decomprime i file di origine, denominati modelli di elemento, dalla stessa cartella con estensione zip che utilizza il file .vstemplate. Il modello consente di copiare tali file al nuovo progetto, personalizzante li di conseguenza. Per una panoramica di modelli di progetto e di elemento, vedere Visual Studio Templates.

Sostituzione dei parametri di modello

Quando il modello viene copiato un modello di elemento con un nuovo progetto, sostituire tutti i parametri di modello con le stringhe per personalizzare il file. Un parametro di template è un token speciale che è preceduta e seguito da un segno di dollaro, ad esempio, $date$.

Di seguito viene fornito un tipico modello di elemento di progetto. Estrarre ed esaminare Program.cs nella cartella di \Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\CSharp\Windows\1033\WindowsApplication zip programmi.

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace $safeprojectname$
{
    static class Program
    {
        // source code deleted here for brevity
    }
}

Se si crea un nuovo progetto Applicazione Windows denominato Vengano, il modello sostituisce il parametro di $safeprojectname$ con il nome del progetto.

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace Simple
{
    static class Program
    {
        // source code deleted here for brevity
    }
}

Per un elenco completo dei parametri di modello, vedere Parametri di template.

Un aspetto in un file .VSTemplate

Un file di ossa nude con estensione vstemplate presenta il formato

<VSTemplate Version="2.0.0"     xmlns="https://schemas.microsoft.com/developer/vstemplate/2005"     Type="Project">
    <TemplateData>
    </TemplateData>
    <TemplateContent>
    </TemplateContent>
</VSTemplate>

È stato esaminato la sezione di <TemplateData> in nuova generazione di progetto: Nel the hood, una parte. I tag in questa sezione vengono utilizzati per controllare l'aspetto della finestra di dialogo di nuovo progetto .

I tag nella sezione di <TemplateContent> controllano la generazione di nuovi progetti ed elementi di progetto. Di seguito è riportata la sezione di <TemplateContent> dal file di cswindowsapplication.vstemplate nella cartella di \Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\CSharp\Windows\1033\WindowsApplication .zip.

<TemplateContent>
  <Project File="WindowsApplication.csproj" ReplaceParameters="true">
    <ProjectItem ReplaceParameters="true"
      TargetFileName="Properties\AssemblyInfo.cs">
      AssemblyInfo.cs
    </ProjectItem>
    <ProjectItem TargetFileName="Properties\Resources.resx">
      Resources.resx
    </ProjectItem>
    <ProjectItem ReplaceParameters="true"       TargetFileName="Properties\Resources.Designer.cs">
      Resources.Designer.cs
    </ProjectItem>
    <ProjectItem TargetFileName="Properties\Settings.settings">
      Settings.settings
    </ProjectItem>
    <ProjectItem ReplaceParameters="true"       TargetFileName="Properties\Settings.Designer.cs">
      Settings.Designer.cs
    </ProjectItem>
    <ProjectItem ReplaceParameters="true" OpenInEditor="true">
      Form1.cs
    </ProjectItem>
    <ProjectItem ReplaceParameters="true">
      Form1.Designer.cs
    </ProjectItem>
    <ProjectItem ReplaceParameters="true">
      Program.cs
    </ProjectItem>
  </Project>
</TemplateContent>

Il tag di <progetto> controlla la generazione di progetto e il tag di <Riportata> controlla la generazione di elemento di progetto. Se il parametro ReplaceParameters è true, il modello personalizzerà tutti i parametri di modello nel file di progetto o elemento. In questo caso, tutti gli elementi di progetto vengono personalizzati, ad eccezione di Settings.settings.

Il parametro di TargetFileName specifica il nome e il percorso relativo del file di progetto o dell'elemento risultante. Ciò consente di creare una struttura di cartelle per il progetto. Se non si specifica questo argomento, l'elemento di progetto avrà lo stesso nome del modello di elemento di progetto.

Gli aspetti risultanti della struttura di cartelle delle applicazioni Windows è simile al seguente:

SimpleSolution

Il primo e solo il tag di <progetto> nel modello legge:

<Project File="WindowsApplication.csproj" ReplaceParameters="true">

Ciò indica al nuovo modello di progetto per creare il file di progetto di Simple.csproj copiando e personalizzazione dell'elemento windowsapplication.csproj del modello.

finestre di progettazione e riferimenti

È possibile visualizzare in Esplora soluzioni nella cartella proprietà è presente e contiene i file previsti. Ma ciò che sui riferimenti al progetto e le dipendenze dei file di progettazione, ad esempio Resources.Designer.cs a Resources.resx e Form1.Designer.cs in Form1.cs? Queste vengono configurate nel file di Simple.csproj quando viene generata un'eccezione.

Di seguito è riportato <ItemGroup> da Simple.csproj che crea i riferimenti al progetto:

<ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Deployment" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
</ItemGroup>

È possibile vedere che sono i sei riferimenti al progetto visualizzati in Esplora soluzioni. Di seguito viene illustrata una sezione da un altro <ItemGroup> . Molte righe di codice sono state eliminate per maggiore chiarezza. In questa sezione vengono il dipendente di Settings.Designer.cs su Settings.settings:

<ItemGroup>
    <Compile Include="Properties\Settings.Designer.cs">
        <DependentUpon>Settings.settings</DependentUpon>
    </Compile>
</ItemGroup>

Vedere anche

Concetti

nuova generazione di progetto: Nel the hood, una parte

Altre risorse

MSBuild