Piszę oprogramowanie, które produkuje kod C#. Głównie używam StringTemplate i StringBuilder.Czy mogę używać T4 programowo z C#?
Czy istnieje sposób użycia szablonów T4 bezpośrednio z mojego kodu?
Piszę oprogramowanie, które produkuje kod C#. Głównie używam StringTemplate i StringBuilder.Czy mogę używać T4 programowo z C#?
Czy istnieje sposób użycia szablonów T4 bezpośrednio z mojego kodu?
Oleg Sych opisuje, jak to zrobić tutaj: Understanding T4: Preprocessed Text Templates. Zauważ, że potrzebujesz Visual Studio 2010 do wygenerowania wstępnie przetworzonego szablonu tekstowego, ale będziesz mógł hostować wstępnie przetworzony szablon tekstowy w dowolnym miejscu - w tym w aplikacji WinForm.
Drugi link jest już martwy. – Amy
Wskazał drugi link do odpowiedniej strony na archive.org. HTH –
Prostym sposobem, aby to zrobić:
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents = false;
// Set text transform program (this could change according to the Windows version)
proc.StartInfo.FileName = "C:\\Program Files (x86)\\Common Files\\microsoft shared\\TextTemplating\\10.0\\TextTransform.exe";
// Specify T4 template file
proc.StartInfo.Arguments = "C:\template.tt";
proc.Start();
Nie zakładaj, że C: \ istnieje. Zwłaszcza nie zakładaj, że TextTemplating jest zainstalowany. – SLaks
Czy próbujesz zautomatyzować T4 z C# –
Dokładnie. Mam aplikację WinForm, w której użytkownik tworzy usługę, a następnie aplikacja musi wygenerować kod C# (c, java ...). –