本文整理汇总了C#中Microsoft.Build.Tasks.CommandLineBuilderExtension.Append方法的典型用法代码示例。如果您正苦于以下问题:C# CommandLineBuilderExtension.Append方法的具体用法?C# CommandLineBuilderExtension.Append怎么用?C# CommandLineBuilderExtension.Append使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Build.Tasks.CommandLineBuilderExtension
的用法示例。
在下文中一共展示了CommandLineBuilderExtension.Append方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddResponseFileCommandsImpl
protected void AddResponseFileCommandsImpl(CommandLineBuilderExtension commandLine)
{
if (OutputAssembly == null && Sources != null && Sources.Length > 0 && ResponseFiles == null)
{
try
{
OutputAssembly = new TaskItem(Path.GetFileNameWithoutExtension(Sources[0].ItemSpec));
}
catch (ArgumentException exception)
{
throw new ArgumentException(exception.Message, "Sources", exception);
}
var outputAssembly = OutputAssembly;
switch (TargetType.ToLowerInvariant())
{
case "library":
outputAssembly.ItemSpec = outputAssembly.ItemSpec + ".dll";
break;
case "module":
outputAssembly.ItemSpec = outputAssembly.ItemSpec + ".netmodule";
break;
default:
outputAssembly.ItemSpec = outputAssembly.ItemSpec + ".exe";
break;
}
}
// Don't call base.AddResponseFileCommands()!
//base.AddResponseFileCommands(commandLine);
//System.Diagnostics.Debug.Assert(false);
if (RunDebugger)
commandLine.AppendSwitch("\n/debugger");
if (Optimize)
commandLine.AppendSwitch("\n/optimize");
commandLine.AppendPlusOrMinusSwitch("\n/checked", base.Bag, "CheckIntegerOverflow");
commandLine.AppendSwitch("\n/no-color");
commandLine.AppendSwitchIfNotNull("\n/lib:", base.AdditionalLibPaths, ",");
commandLine.AppendSwitchIfNotNull("\n/nowarn:", this.DisabledWarnings, ",");
commandLine.AppendSwitchIfNotNull("\n/dowarn:", this.EnabledWarnings, ",");
if (NoStdLib)
commandLine.AppendSwitch("\n/no-stdlib");
if (NoStdMacros)
commandLine.AppendSwitch("\n/no-stdmacros");
if (!GreedyReferences)
commandLine.AppendSwitch("\n/greedy-references:-");
if (WarningLevel != 4)
commandLine.AppendSwitchIfNotNull("\n/warn:", this.WarningLevel.ToString());
if (IndentationSyntax)
commandLine.AppendSwitch("\n/indentation-syntax");
commandLine.AppendSwitchIfNotNull("\n/doc:", this.DocumentationFile);
if (!string.IsNullOrEmpty(base.DefineConstants))
{
var defines = base.DefineConstants
.Split(new char[] { ';', ' ', '\r', '\n', '\t' }, StringSplitOptions.RemoveEmptyEntries);
commandLine.AppendSwitchUnquotedIfNotNull("\n/define:", String.Join(";", defines));
}
commandLine.AppendSwitchIfNotNull("\n/win32res:", base.Win32Resource);
commandLine.AppendSwitchIfNotNull("\n/platform:", this.Platform);
// Switchs from base.AddResponseFileCommands()
commandLine.AppendSwitchIfNotNull("\n/addmodule:", this.AddModules, ",");
commandLine.AppendPlusOrMinusSwitch("\n/delaysign", base.Bag, "DelaySign");
commandLine.AppendSwitchIfNotNull("\n/keycontainer:", this.KeyContainer);
commandLine.AppendSwitchIfNotNull("\n/keyfile:", this.KeyFile);
commandLine.AppendSwitchIfNotNull("\n/linkresource:", this.LinkResources, new[] { "LogicalName", "Access" });
if (NoLogo)
commandLine.AppendSwitch("\n/nologo");
commandLine.AppendSwitchIfNotNull("\n/resource:", this.Resources, new[] { "LogicalName", "Access" });
commandLine.AppendSwitchIfNotNull("\n/target:", this.TargetType);
commandLine.AppendPlusOrMinusSwitch("\n/warnaserror", base.Bag, "TreatWarningsAsErrors");
commandLine.AppendSwitchIfNotNull("\n/win32icon:", this.Win32Icon);
commandLine.AppendPlusOrMinusSwitch("\n/debug", base.Bag, "EmitDebugInformation");
commandLine.AppendSwitchIfNotNull("\n/project-path:", this.ProjectPath);
commandLine.AppendSwitchIfNotNull("\n/root-namespace:", this.RootNamespace);
commandLine.AppendSwitchIfNotNull("\n/main:", this.MainEntryPoint);
if (CompilerStackSize > 0)
commandLine.AppendSwitchIfNotNull("\n/stack-size:", this.CompilerStackSize.ToString());
// Not supported options:
//commandLine.AppendSwitchWithInteger("\n/codepage:", base.Bag, "CodePage");
//commandLine.AppendSwitchIfNotNull("/debug:", this.DebugType);
//commandLine.AppendSwitchWithInteger("\n/filealign:", base.Bag, "FileAlignment");
//commandLine.AppendWhenTrue("\n/utf8output", base.Bag, "Utf8Output");
// Add sources
if (this.Sources != null)
{
commandLine.Append("\n\n");
commandLine.AppendFileNamesIfNotNull(this.Sources, "\n");
commandLine.Append("\n");
}
if (null != base.ResponseFiles)
{
foreach (var it in base.ResponseFiles)
//.........这里部分代码省略.........