当前位置: 首页>>代码示例>>C#>>正文


C# Microsoft.Build.BuildEngine.GetEvaluatedProperty方法代码示例

本文整理汇总了C#中Microsoft.Build.BuildEngine.GetEvaluatedProperty方法的典型用法代码示例。如果您正苦于以下问题:C# Microsoft.Build.BuildEngine.GetEvaluatedProperty方法的具体用法?C# Microsoft.Build.BuildEngine.GetEvaluatedProperty怎么用?C# Microsoft.Build.BuildEngine.GetEvaluatedProperty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Microsoft.Build.BuildEngine的用法示例。


在下文中一共展示了Microsoft.Build.BuildEngine.GetEvaluatedProperty方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: EvaluateCondition

		/// <summary>
		/// Evaluates the specified condition in the project.
		/// WARNING: EvaluateCondition might add a temporary property group and remove it again,
		/// which invalidates enumerators over the list of property groups!
		/// </summary>
		internal static bool EvaluateCondition(MSBuild.Project project,
		                                       string condition)
		{
			const string propertyName = "MSBuildInternalsEvaluateConditionDummyPropertyName";
			MSBuild.BuildPropertyGroup pGroup = project.AddNewPropertyGroup(true);
			pGroup.AddNewProperty(propertyName, "ConditionFalse");
			pGroup.AddNewProperty(propertyName, "ConditionTrue").Condition = condition;
			bool result = project.GetEvaluatedProperty(propertyName) == "ConditionTrue";
			project.RemovePropertyGroup(pGroup);
			return result;
		}
开发者ID:kingjiang,项目名称:SharpDevelopLite,代码行数:16,代码来源:MSBuildInternals.cs

示例2: EnsureCorrectTempProject

		internal static void EnsureCorrectTempProject(MSBuild.Project baseProject,
		                                              string configuration, string platform,
		                                              ref MSBuild.Project tempProject)
		{
			if (configuration == null && platform == null) {
				// unload temp project
				if (tempProject != null && tempProject != baseProject) {
					tempProject.ParentEngine.UnloadAllProjects();
				}
				tempProject = null;
				return;
			}
			if (configuration == null)
				configuration = baseProject.GetEvaluatedProperty("Configuration");
			if (platform == null)
				platform = baseProject.GetEvaluatedProperty("Platform");
			
			if (tempProject != null
			    && tempProject.GetEvaluatedProperty("Configuration") == configuration
			    && tempProject.GetEvaluatedProperty("Platform") == platform)
			{
				// already correct
				return;
			}
			if (baseProject.GetEvaluatedProperty("Configuration") == configuration
			    && baseProject.GetEvaluatedProperty("Platform") == platform)
			{
				tempProject = baseProject;
				return;
			}
			// create new project
			
			// unload old temp project
			if (tempProject != null && tempProject != baseProject) {
				tempProject.ParentEngine.UnloadAllProjects();
			}
			try {
				MSBuild.Engine engine = CreateEngine();
				tempProject = engine.CreateNewProject();
				// tell MSBuild the path so that projects containing <Import Project="relativePath" />
				// can be loaded
				tempProject.FullFileName = baseProject.FullFileName;
				MSBuildBasedProject.InitializeMSBuildProject(tempProject);
				tempProject.LoadXml(baseProject.Xml);
				tempProject.SetProperty("Configuration", configuration);
				tempProject.SetProperty("Platform", platform);
			} catch (Exception ex) {
				ICSharpCode.Core.MessageService.ShowWarning(ex.ToString());
				tempProject = baseProject;
			}
		}
开发者ID:kingjiang,项目名称:SharpDevelopLite,代码行数:51,代码来源:MSBuildInternals.cs


注:本文中的Microsoft.Build.BuildEngine.GetEvaluatedProperty方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。