只是近來撰寫上遇到無法進行Debug的狀況,在Visual Studio一進行偵錯可以看到Console 程式被執行,並顯示使用Topshelf語法所帶入的相關資訊,但顯示完之後旋即關閉,亦無法進行偵錯,花了不少時間才找到原因。
個人碰到以下幾種原因:
1. 專案的組態檔(App.config)有問題
一開始我是複製先前的某專案過來,想修改成另一個略有不同的Service,但一直無法偵錯,以為是撰寫上的錯誤,直到改回與原本幾乎相同的程式碼,反覆比對後才發現是Config有問題,該專案引用的某自訂的ConfigurationSection移植過來後,相關的namespace及設定有錯。
2.同名的服務正在執行中
會在Visual Studio的視窗中看到以下這樣的訊息:
[YourServiceName] service is running and must be stopped before running via the console
撰寫的Service可能已安裝在本機並正在執行中,但同時我們可能又在持續開發或調整該專案的相關程式,則也會造成無法進行Debug.
自帶安裝程式的Topshelf,是我個人目前寫 Window Service 不可或缺的套件,也真的也方便進行開發及Debug的動作,非常推薦使用,也希望可以幫到一些"突然"不能偵錯的朋友。;)
沒有留言:
張貼留言