void WriteProjectConfigurations (Solution sol, List<string> list)
{
foreach (SolutionConfiguration cc in sol.Configurations) {
foreach (SolutionConfigurationEntry cce in cc.Configurations) {
SolutionEntityItem p = cce.Item;
// <ProjectGuid>...</ProjectGuid> in some Visual Studio generated F# project files
// are missing "{"..."}" in their guid. This is not generally a problem since it
// is a valid GUID format. However the solution file format requires that these are present.
string itemGuid = p.ItemId;
if (!itemGuid.StartsWith("{") && !itemGuid.EndsWith("}"))
itemGuid = "{" + itemGuid + "}";
list.Add (String.Format (
"\t\t{0}.{1}.ActiveCfg = {2}", itemGuid, ToSlnConfigurationId (cc), ToSlnConfigurationId (cce.ItemConfiguration)));
if (cce.Build)
list.Add (String.Format (
"\t\t{0}.{1}.Build.0 = {2}", itemGuid, ToSlnConfigurationId (cc), ToSlnConfigurationId (cce.ItemConfiguration)));
if (cce.Deploy)
list.Add (String.Format (
"\t\t{0}.{1}.Deploy.0 = {2}", itemGuid, ToSlnConfigurationId (cc), ToSlnConfigurationId (cce.ItemConfiguration)));
}
}
}