我有一個Windows服務,當目標框架是.NET 2,當我將其更改爲.Net 4時,它可以正常工作。我重新編譯了該項目,然後使用installutil重新安裝它,然後啓動服務,但我得到「Windows無法在本地計算機上啓動服務,錯誤1067:進程意外終止。」 不知道如何繼續,OnStart()方法沒有被Debugger.Break()行命中。任何想法如何繼續?如果我更改目標框架,是否需要更新一些設置或配置?更改目標框架後,Windows服務將無法啓動
2
A
回答
0
有些事情要檢查
- 當你卸載了2.0版本,並使其完全卸載?檢查控制面板|服務以查看它是否被移除。重新啓動以確保正確卸載。
- 您是否使用4.0的正確installutil.exe?也正確的機器和應用程序的32位/ 64位版本?
- 當您從2切換到4時,它是否正確更改啓動對象?檢查項目屬性並確保選擇正確的啓動對象。
0
在這裏,我會做來解決問題的計算機上
- 檢查應用程序事件日誌和錯誤日誌在您試圖啓動服務
- 如果該服務的服務器上失敗的出頭了更好地獲得安裝在本地開發人員計算機上的服務以調試問題
- 以管理員身份啓動服務控制檯,並確保啓動服務的帳戶具有有效的用戶名和密碼
- 打開Windows服務在Visual Studio
- 檢查提前編譯選項,看看它的.NET framework 4.0以及操作系統版本正在使用32位或64位
- 清理和重建解決方案
- 在OnStart方法中放置一個斷點並調試服務。如果服務在定時器上定期運行,則根據需要調整時間間隔,以便調試。有時我們需要附加一個流程
- 如果服務在您的計算機上運行,而不使用遠程調試來處理服務,則可能有助於解決問題
- 取消所有先前版本的服務並確保存在在一個時間點運行一個活動版本的服務
- 卸載時,安裝服務或使用Visual Studio以管理員身份啓動服務,同時還要注意運行服務的用戶帳戶。
相關問題
- 1. Windows服務將無法啓動共享點所需的框架
- 2. 無法更改PCL庫目標框架
- 3. 更改服務名稱後窗口服務無法啓動
- 4. 無法啓動Windows服務
- 5. 無法啓動Windows服務
- 6. Windows無法啓動服務
- 7. 安裝Windows服務將無法啓動
- 8. 啓動後服務無法啓動
- 9. Windows服務無法在啓動後啓動
- 10. 服務將無法啓動
- 11. 無法手動啓動C#Windows服務
- 12. 爲什麼Windows服務在Windows啓動後無法自動啓動
- 13. 將目標框架從v4.0更改爲v3.5後無法找到名稱空間
- 14. 重新啓動服務器後無法啓動SQL服務
- 15. Quartz.net 2.2.3 - 無法啓動Windows服務
- 16. 無法通過Windows服務啓動Informix
- 17. Memcached服務無法啓動在Windows上
- 18. XSockets.NET Windows服務無法啓動
- 19. 無法在Windows啓動oracle服務
- 20. red5服務無法在Windows上啓動
- 21. C#中的Windows服務無法啓動
- 22. 無法啓動C++ Windows服務
- 23. Windows服務無法啓動在Windows 2003服務器
- 24. 將圖像更改爲服務啓動
- 25. 重啓RHEL服務器後,廚師服務器無法啓動
- 26. 重啓後nginx服務無法啓動AWS Linux服務器
- 27. UIsearchBar。無法更改框架
- 28. 移動目錄後無法啓動neo4j服務
- 29. MariaDB更改datadir後無法啓動
- 30. VB.Net我無法更改我的目標框架
當從Net 2切換到Net 4時,項目可能沒有完全重新編譯。編譯器的依賴關係並不總是能夠識別選項中的更改。解決問題的最佳方法是刪除項目中的bin文件夾並重新編譯。編譯器將重新創建bin文件夾。 – jdweng
@jdweng感謝您的建議!我嘗試過,但仍然有同樣的問題。這真的很奇怪,因爲當我將它更改回.NET 2並重新編譯時,我根本沒有遇到任何問題。嗯...... –
你可以添加更多的斷點來找出發生錯誤的地方嗎?你會彈出一個說:「將異常複製到剪貼板」?按下並粘貼到記事本中。圍繞無法獲得e.Message和e.StackTrace的代碼添加異常處理程序。 – jdweng