如何设置项目的可执行流程名称?

时间:2009-06-28 23:00:30

标签: c# process project

我想将我的可执行文件的进程称为ABC。我怎么能这样做?我尝试将我的项目名称定义为ABC,但之后我将有一个ABC.vshost。

5 个答案:

答案 0 :(得分:22)

您可以在项目的属性页面中进行设置。在应用程序选项卡上设置程序集名称将设置生成的已编译程序集的名称(即ABC.exe)。

.vshost.exe是Visual Studio debugging process,在调试时由Visual Studio使用。您可以通过取消选中项目属性的调试选项卡上的“启用visual studio hosting process”复选框来关闭它(Visual Studio不需要它来调试)。

答案 1 :(得分:5)

您可以做的最好的事情是在属性页(解决方案资源管理器中的属性节点)中将程序集名称设置为您想要的任何名称。 C#编译器自动使用程序集名称作为进程名称(生成的EXE的文件名),因此这应该为您完成工作。请注意,程序集名称完全独立于项目名称和根名称空间。

当然,您可以在生成后更改EXE的文件名(这将使程序集名称​​保持不变),但我认为没有真正的原因。

注意:我假设您特别指的是Visual Studio,尽管就可能性而言可能并不重要。

答案 2 :(得分:5)

更改"程序集名称"单独没有帮助我。在AssemblyInfo.cs文件中更改程序集标题帮助我更改进程名称。

答案 3 :(得分:2)

它似乎取自.EXE的version-info资源;特别是,“FileDescription”属性。为了以编程方式执行此操作,我想您需要一个单独的程序来更新.EXE中的版本信息资源,您尝试更改其描述。 (我不知道C#,但在C ++中,UpdateResource用于此目的。)

答案 4 :(得分:0)

任务管理器中的进程名称基于映像名称,即可执行文件(已经指出程序集名称设置在VS.Net中定义了这一点。)

应用程序名称基于窗口标题,因此只能通过图形应用程序进行更改(除非通过对控制台进行脏操作而不太稳定)。

请注意,您可以让多个可执行文件在共享dll中执行公共main方法,这样您就可以“命名”基本相同代码的不同实例(如果有帮助的话)。