我有一個Windows Service
(a發佈內部版本),我用Debug模式替換了一個DLL並試圖啓動該服務。它引發了一個錯誤無法加載文件或程序集「名稱」或其依賴項之一。試圖加載程序的格式不正確,但是當我替換髮布模式中構建的DLL時,服務已成功啓動。我的問題是why is there a difference between a DLL built in Debug mode & in Release mode. What is the difference
。DLL包含什麼?調試DLL和發佈DLL有什麼區別?
2
A
回答
6
這兩者之間最大的不同在於: 在調試版本中,完整的符號調試信息被髮出以幫助調試應用程序,並且不考慮代碼優化。 在發佈版本中,不會發出符號調試信息,並且代碼執行已經過優化。 另外,因爲符號信息不是在發佈版本中發佈的,所以最終可執行文件的大小比調試可執行文件的大小要小。
和DLL通常位於bin目錄中的文件是已編譯的源代碼,除非您將它解散,否則您將無法修改它。
您需要源代碼,然後對源代碼進行更改,然後將其編譯爲新的DLL。
3
不同之處在於調試版本包含調試所需的額外數據(符號名稱等)和被鏈接到使用DLL的調試版本(通常是運行時DLL)。
後者是你造成問題的原因之一。
如果您需要調試信息,請嘗試在發佈版本中使用日誌文件,而不是在網站上運行調試版本。
相關問題
- 1. dll和nuget包有什麼區別?
- 2. dll的FileVersion和ProductVersion有什麼區別?
- 3. stlportd.5.2.dll和stlportstld.5.2.dll有什麼區別?
- 4. COM DLL和VC++ MFC DLL有什麼區別?
- 5. .dll,.lib,.h文件有什麼區別?
- 6. DLL包裝和DLL之間的區別
- 7. 什麼是dll?
- 8. COM DLL服務器和COM EXE服務器有什麼區別?
- 9. .NET Core 2.0 SDK中.DLL和ref文件夾有什麼區別?
- 10. Visual Studio 2013中的msvcr120.dll和msvcr120_app.dll有什麼區別?
- 11. 託管和非託管DLL之間有什麼區別
- 12. 什麼是Microsoft.Web.Services2.dll
- 13. 構建C + + DLL的發佈和調試
- 14. DLL和註冊表有什麼問題?
- 15. log4net dll中的XmlCofigurator和DomCofigurator之間的區別是什麼?
- 16. 這些IBM.Data.DB2 dll之間有什麼區別?
- 17. C++ DLL調用C#DLL的選項是什麼?
- 18. Windows EXE/DLL:什麼是「打包圖像」
- 19. 什麼是第三方DLL?
- 20. 什麼是dll劫持?
- 21. 什麼是PREMERGED dll in .net
- 22. Windows.Devices.Geolocation需要什麼DLL?
- 23. 這是什麼oleaut32.dll?
- 24. 什麼是DLL的VERSIONINFO.InternalName?
- 25. 什麼是原生DLL?
- 26. 什麼的DLL我需要
- 27. ScriptManagers的ScriptMode中調試和發佈有什麼區別?
- 28. Xcode/Cocoa:調試和發佈版本有什麼區別?
- 29. Qt調試版本和Qt發佈版本有什麼區別?
- 30. 當發佈DLL不起作用但調試dll時
從來沒有見過「沒有建立反對適當的模式等」的錯誤信息。您當然可以更好地記錄該消息? –