<#@ template debug="false" hostspecific="false" language="C#" #>
Was bedeutet das Attribut hostspecific hier?Was bedeutet hostspecific in einer t4-Vorlage?
<#@ template debug="false" hostspecific="false" language="C#" #>
Was bedeutet das Attribut hostspecific hier?Was bedeutet hostspecific in einer t4-Vorlage?
Eine Vorlage, bei der hostspecific auf "true" gesetzt ist, kann auf ein Element this.Host
vom Typ ITextTemplatingEngineHost
(MSDN) zugreifen. Sie können dann z.B. seine Methode "ResolvePath", um Dateien zu finden, die für die Eingabe in die Vorlage benötigt werden.
Dies ist noch nützlicher, wenn Sie eine benutzerdefinierte Templating-Engine verwenden. See Oleg Blog hier: http://www.olegsych.com/2008/02/t4-template-directive/
Sie können die ‚this.Host‘ Eigenschaft benutzen, wenn die HostSpecific Flag gesetzt, die vom Typ ITextTemplatingEngineHost ist und ermöglicht es Ihnen, Dateipfad Auflösung unter anderem zu tun.
Wenn Sie jedoch innerhalb von Visual Studio (nicht zur Build-Zeit oder über die Befehlszeile) verwendet werden, können Sie den Host auch in IServiceProvider umwandeln und mit dem globalen Service-Provider von Visual Studio verbunden sein.
Dadurch können Sie alle Visual Studio-APIs verwenden, um Daten für Ihre Vorlage zu finden oder das Projekt, in dem Sie enthalten sind, oder ähnliche Aktionen zu bearbeiten.
Ein Schlüsselszenario, das aktiviert wird, ist die Verwendung des CodeModel (oder bald Roslyn), um Live-Quellcode in Ihrem Projekt zu analysieren und als Quelle für Generierungsmetadaten zu verwenden.
'Olegsych' Link ist nicht mehr gültig – Tatranskymedved