标签: console-application

.Net 6 控制台应用程序:WebApplication.CreateBuilder 与 Host.CreateDefaultBuilder

我正在研究 .NET 6,并希望构建一个简单的控制台应用程序,并进行一些依赖项注入。

据我所知,为了使启动(现在只是程序)文件更具可读性,已经做了很多工作。让我有点困惑的是,所有改进似乎都是针对 API 项目中使用的 WebApplication.CreateBuilderpart 进行的,而不是 Host.CreateDefaultBuilder。正如本博客中提到的

微软自己的文档,似乎也只提到了WebApplication。

对我来说,WebApplication 似乎仅适用于 Web 项目,例如 API,并且我找不到任何可以证实 og 揭穿这一点的内容。

可以在控制台应用程序中使用 WebApplication,还是应该依赖 Host,并保留堆叠的 lambda 表达式?

.net dependency-injection console-application

46
推荐指数
1
解决办法
4万
查看次数

windows form .. console.writeline()在哪里是控制台?

我创建了一个Windows窗体解决方案,并在我调用的类的构造函数中

Console.WriteLine("constructer called")

但我只得到表单而不是控制台..所以输出在哪里?

.net c# console-application winforms

44
推荐指数
4
解决办法
7万
查看次数

使用自定义控制台进行Visual Studio控制台应用程序调试

在调试控制台应用程序时,是否可以将Visual Studio设置为使用非标准控制台?

我不确定默认控制台是什么,它看起来就像cmd.exe.当我调试时,我真的很喜欢我的控制台应用程序在ConEmu中运行.

为了清楚起见,我想点击"开始调试",这个过程应该像往常一样发生,但是不cmd.exe应该打开一个控制台,它应该调出一个ConEmu控制台(或其他).

我正在使用Visual Studio 2010 Pro

与此(未答复)问题密切相关:使用Console2进行Visual Studio调试?

debugging console console-application visual-studio-2010

44
推荐指数
1
解决办法
1万
查看次数

自托管.NET Core控制台应用程序中的Startup.cs

我有一个自托管的.NET Core Console应用程序.

Web显示ASP.NET Core的示例,但我没有Web服务器.只是一个简单的命令行应用程序

是否可以为控制台应用程序执行此类操作?

public static void Main(string[] args)
{
    // I don't want a WebHostBuilder. Just a command line

    var host = new WebHostBuilder()
        .UseKestrel()
        .UseContentRoot(Directory.GetCurrentDirectory())
        .UseIISIntegration()
        .UseStartup<Startup>()
        .Build();

    host.Run();
}
Run Code Online (Sandbox Code Playgroud)

我想在ASP.NET Core中使用Startup.cs,但是在控制台上.

怎么样?

c# console-application .net-core

44
推荐指数
6
解决办法
3万
查看次数

如何将快速彩色输出写入控制台?

我想学习是否有另一种(更快的)方法使用C#.net将文本输出到控制台应用程序窗口,而不是使用简单的Write,BackgroundColorForegroundColor方法和属性?我了解到每个单元格都有背景颜色和前景色,我想比使用上面提到的方法更快地缓存/缓冲/写入.

也许使用Out缓冲区有一些帮助,但我不知道如何将颜色编码到流中,如果这是颜色数据所在的位置.

这是一个基于retrostyle文本的游戏,我想要实现,我使用标准颜色和ascii字符来布局游戏.

请帮忙 :)

更新:

Out和缓冲区可能不是我需要弄乱的东西.似乎有一个控制台拥有的屏幕缓冲区.我不知道如何访问它,也许我只是运气不好,除非我导入一些dll.

.net c# console-application

43
推荐指数
2
解决办法
1万
查看次数

创建没有后台服务的 .NET Core 控制台应用程序的“正确”方法

我正在构建一个简单的 .NET Core 控制台应用程序,它将从命令行读取基本选项,然后执行并终止,无需用户交互。我想利用 DI,这样我就可以使用 .NET Core 通用主机。

