2011-09-23 216 views
0

任何人都可以請幫助我如何將C#(Windows平臺應用程序)轉換爲命令行版本?將C#(Windows應用程序)轉換爲commadline應用程序?

這種情況是:我在VS 2010中實現了C#(windows應用程序)。此應用程序的輸出是生成一個txt(日誌)文件(簡單說明)。

現在情況是,有一個其他應用程序需要使用我的這個C#應用程序,通過在運行時從命令行調用我的C#應用​​程序。

我的問題是,如何將現有的C#應用​​程序轉換爲命令行應用程序,以便可以從調用(其他)程序調用此C#應用程序?有一個輸入參數需要通過命令行傳遞給我的C#應用​​程序。然後這個C#應用程序將根據輸入參數處理數據,然後生成輸出日誌(txt)文件。

請指導,任何建議將不勝感激!

添加說明:

對不起,挺晚的答覆,但我真的解決方案在這裏留下深刻的印象。你需要更多的專業知識,大師指出,我希望一個應用程序只能作爲命令行應用程序以及Windows應用程序(以前忘記提及它,對不起!),這取決於傳遞給應用程序的輸入參數的數量。從這個角度來看,我有兩個選擇來實現它,

1)爲這兩個應用程序(commandline和windows-forms)製作單獨的函數。根據輸入參數傳遞調用它們。在每個功能中實現每個應用程序的完整功能而不會干擾(或進入其他應用程序的代碼)。此外,我還可以在編輯後重新使用2個主要功能,這些功能已經在Windows命令行應用程序中構建到我的命令行應用程序中。

缺點:這將使代碼大小比情況下更接近50%2.

2)第二個想法是與由專家之一在這裏描述,使用相同的應用程序/功能的命令行作爲已經構建的Windows窗體應用程序。區分的唯一方法是查看輸入參數傳遞,並據此決定是否顯示GUI界面或僅使用命令行輸入(並進行處理)。

缺點:由於額外增加了對輸入參數決策次數的檢查,這種情況會使代碼變得混亂且難以維護/實現。

請諮詢我需要採取哪種策略來實施。

感謝

+2

看看這個問題#1 http://stackoverflow.com/questions/807998/how-do-i-create-ac -app-that-decides-itself-whether-to-show-as-a-console-or-wind查看它是否適合你。 –

回答

1

只是如果你paramater傳入,從其他程序調用時不顯示GUI。

2

當然 - 只是:

  1. 創建一個新的VS2010的命令行項目

  2. 現在,您將有一個 「主()」(或在MS-土地,「_tmain( )「)函數而不是根類。

  3. 將相關代碼剪切並粘貼到main()中(或者由main()調用的函數或從main()創建的類中 - 您的選擇)。

  4. 做一個搜索和摧毀的任務,找到你正在做GUI輸入的地方,並替換命令行參數。

  5. 解析你的命令行。

瞧!完成!

2

你想從命令行獲得價值並不是將winform應用程序轉換爲控制檯應用程序的好理由。您可以使用,

string[] args = Environment.GetCommandLineArgs();

但是你可以通過打開project properties更改應用程序類型(右鍵點擊項目名稱),並更改Output type

2

您不必轉換它。您的應用程序可以保持爲Windows應用程序。你只需要處理命令行參數。

從任何地方獲取命令行參數的應用程序,只需使用Environment.GetCommandLineArgs();

相關問題