如何在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




