2016-01-22 91 views
0

我在更新服務器中運行的Windows服務時遇到問題。我只改變了DLL,但是當我想啓動它時,服務器剛剛崩潰,出現錯誤1053. Windows中的事件查看器顯示更多錯誤:Windows服務在服務器上無效,但在DLL更新後本地工作

異常信息:System.TypeInitializationException。

我幾乎可以肯定,我只是在我的代碼中做了錯誤,但要確保我在本地運行此服務(在我自己的筆記本電腦上),並且沒有任何問題服務啓動正確。在服務器上,我有與本地(複製粘貼)相同的DLL。你有任何想法如何解決這個問題?我需要快速結束這臺服務器。

private static void Main() 
{ 
    try 
    { 
     var dlls = new string[] { "Service.DataAccess", "SomeDll.Info", "SomeDll.Detail", "SomeDll.Some" }; 
     new AssemblyLoader(dlls).Load(); 
     XmlConfigurator.Configure(); 

     AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; 
     ServiceBase[] ServicesToRun; 

     ServicesToRun = new ServiceBase[] {new Service_SRV()}; 

     ServiceBase.Run(ServicesToRun); 
    } 
    catch(Exception e) 
    { 
     RecordError(e); 
     throw; 

    } 
} 

我只是更改DLL名稱,但有適當的沒有類型的錯誤。最後,我想補充說,我讀了這個主題:Error 1053: the service did not respond to the start or control request in a timely fashion

沒有什麼幫助,它仍然在本地計算機上工作,但不在服務器上。什麼樣的問題可能會使本地工作和服務器不工作?

回答

1

檢查您是否在app.config文件中提及了任何文件路徑或代碼中的任何硬編碼文件路徑。

如果是這樣,您可能需要更新服務器計算機的路徑。

1

您是否將新的DLL添加到GAC中? 否則,你的dll需要和你的控制檯應用程序在同一個目錄下。 也許在名爲bin的子文件夾中。

另外,你是否爲相同版本的框架編譯?使用的框架是否存在於服務器上?

+0

是的,它仍然是相同的框架和DLL在同一個文件夾 – Aht

+0

@Att錯誤消息表明您的服務已加載,但需要很長時間才能啓動。如果您更改了名稱,是否有任何仍然引用舊名稱的依賴關係?配置?配置部分/鍵?註冊表項? – lobiZoli

+0

有消息說,但服務器在3-5秒後崩潰併發送超時錯誤(30秒)。配置文件是好的相同的配置工作本地沒有問題 – Aht

相關問題