Sdílet prostřednictvím


T4 – direktiva Assembly

V textové šabloně návrhu sady Visual Studio načte direktiva assembly sestavení, aby kód šablony mohl používat jeho typy.Účinek se podobá přidání odkazu na sestavení do projektu Visual Studio.

Obecný přehled o psaní textových šablon lze nalézt v tématu Tvorba textové šablony T4.

[!POZNÁMKA]

Direktiva assembly není potřebná v textové šabloně běhu (předzpracované).Místo toho přidejte potřebná sestavení do sekce References svého projektu Visual Studio.

Použití direktivy assembly

Syntaxe této direktivy je následující:

<#@ assembly name="[assembly strong name|assembly file name]" #>

Název sestavení by měl být jeden z následujících názvů:

  • Silný název sestavení v mezipaměti GAC, například System.Xml.dll.Lze také použít dlouhou verzi, například name="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".Další informace naleznete v tématu AssemblyName.

  • Absolutní cesta k sestavení

Můžete použít syntaxi $(variableName) k odkazu na proměnné sady Visual Studio (například $(SolutionDir)) a syntaxi %VariableName% k odkazu na proměnné prostředí.Příklad:

<#@ assembly name="$(SolutionDir)\MyProject\bin\Debug\SomeLibrary.Dll" #>

Direktiva assembly nemá žádný účinek na předzpracované textové šablony.Místo toho vložte potřebné odkazy do sekce References projektu Visual Studio.Další informace naleznete v tématu Generování textu za běhu pomocí textových šablon T4.

Standardní sestavení

Následující sestavení se načítají automaticky, takže pro ně nemusíte psát direktivy sestavení:

  • Microsoft.VisualStudio.TextTemplating.1*.dll

  • System.dll

  • WindowsBase.dll

Pokud používáte vlastní direktivu, může procesor direktiv načíst další sestavení.Pokud například píšete šablony pro jazyk domény (DSL), nemusíte psát direktivy sestavení pro následující sestavení:

  • Microsoft.VisualStudio.Modeling.Sdk.1*.dll

  • Microsoft.VisualStudio.Modeling.Sdk.Diagrams.1*.dsl

  • Microsoft.VisualStudio.TextTemplating.Modeling.1*.dll

  • Sestavení obsahující váš kód DSL

Používání vlastností projektu v nástroji MSBuild a sadě Visual Studio

Makra sady Visual Studio, například $(SolutionDir), nefungují v nástroji MSBuild.Chcete-li transformovat šablony v sestavovacím počítači, je nutné místo toho použít vlastnosti projektu.

Úpravou souboru .csproj nebo .vbproj definujte vlastnost projektu.Tento příklad definuje vlastnost s názvem myLibFolder:

<!-- Define a project property, myLibFolder: -->
<PropertyGroup>
    <myLibFolder>$(MSBuildProjectDirectory)\..\libs</myLibFolder>
</PropertyGroup>

<!-- Tell the MSBuild T4 task to make the property available: -->
<ItemGroup>
    <T4ParameterValues Include="myLibFolder">
      <Value>$(myLibFolder)</Value>
    </T4ParameterValues>
  </ItemGroup>

Tuto vlastnost projektu nyní můžete použít v textových šablonách, které se správně transformují jak v sadě Visual Studio, tak v nástroji MSBuild:

<#@ assembly name="$(myLibFolder)\MyLib.dll" #>

Viz také

Koncepty

T4 – direktiva Include