C# 如何获得真正的运行进程名?
在.NET core控制台应用程序中,我希望获得正在运行的进程名,正如文档所说,但它总是返回C# 如何获得真正的运行进程名?,c#,process,.net-core,.net-standard,C#,Process,.net Core,.net Standard,在.NET core控制台应用程序中,我希望获得正在运行的进程名,正如文档所说,但它总是返回dotnet作为进程名,而不是正在运行的实际下划线dll。虽然它是一个dll,但这是一个控制台应用程序,而不是库 Console.WriteLine(Process.GetCurrentProcess().ProcessName); 输出 dotnet 编辑: 对于.net core,您可以使用: System.Reflection.Assembly.GetEntryAssembly().FullN
dotnet
作为进程名,而不是正在运行的实际下划线dll。虽然它是一个dll,但这是一个控制台应用程序,而不是库
Console.WriteLine(Process.GetCurrentProcess().ProcessName);
输出
dotnet
编辑:
对于.net core,您可以使用:
System.Reflection.Assembly.GetEntryAssembly().FullName
或
对于.NET 对于名称为“This is my Name”的项目
Console.WriteLine(System.Diagnostics.Process.GetCurrentProcess().ProcessName)代码>
打印这是我的名字
,如下所示
任务管理器显示
[assembly: AssemblyTitle("This is my name Title")]
System.AppDomain.CurrentDomain.FriendlyName
返回什么?是的。这是我想要的正确名称,所以这是在AppDomain中保留的,不是进程,谢谢!问题出在.NET Core中,所有应用程序都是由dotnet cli启动的,这与.NET Framework不同,在.NET Framework中,每个应用程序都有自己的exe。我添加了有关AssemblyTitleouldSystem.Reflection.Assembly.GetEntryAssembly().GetName()的信息。Name
是否为您工作?
[assembly: AssemblyTitle("This is my name Title")]