Generování kódu v procesu sestavení
Transformace textu jako součást procesu vytváření můžete vyvolat Visual Studio roztoku.Můžete to tak, aby byly soubory generované ze šablony aktuální před jsou zkompilovány.Umožňuje zabránit situaci, ve které uživatel zapomenuté na Transformace všechny šablony před stavební projekt nebo kontroly v kódu.Transformace textu úlohy lze provést i Visual Studio nebo MSBuild a na sestavení serveru.
Včetně úkolů transformace textu v souborech projektu
Instalace vizualizaci a modelování SDK
Chcete-li povolit vytváření úkolů ve vývojovém počítači nainstalovat Visual Studio vizualizaci a modelování SDK.
Povolit sestavení úkoly na sestavení serveru naleznete v tématu Transformace textu na sestavení serveru.
Upravit soubor projektu
Vyvolat transformace textu, je nutné upravit soubor, který definuje projektu.Tyto vlastnosti nelze upravit v editoru vlastnosti projektu.Proto musí zavřít projekt a upravit jako textový soubor.
Úpravy textu v souboru projektu
V aplikaci Solution Explorer klepněte pravým tlačítkem myši projekt a klepněte na tlačítko Uvolnění projektu.
Klepněte pravým tlačítkem projekt a klepněte na tlačítko Upravitprojektu.
Text souboru projektu se zobrazí v editoru XML.
Po dokončení úprav znovu projektu
Ukončete XML editor.
V aplikaci Solution Explorer klepněte pravým tlačítkem myši projekt a klepněte na tlačítko Znovu načíst projekt.
Import cíle transformace textu
Úkoly sestavení transformace textu jsou definovány v jediném souboru.Je nutné importovat po standardní cíle C# nebo Visual Basic.
Import cíle transformace textu
Vyhledejte soubor pro řádky podobné tyto řádky:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-nebo-
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
Po tomto řádku vložte import textu Templating:
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TextTemplating\v11.0\Microsoft.TextTemplating.targets" />
Nastavit vlastnosti ovládacího prvku jak sestavení je provedena.
Vložte následující text do souboru projektu.Naleznete v následujících částech pro jiné vlastnosti, které lze vložit do této skupiny vlastností.
<PropertyGroup>
<TransformOnBuild>true</TransformOnBuild>
<!-- Other properties can be inserted here -->
</PropertyGroup>
TransformOnBuildzpůsobí, že všechny šablony projektu, které mají být provedeny při vytváření projektu.
Vyvolání transformace
Všechny šablony v sestavení projektu transformace
Pokud zahrnete následující vlastnost v souboru projektu, všechny šablony text v projektu bude spuštěn při každém projektu je sestaven s přihlédnutím k funkci přírůstkového sestavení.
<TransformOnBuild>true</TransformOnBuild>
Můžete vyvolat transformuje buď stisknutím klávesy F5 v Visual Studio, nebo pomocí MSBuild.Příklad:
msbuild myproject.csproj
Vynecháte-li TransformOnBuild nebo nastavit na hodnotu NEPRAVDA, šablony nejsou transformovány jako součást automatické sestavení projektu.
Přidání odkazu cest
Můžete přidat do sady cesty, ve které hledá hostitele sestavení, na které se odkazuje v šablonách.Příklad:
<ItemGroup>
<!-- Add VS\...\PublicAssemblies to the list of places
to look for assemblies used by templates. -->
<T4ReferencePath Include="$(VsIdePath)PublicAssemblies\" />
</ItemGroup>
Transformace konkrétní šablony
Zadané soubory můžete transformovat vyvoláním Transform úloh s msbuild nástroj.Tento úkol není závislý na TransformOnBuild vlastnost a nelze kompilovat soubory projektu.Je nutné importovat soubor text templating cíle popsané v předchozí části.
Chcete-li například určitý soubor transformace:
msbuild myproj.proj /t:Transform /p:TransformFile=MyTemplate.tt
Můžete použít také zástupné znaky v TransformFile parametr.Například příkaz převede všechny .tt soubory ve složce GeneratedCode:
msbuild dsl.csproj /t:Transform /p:TransformFile="GeneratedCode\**\*.tt"
Přírůstkové sestavení
Výchozí sestavení správce pokusí zabránit spuštění šablony, pokud jeho výstupního souboru je aktuální.Chcete-li to provést, sleduje systému souborů, soubory, které jsou číst kód šablony.Navazující další zprávy pak porovnává datum změny těchto souborů s datem výstupního souboru.Pokud žádné vstupní soubor byl změněn nedávno než výstupní soubor provedením šablony.Šablona rovněž provedeny, pokud nejsou žádné informace o předchozím spuštění této šablony.
Výsledkem je, že bude generováno výstupní soubor, pokud je starší než kterýkoli z následujících souborů:
Textový soubor šablony
Soubory, které jsou specifikovány v <#@include#> směrnic
Soubory, které jsou čtení kódu šablony
Soubory, které jsou součástí nebo číst směrnice procesoru v šabloně
Ujistěte se, že všechny šablony se provádějí v každém sestavení, vložte tuto vlastnost:
<TransformOutOfDateOnly>false</TransformOutOfDateOnly>
Zdroj ovládacího prvku
Existuje konkrétní předdefinovanou integraci s systému správy zdrojů.Můžete však přidat vlastní rozšíření, například rezervovat a kontrola ve vytvořeném souboru.
Standardně zabrání přepsání souboru, který je označen jako čtení-pouze úkol transformace textu a při výskytu těchto souborů je zaznamenána chyba Visual Studio seznam chyb a selhání úlohy.
Chcete-li určit, že soubory jen pro čtení, být přepsány, vložte tuto vlastnost:
<OverwriteReadOnlyOuputFiles>true</OverwriteReadOnlyOuputFiles>
Pokud upravíte postprocessing krok, upozornění Pokud je soubor přepsán v seznamu chyb protokolovány.
Přizpůsobení procesu vytváření
Můžete přizpůsobit procesu vytváření například rezervovat soubory, které jste byl přepsán.Jsou poskytovány dva body úprav, které se nazývají před a po transformaci.
Chcete-li definovat tyto body definují vlastnosti $(BeforeTransform) a $(AfterTransform).
Příklad:
<PropertyGroup>
<BeforeTransform>CustomPreTransform</BeforeTransform>
<AfterTransform>CustomPostTransform;$(AfterTransform)</AfterTransform>
</PropertyGroup>
<Target Name="CustomPreTransform">
<Message Text="In CustomPreTransform..." Importance="High" />
</Target>
<Target Name="CustomPostTransform">
<Message Text="In CustomPostTransform..." Importance="High" />
</Target>
V AfterTransform, můžete použít následující seznamy:
GeneratedFiles - seznam souborů, které jsou zapsány v procesu.Pro soubory, které Ano existující soubory jen pro čtení bude %(GeneratedFiles.ReadOnlyFileOverwritten) hodnotu true.Tyto soubory lze zkontrolovat ze správy zdrojů.
NonGeneratedFiles - seznam jen pro čtení souborů, které nebyly přepsány.
Pomocí těchto seznamů, například rezervovat soubory přepsány.
Transformace textu v serveru sestavení
Pokud se spustí sestavení serveru na počítač, ve kterém Visual Studio není nainstalován, je třeba zkopírovat následující soubory sestavení počítače ze počítač, ve kterém Visual Studio SDK je nainstalován:
\Program Files\Microsoft visual Studio 2010 SDK\VisualStudioIntegration\Common\Assemblies\v4.0\
Microsoft.VisualStudio.TextTemplating.11.0.dll
Microsoft.VisualStudio.TextTemplating.Interfaces.11.0.dll
Microsoft.VisualStudio.TextTemplating.VSHost.11.0.dll
\Program Files\MSBuild\Microsoft\VisualStudio\TextTemplating\v11.0\
- Microsoft.VisualStudio.TextTemplating.SDK.Host.11.0.dll
\Program Files\Microsoft visual Studio 11.0\Common7\IDE\PublicAssemblies\
- Microsoft.VisualStudio.TextTemplating.Modeling.11.0.dll
Další informace naleznete v tématu Nasazení a konfigurace kontroleru sestavení.