當前位置: 首頁>>代碼示例>>C#>>正文


C# MSBuildProject.AddNewPropertyGroup方法代碼示例

本文整理匯總了C#中MonoDevelop.Projects.MSBuild.MSBuildProject.AddNewPropertyGroup方法的典型用法代碼示例。如果您正苦於以下問題:C# MSBuildProject.AddNewPropertyGroup方法的具體用法?C# MSBuildProject.AddNewPropertyGroup怎麽用?C# MSBuildProject.AddNewPropertyGroup使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在MonoDevelop.Projects.MSBuild.MSBuildProject的用法示例。


在下文中一共展示了MSBuildProject.AddNewPropertyGroup方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: OnWriteProject

		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 || projitemsProject.IsNewProject;
			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 (MSBuildProjectService.ToMSBuildPath (FileName.ParentDirectory, projItemsPath));
				import.Label = "Shared";
				if (LanguageName.Equals("C#", StringComparison.OrdinalIgnoreCase)) {
					msproject.AddNewImport (CSharptargets);
				}
				else if (LanguageName.Equals("F#", StringComparison.OrdinalIgnoreCase)) {
					msproject.AddNewImport (FSharptargets);
				}

			} else {
				var itemsImport = msproject.Imports.FirstOrDefault (i => i.Label == "Shared");
				if (itemsImport != null)
					itemsImport.Project = MSBuildProjectService.ToMSBuildPath (FileName.ParentDirectory, projItemsPath);
				else {
					var import = msproject.AddNewImport (MSBuildProjectService.ToMSBuildPath (FileName.ParentDirectory, projItemsPath));
					import.Label = "Shared";
				}
			}

			// 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);
		}
開發者ID:PlayScriptRedux,項目名稱:monodevelop,代碼行數:64,代碼來源:SharedAssetsProject.cs


注:本文中的MonoDevelop.Projects.MSBuild.MSBuildProject.AddNewPropertyGroup方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。