我发现构建控制台应用程序的所有示例都会创建一个实现 IHostedService 或扩展 BackgroundService 的类。然后,该类通过 AddHostedService 添加到服务容器,并通过 StartAsync 或 ExecuteAsync 启动应用程序的工作。然而,似乎在所有这些示例中,它们都在实现后台服务或一些其他应用程序,这些应用程序在循环中运行或等待请求,直到被操作系统关闭或收到一些终止请求。如果我只想要一个启动、执行其操作然后退出的应用程序怎么办?例如:

程序.cs:

namespace MyApp
{
    using System;
    using System.Threading.Tasks;
    using Microsoft.Extensions.DependencyInjection;
    using Microsoft.Extensions.Hosting;
    using Microsoft.Extensions.Logging;

    public static class Program
    {
        public static async Task Main(string[] args)
        {
            await CreateHostBuilder(args).RunConsoleAsync();
        }

        private static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .UseConsoleLifetime()
                .ConfigureLogging(builder => builder.SetMinimumLevel(LogLevel.Warning))
                .ConfigureServices((hostContext, services) =>
                {
                    services.Configure<MyServiceOptions>(hostContext.Configuration);
                    services.AddHostedService<MyService>();
                    services.AddSingleton(Console.Out);
                });
    }
}
Run Code Online (Sandbox Code Playgroud)

MyServiceOptions.cs:

namespace MyApp
{
    public class MyServiceOptions
    {
        public int OpCode …
Run Code Online (Sandbox Code Playgroud)

c# console-application .net-core

43
推荐指数
2
解决办法
2万
查看次数

在所有子目录上使用wc来计算行的总和

如何计算所有子目录中所有文件的所有行wc

cd mydir
wc -l *
..
11723 total
Run Code Online (Sandbox Code Playgroud)

man wc建议wc -l --files0-from=-,但我不知道如何生成所有文件的列表NUL-terminated names

find . -print | wc -l --files0-from=-
Run Code Online (Sandbox Code Playgroud)

不工作.

linux bash console-application text-files

41
推荐指数
3
解决办法
4万
查看次数

有没有办法删除刚使用Console.WriteLine编写的字符?

有没有办法从控制台删除最后一个字符,即

Console.WriteLine("List: apple,pear,");
// Somehow delete the last ',' character from the console.
Console.WriteLine(".");
// Now the console contains "List: apple,pear."
Run Code Online (Sandbox Code Playgroud)

当然,我可以先创建一个字符串,然后将其打印到控制台,但我只是想知道是否可以直接从控制台删除字符.

c# console console-application console.writeline

40
推荐指数
5
解决办法
4万
查看次数

屏蔽从控制台输入的密码:Java

如何从控制台输入掩码密码?我正在使用Java 6.

我尝试过使用console.readPassword(),但它不起作用.一个完整的例子可能对我有帮助.

这是我的代码:

import java.io.BufferedReader;
import java.io.Console;
import java.io.IOException;
import java.io.InputStreamReader;

public class Test 
{   
    public static void main(String[] args) 
    {   
        Console console = System.console();

        console.printf("Please enter your username: ");
        String username = console.readLine();
        console.printf(username + "\n");

        console.printf("Please enter your password: ");
        char[] passwordChars = console.readPassword();
        String passwordString = new String(passwordChars);

        console.printf(passwordString + "\n");
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到一个NullPointerException ...

java passwords console console-application masking

40
推荐指数
2
解决办法
10万
查看次数

使用Java和gradle的控制台应用程序

我正在用Java和gradle编写一个控制台应用程序.我正在使用该application插件并正确配置了必填字段build.gradle.

在我的主要课程中,我已经BufferedReader与之相关联System.in.这是问题所在:当我gradle run在项目目录中运行时,阅读器不会等待我的控制台输入.BufferedReader#readLine而是null在第一次通话时返回.对于我正在做的事情,这种行为是不可取的.

解决办法是什么?是否有一个单独的控制台应用程序插件用于gradle或我是否需要以application某种方式调整插件以满足我的需求?

java console-application gradle

40
推荐指数
3
解决办法
1万
查看次数