TypeLitePlus icon indicating copy to clipboard operation
TypeLitePlus copied to clipboard

`DynamicTextTransformation` fails since `GenerationEnvironment` property is now public

Open gitfool opened this issue 1 year ago • 0 comments

FWIW, I just tried using this tool with Visual Studio 2022 (17.9.0 Preview 5.0) and it failed with the following error:

Error		Running transformation: System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.VisualStudio.TextTemplating375A1FF1DB56D345CF6C793FF482ACD833FB60B96D9461371457541944B520BF4D9710C7CED185C0A8F727B5DB680AD493A29F76721197FB9A90D2CF2F62367B.GeneratedTextTransformation.DynamicTextTransformation.get_GenerationEnvironment()
   at Microsoft.VisualStudio.TextTemplating375A1FF1DB56D345CF6C793FF482ACD833FB60B96D9461371457541944B520BF4D9710C7CED185C0A8F727B5DB680AD493A29F76721197FB9A90D2CF2F62367B.GeneratedTextTransformation.EntityFrameworkTemplateFileManager..ctor(Object textTransformation)
   at Microsoft.VisualStudio.TextTemplating375A1FF1DB56D345CF6C793FF482ACD833FB60B96D9461371457541944B520BF4D9710C7CED185C0A8F727B5DB680AD493A29F76721197FB9A90D2CF2F62367B.GeneratedTextTransformation.EntityFrameworkTemplateFileManager.VsEntityFrameworkTemplateFileManager..ctor(Object textTemplating)
   at Microsoft.VisualStudio.TextTemplating375A1FF1DB56D345CF6C793FF482ACD833FB60B96D9461371457541944B520BF4D9710C7CED185C0A8F727B5DB680AD493A29F76721197FB9A90D2CF2F62367B.GeneratedTextTransformation.EntityFrameworkTemplateFileManager.Create(Object textTransformation)
   at Microsoft.VisualStudio.TextTemplating375A1FF1DB56D345CF6C793FF482ACD833FB60B96D9461371457541944B520BF4D9710C7CED185C0A8F727B5DB680AD493A29F76721197FB9A90D2CF2F62367B.GeneratedTextTransformation.TransformText()	Test	D:\Devel\gitfool\Test\Scripts\TypeLite.tt	1	

But I then managed to get it to work by changing TypeLitePlus.T4/Scripts/Manager.ttinclude#L464 from:

_generationEnvironment = type.GetProperty("GenerationEnvironment", BindingFlags.Instance | BindingFlags.NonPublic);

to:

_generationEnvironment = type.GetProperty("GenerationEnvironment");

gitfool avatar Feb 08 '24 00:02 gitfool