In Chapter 3, “Manipulating Project Components,” I discussed the
FileCodeModel, which provides a set of objects for adding components to your project. However, the
FileCodeModel is designed to work with all project types and, as a result, doesn’t support features that are restricted to specific project types. If you limit yourself to working with the
FileCodeModel, you’ll eventually discover something you want to change in a project that is either impossible or—at least—very difficult to do. Often these activities are specific to certain project types (in an ASP.NET project, ...