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


C# ProjectRootElement.EnsurePropertyExists方法代码示例

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


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

示例1: SetKnownProperties

 private void SetKnownProperties(ProjectRootElement project, CscTask task)
 {
     // MSBuild properties http://msdn.microsoft.com/en-us/library/bb629394.aspx
     // NAnt CscTask properties http://nant.sourceforge.net/nightly/latest/help/tasks/csc.html
     project.SetDefaultPropertyValue("AssemblyName", Path.GetFileNameWithoutExtension(task.OutputFile.Name));
     project.EnsurePropertyExists("ProjectGuid", Guid.NewGuid().ToString("B"));
     if (!String.IsNullOrWhiteSpace(task.BaseAddress))
         project.SetDefaultPropertyValue("BaseAddress", task.BaseAddress);
     project.SetDefaultPropertyValue("CheckForOverflowUnderflow", task.Checked.ToString());
     project.SetDefaultPropertyValue("CodePage", task.Codepage ?? String.Empty);
     project.SetDefaultPropertyValue("DebugSymbols", task.Debug.ToString());
     if (task.DebugOutput == DebugOutput.Enable)
     {
         task.DebugOutput = DebugOutput.Full;
         task.Define = String.Format("DEBUG,TRACE,{0}", task.Define);
     }
     project.SetDefaultPropertyValue("DebugType", task.DebugOutput.ToString());
     if (task.DocFile != null)
         project.SetDefaultPropertyValue("DocumentationFile",
             MB.ProjectCollection.Escape(task.DocFile.GetPathRelativeTo(new DirectoryInfo(project.DirectoryPath))));
     if (task.FileAlign > 0)
         project.SetDefaultPropertyValue("FileAlignment", task.FileAlign.ToString(CultureInfo.InvariantCulture));
     // TODO: langversion
     // TODO: noconfig
     // TODO: nostdlib
     project.SetDefaultPropertyValue("Optimize", task.Optimize.ToString());
     project.SetDefaultPropertyValue("Platform", task.Platform ?? "AnyCPU");
     project.SetDefaultPropertyValue("ProjectTypeGuids", projectTypeGuid.ToString("B"));
     project.SetDefaultPropertyValue("AllowUnsafeBlocks", task.Unsafe.ToString());
     project.SetDefaultPropertyValue("WarningLevel", task.WarningLevel ?? "4");
     project.SetDefaultPropertyValue("OutputPath",
         MB.ProjectCollection.Escape(task.OutputFile.Directory.GetPathRelativeTo(new DirectoryInfo(project.DirectoryPath))));
     project.SetDefaultPropertyValue("OutputType", task.OutputTarget);
     project.SetDefaultPropertyValue("DefineConstants", task.Define ?? String.Empty);
     // TODO: delaysign
     // TODO: keycontainer
     // TODO: main
     project.SetDefaultPropertyValue("TreatWarningsAsErrors", task.WarnAsError.ToString());
     // TODO: win32icon
     // TODO: win32res
     // TODO: implement the rest of warning-disabling/enabling logic (see CompilerBase.WriteNoWarnList())
     var warnings = new StringBuilder();
     foreach (var warning in task.SuppressWarnings)
         if (warning.IfDefined && !warning.UnlessDefined)
             warnings.AppendFormat("{0},", warning.Number);
     project.SetDefaultPropertyValue("NoWarn", warnings.ToString());
 }
开发者ID:skolima,项目名称:generate-msbuild,代码行数:47,代码来源:CscTranslator.cs


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