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 CodeSmith Generator 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

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. Generate Outputs
  2. Manage Outputs
  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 ApplicationCodeSmith 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. To manage a CodeSmith Generator Project, you can use the Right-Click context menu of a CodeSmith Generator Project file from the Solution Explorer window. 
The menu options include:

  1. Generate Outputs
  2. Manage Outputs
  3. Add Outputs
  4. Output Options: You can use ActiveGeneration quite easily in your Visual Studio projects now, simply by specifying the BuildAction of your CodeSmith Generator Project.  Setting the BuildAction = "Generate" in the properties of you CodeSmith Generator Project file in the Solution Explorer will cause your entire build process to occur prior to your project building.
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.