Microsoft.Build.Construction.XXX in microsoft.build.dll (version 4.0+) is a raw MSBuild file parser. It is powerful and complete and similar to the XML DOM. It works with a single file without making ratings. This is useful, for example, when you want to run a script on a project tree in order to somehow edit them, perhaps to add a general import statement.
Microsoft.Build.Evaluation.XXX works with evaluated projects, that is, with all evaluated properties, imported files, etc. It is useful in a development environment - you can read files and properties in a project, add new files, etc. Visual Studio uses it for this purpose.
Prior to version 4.0, a completely different, much more limited and less complete object model appeared in microsoft.build.engine.dll. It still comes with 4.0, but cannot handle 4.0 syntax. He is out of date.
I designed and implemented them, so I would be interested to get feedback if you have any.
source share