C# 如何获得真正的运行进程名?

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

在.NET core控制台应用程序中,我希望获得正在运行的进程名,正如文档所说,但它总是返回
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。我添加了有关AssemblyTitleould
System.Reflection.Assembly.GetEntryAssembly().GetName()的信息。Name
是否为您工作?
 [assembly: AssemblyTitle("This is my name Title")]