Пример #1
0
        static Task <int> Main(string[] args)
        {
            // Need to register the code pages provider for code that parses
            // and later needs ISO-8859-2
            System.Text.Encoding.RegisterProvider(
                System.Text.CodePagesEncodingProvider.Instance);
            // Test that it loads
            _ = System.Text.Encoding.GetEncoding("ISO-8859-2");

            CheckupManager.RegisterCheckups(
                new OpenJdkCheckup(),
                new AndroidEmulatorCheckup(),
                new VisualStudioMacCheckup(),
                new VisualStudioWindowsCheckup(),
                new AndroidSdkPackagesCheckup(),
                new XCodeCheckup(),
                new DotNetCheckup(),
                new DotNetWorkloadDuplicatesCheckup(),
                new EdgeWebView2Checkup());

            CheckupManager.RegisterCheckupContributors(
                new DotNetSdkCheckupContributor());

            CheckupManager.RegisterCheckups(new DotNetSentinelCheckup());

            var app = new CommandApp();

            app.Configure(config =>
            {
                config.AddCommand <CheckCommand>("check");
                config.AddCommand <ListCheckupCommand>("list");
                config.AddCommand <ConfigCommand>("config");
                config.AddCommand <AcquirePackagesCommand>("acquirepackages");
            });

            var finalArgs = new List <string>();

            var firstArg = args?.FirstOrDefault()?.Trim()?.ToLowerInvariant() ?? string.Empty;

            if (firstArg != "list" && firstArg != "config" && firstArg != "acquirepackages")
            {
                finalArgs.Add("check");
            }

            if (args?.Any() ?? false)
            {
                finalArgs.AddRange(args);
            }

            return(app.RunAsync(finalArgs));
        }