本文整理汇总了C#中MonoDevelop.Projects.MSBuild.MSBuildProject.GetGlobalPropertyGroup方法的典型用法代码示例。如果您正苦于以下问题:C# MSBuildProject.GetGlobalPropertyGroup方法的具体用法?C# MSBuildProject.GetGlobalPropertyGroup怎么用?C# MSBuildProject.GetGlobalPropertyGroup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MonoDevelop.Projects.MSBuild.MSBuildProject
的用法示例。
在下文中一共展示了MSBuildProject.GetGlobalPropertyGroup方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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);
}
示例2: OnWriteProject
protected override void OnWriteProject (ProgressMonitor monitor, MSBuildProject msproject)
{
base.OnWriteProject (monitor, msproject);
var moniker = TargetFramework.Id;
bool supportsMultipleFrameworks = true; // All supported formats support multiple frameworks. // toolsFormat.SupportsMonikers || toolsFormat.SupportedFrameworks.Length > 0;
var def = GetDefaultTargetFrameworkForFormat (ToolsVersion);
IMSBuildPropertySet globalGroup = msproject.GetGlobalPropertyGroup ();
// If the format only supports one fx version, or the version is the default, there is no need to store it.
// However, is there is already a value set, do not remove it.
if (supportsMultipleFrameworks) {
globalGroup.SetValue ("TargetFrameworkVersion", "v" + moniker.Version, "v" + def.Version, true);
}
if (MSBuildFileFormat.ToolsSupportMonikers (ToolsVersion)) {
globalGroup.SetValue ("TargetFrameworkIdentifier", moniker.Identifier, def.Identifier, true);
globalGroup.SetValue ("TargetFrameworkProfile", moniker.Profile, def.Profile, true);
}
}
示例3: OnWriteProject
internal protected virtual void OnWriteProject (ProgressMonitor monitor, MSBuildProject msproject)
{
next.OnWriteProject (monitor, msproject);
msproject.GetGlobalPropertyGroup ().WriteObjectProperties (this, GetType (), true);
msproject.WriteExternalProjectProperties (this, GetType (), true);
}
示例4: OnWriteProjectHeader
protected override void OnWriteProjectHeader (ProgressMonitor monitor, MSBuildProject msproject)
{
base.OnWriteProjectHeader (monitor, msproject);
IMSBuildPropertySet globalGroup = msproject.GetGlobalPropertyGroup ();
globalGroup.SetValue ("OutputType", compileTarget);
globalGroup.SetValue ("RootNamespace", defaultNamespace, string.Empty);
globalGroup.SetValue ("UsePartialTypes", usePartialTypes, true);
}
示例5: OnPrepareForEvaluation
protected override void OnPrepareForEvaluation (MSBuildProject project)
{
MSBuildPropertyGroup globalGroup = project.GetGlobalPropertyGroup ();
var provider = new MSBuildGlobalPropertyProvider ();
foreach (KeyValuePair<string, string> property in provider.GetGlobalProperties ()) {
globalGroup.SetValue (property.Key, property.Value, property.Value);
}
}