C# (CSharp) RunTimeCompiler Namespace

Classes

Name Description
AllCsprojReader This class should be able to process all (almost) kinds of .csproj files and retrieve the data needed for UI and compilation. It should successfully process .csproj files coming from Visual Studio 2005+. It processes ok files from Visual Studio 2010 (this is the most recent version), but the structure of the .csproj may change in future versions of Visual Studio, and therefore the class may not be able to process that .csproj files. It is also unknown if .csproj files created with Visual Studio 2001 or 2003 can be processed.
BasicProject This class should contain all the information (extracted from a project file) needed for UI or compilation. The current structure of this class is based on the structure of a c# project file, but it may be enhanced if the necessity arise during the development of other project-readers.
CsprojCompiler Compiles a csproj. I should probably define an interface and access the functionality available here via ProjectReader or a similar class.
CsprojReader This is a reader for C# project files, or more precisely a wrapper to a reader of all .csproj. As the structure of the .csproj file appears to change with the version of Visual Studio, this class must use the appropriate .csproj reader. AllCsprojReader (the only class used currently to process .csproj files) support .csproj files created with Visual Studio 2005+. Visual Studio 2010 is the most recent version of Visual Studio, and the .csproj files it generates are processed ok by AllCsprojReader. I do not know if .csproj files created with Visual Studio 2001-2003 can be processed successfully.
ProjectConfigFile This should probably derived from ProjectContentFile but as I do not know how the structure of these classes will evolve as I'll add more project-readers, I believe it is safer to keep them as independent classes.
ProjectContentFile This should probably be the base class for all other project-file classes but as I do not know how the structure of these classes will evolve as I'll add more project-readers, I believe it is safer to keep them as independent classes.
ProjectReader This class should keep a list of known file extensions and the registered IProjectReader for each extension. When a project file is loaded the ReadProject method is called to read that project and get all data needed for the UI and compilation. This class is implemented as a singleton.
ProjectResourceFile This should probably derived from ProjectContentFile but as I do not know how the structure of these classes will evolve as I'll add more project-readers, I believe it is safer to keep them as independent classes.
ProjectSettings This class contains all important setting that are retrieved while parsing the project file. It includes general settings (framework version, project type winexe/dll/console...,assembly name etc) and the settings for the active configuration (debug/release...) (output folder, warning level etc).
ProjectSourceFile This should probably derived from ProjectContentFile but as I do not know how the structure of these classes will evolve as I'll add more project-readers, I believe it is safer to keep them as independent classes.