You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在C#中设置Visual Studio附加进程对话框的进程标题?

解决VS附加进程对话框中自定义控制台进程标题的问题

我之前也踩过这个坑!改程序集名称、进程描述这些操作确实不会影响VS附加进程对话框里显示的进程标识,得用专门的方法来设置——其实核心是要修改控制台窗口的标题,因为VS附加进程里的「标题」列对应的就是这个值。

最简单的实现方法(适用于所有.NET版本)

不管你用的是.NET Framework还是.NET Core/.NET 5+,都可以直接通过Console.Title属性来设置,这是.NET封装好的方法,底层其实调用了Windows原生API,不用自己写复杂的互操作代码:

static void Main(string[] args)
{
    // 在这里设置你的自定义标题,会在VS附加进程的「标题」列显示
    Console.Title = "用户中心同步服务 - 测试环境";
    
    // 你的业务代码逻辑
    Console.WriteLine("服务启动成功...");
    Console.ReadLine();
}

为什么之前的操作无效?

程序集名称、进程描述属于程序集的元数据信息,这些只会在文件属性、程序集信息里显示,和进程运行时在VS附加列表里的标识没有关系。VS附加进程里的「名称」列默认显示的是可执行文件的文件名(比如YourConsoleApp.exe),而「标题」列才是控制台窗口的标题,所以必须通过设置控制台标题来修改这个字段。

进阶:用原生API手动实现(如果需要更底层控制)

如果你因为某些原因不想用.NET封装的Console.Title,也可以直接调用Windows的SetConsoleTitle原生API,效果是一样的:

using System.Runtime.InteropServices;

class Program
{
    [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
    private static extern bool SetConsoleTitle(string lpConsoleTitle);

    static void Main(string[] args)
    {
        SetConsoleTitle("订单处理控制台 - 生产环境");
        // 业务代码...
    }
}

设置完成后,打开VS的「附加到进程」对话框,切换到「标题」列排序,就能一眼找到你自定义标题的进程了,非常方便!

内容的提问来源于stack exchange,提问作者Antoine

火山引擎 最新活动