2009-06-28 71 views

回答

5

你能做的最好的是在任何你希望的屬性頁面(屬性在Solution Explorer節點)設置裝配名。 C#編譯器自動使用程序集名稱作爲進程名稱(生成的EXE的文件名),所以這應該爲您完成這項工作。請注意,程序集名稱與項目名稱和根名稱空間完全無關。

當然,您可以在EXE生成後更改文件名(這會使程序集名稱不變爲),儘管我沒有看到真正的原因。

注意:我假設你特指Visual Studio,儘管它可能沒什麼關係。

21

您可以在項目的屬性頁面中設置它。在應用程序選項卡上設置程序集名稱將設置生成的編譯程序集的名稱(即ABC.exe)。

.vshost.exe是您在調試時由Visual Studio使用的Visual Studio debugging process。您可以通過取消選中項目屬性的調試選項卡上的「啓用Visual Studio宿主進程」複選框來關閉該功能(Visual Studio不需要它進行調試)。

+0

嗨阿德里安, 我還有一個問題。如果我們手動更改可執行文件的名稱,則進程名稱也會更改。有沒有辦法永久設置進程名稱? – 2010-01-11 16:31:20

+3

我不這麼認爲。進程名稱是正在運行的可執行文件的名稱。我唯一能想到的就是在啓動時進行檢查,檢查當前exe的名稱,如果它不是預期的名稱,它將不會運行 - 確保您的進程被正確命名(儘管是一個可怕的和不友好的解決方案)。 – adrianbanks 2010-01-11 17:57:08

0

任務管理器中的進程名稱是基於映像名稱的,這是可執行文件(正如已經指出的,程序集名稱設置在VS.Net中定義了這一點)。

應用程序名稱是基於窗口標題的,所以只能用圖形應用程序進行更改(除非通過不太可能穩定的骯髒黑客控制檯)。

請注意,您可以有多個可執行文件在共享dll中執行共同的主要方法,因此如果有幫助,您可以「不同地命名」實質上相同代碼的不同實例。

1

它似乎取自一個.EXE的版本信息資源;特別是「FileDescription」屬性。要以編程方式執行此操作,我想您需要一個單獨的程序來更新.EXE中的version-info資源,該資源的描述您要更改。 (我不知道C#,但在C++中,UpdateResource用於此目的。)

4

單獨更改「程序集名稱」並不能幫助我。在AssemblyInfo.cs文件中更改程序集標題幫助我更改了進程名稱。

相關問題