簡體   English   中英

ASP.net網站希望在IIS上調試為== false

[英]ASP.net Website want debug to == false on IIS

嘗試將其添加到web.config

<compilation debug="false" targetFramework="4.0">
</compilation>

但是網站仍然在不應該執行#if DEBUG的情況下執行代碼

*在aspx文件上,內聯語句<%#if DEBUG%>可以工作,但也需要.cs代碼。

NB開發和在線網站在同一盒子上

后端.cs文件中的#if指令由C#編譯器而非ASP.Net處理。
將項目設置為Release配置,以便在VS中編譯DLL時不定義該符號。

compilation debug元素與DEBUG預處理程序指令不同。 您需要在發布模式下重新編譯您的網站。

用調試符號編譯的二進制文件呢?

幾個人覺得非常有用的一種情況是使用調試符號編譯/預編譯應用程序或關聯的類庫,以便在發生錯誤時可以從中檢索更詳細的堆棧跟蹤和行錯誤消息。

好消息是,您無需在生產環境中啟用開關即可執行此操作。 具體來說,您可以使用Web部署項目或Web應用程序項目使用調試符號預編譯站點的代碼,然后在將應用程序部署到服務器上之前立即將開關更改為false。

編譯后的程序集中的調試符號和元數據將增加應用程序的內存占用,但是對於更詳細的錯誤消息,這有時可能是一個不錯的選擇。

http://weblogs.asp.net/scottgu/archive/2006/04/11/Don_1920_t-run-production-ASP.NET-Applications-with-debug_3D001D20_true_1D20_-enabled.aspx

確保編譯配置也可以發布。 在Visual Studio中,選擇“構建菜單>配置管理器”,並確保為所有程序集選擇“發布”,並且/或者是活動解決方案配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM