public override void Write(XmlWriter writer, Project project, IMSBuildProjectGeneratorContext context)
{
var platform = platformManagement.GetDefaultPlatform(project);
var cliMode = GetCLIMode(project);
writer.WriteStartElement("ItemGroup");
writer.WriteAttributeString("Label", "ProjectConfigurations");
writer.WriteStartElement("ProjectConfiguration");
writer.WriteAttributeString("Include", string.Format("Bari|{0}", platform));
writer.WriteElementString("Configuration", "Bari");
writer.WriteElementString("Platform", platform);
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteStartElement("PropertyGroup");
writer.WriteAttributeString("Label", "Globals");
writer.WriteElementString("ProjectGuid", projectGuidManagement.GetGuid(project).ToString("B"));
if (cliMode == CppCliMode.Disabled)
{
writer.WriteElementString("Keyword", "Win32Proj");
}
else
{
VCppProjectCompilerParameters compilerParameters = project.GetInheritableParameters<VCppProjectCompilerParameters, VCppProjectCompilerParametersDef>("cpp-compiler");
compilerParameters.WriteGlobalProperties(writer);
writer.WriteElementString("Keyword", "ManagedCProj");
writer.WriteElementString("RootNamespace", project.Name);
}
writer.WriteEndElement();
writer.WriteStartElement("PropertyGroup");
writer.WriteAttributeString("Condition", string.Format("'$(Configuration)|$(Platform)' == 'Bari|{0}' ", platform));
writer.WriteAttributeString("Label", "Configuration");
WriteHighLevelConfigurationSpecificPart(writer, project);
writer.WriteEndElement();
writer.WriteStartElement("Import");
writer.WriteAttributeString("Project", @"$(VCTargetsPath)\Microsoft.Cpp.props");
writer.WriteEndElement();
writer.WriteStartElement("PropertyGroup");
writer.WriteAttributeString("Condition", string.Format("'$(Configuration)|$(Platform)' == 'Bari|{0}' ", platform));
WriteConfigurationSpecificPart(writer, project);
writer.WriteEndElement();
writer.WriteStartElement("ItemDefinitionGroup");
writer.WriteAttributeString("Condition", string.Format(" '$(Configuration)|$(Platform)' == 'Bari|{0}' ", platform));
WriteMIDLParameters(writer, project);
WriteCompilerParameters(writer, project);
WriteLinkerParameters(writer, project);
WriteManifestParameters(writer, project);
WriteResourceCompilerParameters(writer, project);
writer.WriteEndElement();
}