66 lines
2.1 KiB
C#
66 lines
2.1 KiB
C#
![]() |
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
|||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|||
|
|
|||
|
using System.Reflection;
|
|||
|
using Microsoft.DotNet.Cli.Utils;
|
|||
|
|
|||
|
namespace Microsoft.DotNet.Tools.Help
|
|||
|
{
|
|||
|
public class HelpCommand
|
|||
|
{
|
|||
|
private const string ProductLongName = ".NET Command Line Tools";
|
|||
|
private const string UsageText = @"Usage: dotnet [common-options] [command] [arguments]
|
|||
|
|
|||
|
Arguments:
|
|||
|
[command] The command to execute
|
|||
|
[arguments] Arguments to pass to the command
|
|||
|
|
|||
|
Common Options (passed before the command):
|
|||
|
-v|--verbose Enable verbose output
|
|||
|
--version Display .NET CLI Version Info
|
|||
|
|
|||
|
Common Commands:
|
|||
|
new Initialize a basic .NET project
|
|||
|
restore Restore dependencies specified in the .NET project
|
|||
|
build Builds a .NET project
|
|||
|
publish Publishes a .NET project for deployment (including the runtime)
|
|||
|
run Compiles and immediately executes a .NET project
|
|||
|
repl Launch an interactive session (read, eval, print, loop)
|
|||
|
pack Creates a NuGet package";
|
|||
|
private static readonly string ProductVersion = GetProductVersion();
|
|||
|
|
|||
|
private static string GetProductVersion()
|
|||
|
{
|
|||
|
var attr = typeof(HelpCommand).GetTypeInfo().Assembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>();
|
|||
|
return attr?.InformationalVersion;
|
|||
|
}
|
|||
|
|
|||
|
public static int Run(string[] args)
|
|||
|
{
|
|||
|
if (args.Length == 0)
|
|||
|
{
|
|||
|
PrintHelp();
|
|||
|
return 0;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return Cli.Program.Main(new[] { args[0], "--help" });
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public static void PrintHelp()
|
|||
|
{
|
|||
|
PrintVersionHeader();
|
|||
|
Reporter.Output.WriteLine(UsageText);
|
|||
|
}
|
|||
|
|
|||
|
public static void PrintVersionHeader()
|
|||
|
{
|
|||
|
var versionString = string.IsNullOrEmpty(ProductVersion) ?
|
|||
|
string.Empty :
|
|||
|
$" ({ProductVersion})";
|
|||
|
Reporter.Output.WriteLine(ProductLongName + versionString);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|