En mi caso, lo que requeria era incluir una clase en el proyecto de Services que es una de las capas que construye NetTiers.
Los siguientes son los pasos que se deben seguir:
- Se debe crear la nueva plantilla .cst y colocarla donde se requiere que quede ubicada la clase a generar. Para mi caso deseaba que la clase quede generada en el proyecto de Services y la ruta es “…\NetTiers\Components”.
- Adicionar la referencia de la nueva plantilla .cst a los siguientes archivos:
- …\NetTiers\TemplateLib\FrameworkTemplates.cst
- …\NetTiers\TemplateLib\CreateTemplates.cst
De la siguiente forma:
En FrameworkTemplates.cst
<%@ Register Name=”NuevaPlantilla” Template=”../Components/NuevaPlantilla.cst” MergeProperties=”False” ExcludeProperties=”” %>
En CreateTemplates.cst
CodeTemplates.Add(“NuevaPlantilla.cst“, base.CreateTemplate<NuevaPlantilla>()); this.PerformStep();
3. Modificar …\Nettiers\NetTiers.cst, para adicionar la referencia de la nueva plantilla, en el sitio donde se definen las plantilla para el proyecto donde se desea generar la clase:
XmlElement iSecurityContextViewsNode = AddFileNode(commonNode, “NuevaPlantilla.cs“);
//Se establece los valores de las propiedades que maneje la nueva plantilla
this.GetTemplate(“NuevaPlantilla.cst“).SetProperty(“NameSpace”, ComponentsNameSpace);
this.GetTemplate(“NuevaPlantilla.cst“).SetProperty(“BLLNameSpace”, BLLNameSpace);
this.GetTemplate(“NuevaPlantilla.cst“).SetProperty(“DALNameSpace”, DALNameSpace);
this.RenderToFile(“NuevaPlantilla.cst“, rootPathComponents + \\NuevaPlantilla.cs, true);
4. Adicionar referencia de la nueva plantilla en …\NetTiers\VisualStudio\vsnet2005.project.cst.
Se debe ubicar las lineas donde se estan incluyendo las clases del proyecto o capa donde se va a incluir la nueva clase y luego incluir:
<Compile Include=”<%=ComponentsSubFolder%>NuevaPlantilla.cs“>
<SubType>Code</SubType>
</Compile>
5. Compilar NetTiers.cst en CodeSmith Studio y listo !!!!
Leave a Reply