protected override void OnWriteProject(ProgressMonitor monitor, MonoDevelop.Projects.MSBuild.MSBuildProject msproject) { if (projItemsPath == FilePath.Null) { projItemsPath = Path.ChangeExtension(FileName, ".projitems"); } if (projitemsProject == null) { projitemsProject = new MSBuildProject(msproject.EngineManager); projitemsProject.FileName = projItemsPath; var grp = projitemsProject.GetGlobalPropertyGroup(); if (grp == null) { grp = projitemsProject.AddNewPropertyGroup(false); } grp.SetValue("MSBuildAllProjects", "$(MSBuildAllProjects);$(MSBuildThisFileFullPath)"); grp.SetValue("HasSharedItems", true); grp.SetValue("SharedGUID", ItemId, preserveExistingCase: true); } IMSBuildPropertySet configGrp = projitemsProject.PropertyGroups.FirstOrDefault(g => g.Label == "Configuration"); if (configGrp == null) { configGrp = projitemsProject.AddNewPropertyGroup(true); configGrp.Label = "Configuration"; } configGrp.SetValue("Import_RootNamespace", DefaultNamespace); base.OnWriteProject(monitor, msproject); var newProject = FileName == null || !File.Exists(FileName); if (newProject) { var grp = msproject.GetGlobalPropertyGroup(); if (grp == null) { grp = msproject.AddNewPropertyGroup(false); } grp.SetValue("ProjectGuid", ItemId, preserveExistingCase: true); var import = msproject.AddNewImport(@"$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props"); import.Condition = @"Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')"; msproject.AddNewImport(@"$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.Default.props"); msproject.AddNewImport(@"$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.props"); import = msproject.AddNewImport(Path.ChangeExtension(FileName.FileName, ".projitems")); import.Label = "Shared"; if (LanguageName.Equals("C#", StringComparison.OrdinalIgnoreCase)) { msproject.AddNewImport(CSharptargets); } else if (LanguageName.Equals("F#", StringComparison.OrdinalIgnoreCase)) { msproject.AddNewImport(FSharptargets); } } else { msproject.Load(FileName); } // having no ToolsVersion is equivalent to 2.0, roundtrip that correctly if (ToolsVersion != "2.0") { msproject.ToolsVersion = ToolsVersion; } else if (string.IsNullOrEmpty(msproject.ToolsVersion)) { msproject.ToolsVersion = null; } else { msproject.ToolsVersion = "2.0"; } projitemsProject.Save(projItemsPath); }
public void Add(IMSBuildPropertySet g) { groups.Add(g); }
protected override void OnWriteConfiguration (ProgressMonitor monitor, ProjectConfiguration config, IMSBuildPropertySet pset) { base.OnWriteConfiguration (monitor, config, pset); if (pset.ParentProject.IsNewProject) pset.SetValue ("ErrorReport", "prompt"); }
internal protected virtual void OnWriteConfiguration (ProgressMonitor monitor, ProjectConfiguration config, IMSBuildPropertySet pset) { next.OnWriteConfiguration (monitor, config, pset); }
internal protected virtual void OnWriteConfiguration(ProgressMonitor monitor, ProjectConfiguration config, IMSBuildPropertySet pset) { next.OnWriteConfiguration(monitor, config, pset); }