CodeSmith Generator Projects manage groups of CodeSmith Generator templates and their outputs all in a single CodeSmith Generator Project file (.csp). CodeSmith Generator Projects are files that enable you to run an entire generation process at anytime in a simplistic manner from many different environments.

About

A CodeSmith Generator Project file uses a .csp file windows extension, and stores XML metadata about your CodeSmith Generator Project.

Learn more by reading Anatomy of a Project File.

A CodeSmith Generator Project file can be generated or configured by right clicking on on a CodeSmith Generator Project File (.csp). 

Generation Capabilities

CodeSmith Generator Project files enable the management and execution of a generation process in many environments.

Windows Explorer and Template Explorer 

Managing a CodeSmith Generator Project right from Windows Explorer is simple and doesn't require you to use CodeSmith Generator to manage a project. Options are available through the right-click context menu in your CodeSmith Generator Project file (.csp). 
The menu options include:

  1. Manage Outputs - Gives the ability to manage your CodeSmith Generator Project.
  2. Generate Outputs - Will kick off the generation process to produce outputs configured in your CodeSmith Generator Project.
  3. Add Outputs
Learn more by reading Using CodeSmith Generator Project from Windows Explorer.

Command-Line

You can Generate Outputs of a CodeSmith Generator Project in the command line by using the using the CodeSmith Generator Console Application.  You would simply call:

cs MyCodeSmithProject.csp

Visual Studio

The tight integration with Visual Studio allows you to fully manage any CodeSmith Generator Project right from Visual Studio!  This means you can maintain a high Code Generation presence right within Visual Studio and not have to switch applications to run code generation. 

  1. Manage Outputs - Gives the ability to manage your CodeSmith Generator Project.
  2. Generate Outputs - Will kick off the generation process to produce outputs configured in your CodeSmith Generator Project.
  3. Add Outputs
  4. Output Options - Only available in Visual Studio, and allows you to control the output options after generation.
Learn more by reading using a CodeSmith Generator Project inside Visual Studio.

MSBuild

CodeSmith Generator projects can be run from your MSBuild projects by adding the following line to your project file:

<CodeSmith ProjectFile="MyProject.csp" /> 


When you set the BuildAction to Generate in Visual Studio, you're actually using the CodeSmith Generate Target, located in: C:\Program Files\MSBuild\CodeSmith\CodeSmith.targets or C:\Program Files (x86)\MSBuild\CodeSmith\CodeSmith.targets You can import this target in your Visual Studio Projects by using the Import tag.

<Import Project="$(MSBuildExtensionsPath)\CodeSmith\CodeSmith.targets" />
Learn more by reading using a CodeSmith Generator Project from MSBuild.