I figured out how to load a .csproj file using the Microsoft.Build namespace and extract a couple of properties:
var projectCollection = new ProjectCollection();
projectCollection.LoadProject(@"C:\path\to\my.csproj");
string assemblyName = projectCollection.LoadedProjects.First().GetPropertyValue("AssemblyName");
string outputPath = projectCollection.LoadedProjects.First().GetPropertyValue("OutputPath");
Now how can I use Microsoft.Build to load a .sln file and get the list of .csproj files?