Aracılığıyla paylaş


Özel Sunucu Kullanarak Metin Şablonlarını İşleme

Metin şablonu dönüştürme işlemi, giriş olarak bir metin şablonu dosyası alır ve çıkış olarak bir metin dosyası oluşturur. Metin dönüştürme altyapısını bir Visual Studio uzantısından veya Visual Studio'nun yüklü olduğu bir makinede çalışan tek başına bir uygulamadan çağırabilirsiniz. Ancak, metin şablon oluşturma konağı sağlamanız gerekir. Bu sınıf, şablonu ortama bağlar, derlemeler ve dahil dosyaları gibi kaynakları bulur ve çıkış ve hata iletileriyle ilgilenir.

Tavsiye

Visual Studio'da çalışacak bir paket veya uzantı yazıyorsanız, kendi konağınızı yazmak yerine metin şablonlama hizmetini kullanmayı göz önünde bulundurun. Daha fazla bilgi için bkz. VS Uzantısında Metin Dönüştürmeyi Çağırma.

Uyarı

Sunucu uygulamalarında metin şablonu dönüştürmelerinin kullanılmasını önermeyiz. Tek bir iş parçacığında kullanılmadıkça metin şablonu dönüştürmelerini kullanmanızı önermeyiz. Bunun nedeni, metin şablon oluşturma altyapısının şablonları çevirmek, derlemek ve yürütmek için tek bir AppDomain'i yeniden kullanmasıdır. Çevrilen kod iş parçacığı güvenli olacak şekilde tasarlanmamıştır. Motor, bir Visual Studio projesinin tasarım zamanındaki gibi dosyaları sıralı bir şekilde işlemek üzere tasarlanmıştır.

Çalışma zamanı uygulamaları için, önceden işlenmiş metin şablonlarını kullanmayı göz önünde bulundurun: bkz. T4 Metin Şablonları ile Çalışma Zamanı Metin Üretimi.

Uygulamanız derleme zamanında düzeltilen bir şablon kümesi kullanıyorsa, Önceden İşlenmiş Metin Şablonları'nı kullanmak daha kolaydır. Uygulamanız Visual Studio'nun yüklü olmadığı bir makinede çalışacaksa bu yaklaşımı da kullanabilirsiniz. Daha fazla bilgi için bkz. T4 Metin Şablonları ile Çalışma Zamanı Metin Oluşturma.

Uygulamanızda Metin Şablonu Yürütme

Metin şablonu yürütmek için processTemplate yöntemini Microsoft.VisualStudio.TextTemplating.Engineçağırırsınız:

using Microsoft.VisualStudio.TextTemplating;
...
Engine engine = new Engine();
string output = engine.ProcessTemplate(templateString, host);

Uygulamanızın şablonu bulması ve sağlaması ve çıktıyla ilgilenmesi gerekir.

host parametresinde, ITextTemplatingEngineHost uygulayan bir sınıf sağlamanız gerekir. Bu, Altyapı tarafından geri çağrılır.

Konağın hataları günlüğe kaydetmesi, derleme ve include dosyalarına yapılan başvuruları çözümlemesi, şablonun yürütülebileceği bir Uygulama Etki Alanı sağlaması ve her yönerge için uygun işlemcileri çağırması gerekir.

Microsoft.VisualStudio.TextTemplating.Engine microsoft.VisualStudio.TextTemplating.*.0.dlliçinde tanımlanır ve ITextTemplatingEngineHostmicrosoft.VisualStudio.TextTemplating.Interfaces.*.0.dlliçinde tanımlanır.

Bu bölümde

İzlenecek yol: Özel Metin Şablonu Konağı oluşturmak , metin şablonu işlevselliğini Visual Studio dışında kullanılabilir hale getiren özel bir metin şablonu konağı oluşturmayı gösterir.

Reference

ITextTemplatingEngineHost