Eric J. Smith's Weblog

CodeSmith, .NET, etc...

May 2004 - Posts

Visual Studio 2005 Team System Announced At TechEd Today

This is some amazing stuff. MS is finally going to take a huge stab at integrating the entire SDLC workflow/process right into VS.NET 2005 and it will be fully customizable and extensible. This is both very exciting and scary stuff at the same time. This sounds like an amazing suite of tools for developers and I am really excited about learning more and making use of them. But at the same time, I've never seen so many tools (NUnit, Nant, Vault, the various profiling tools, etc) virtually squashed at the same time. I'm just glad that template based code generation wasn't on their list just yet.

http://msdn.microsoft.com/vstudio/teamsystem/default.aspx

Posted: May 24 2004, 02:07 PM by ejsmith | with 1 comment(s)
Filed under: , ,
TechEd: Code Generation BOF tonight at 7pm - AND A FREE COPY OF CODESMITH PROFESSIONAL

That's right, anyone who attends Scott Hanselman's TechEd Code Generation BOF tonight at 7pm will receive a free copy of CodeSmith Professional!

Posted: May 23 2004, 12:44 PM by ejsmith | with 2 comment(s)
Filed under:
Help Needed! PropertyGrid and Remoted Objects

Alright, I am having a really hard time trying to solve an issue in CodeSmith and I am hoping that you guys can help me out.

The basic problem is that currently every time you compile a template in CodeSmith it creates a dynamic assembly which is then loaded into the current AppDomain and the template class inside of that assembly is instantiated and attached to the property grid control so that the template properties can be set before execution of the template.  As you might imagine, over time all of these dynamic assemblies being loaded into the AppDomain and never unloaded (can't unload an assembly) is causing a memory leak in CodeSmith and locks all of the referenced assemblies until CodeSmith is shut down.

The obvious answer to this problem is to move load and execution of templates into a separate AppDomain that can be unloaded, right?  Well, I've run into some issues with that approach that I am so far unable to resolve.  A remoted object can't be used in the property grid control.  I've tried implementing ICustomTypeDescriptor thinking that would be the answer that I was looking for, but I was unsuccessful.  There are a couple other ideas that I am tossing around, but I'm not happy with any of them.

If anyone out there knows how to solve this issue, I would be extremely grateful for a little nudge in the right direction.  I will be offering some free CodeSmith Professional licenses to the person(s) that help me solve this problem.

Thanks,
Eric J. Smith

Posted: May 06 2004, 10:22 AM by ejsmith | with 12 comment(s)
Filed under: ,
More Posts