我的環境是Visual Studio 2005.我的具體問題是我想要定義TRACE
。在ASP.NET Web部署項目中編譯時間DEFINEs
由於在web.config的system.codedom
元素中定義了它,因此我有一個網站項目,它在用完ASP.NET開發服務器時發送跟蹤消息。
當我部署到IIS時,我通過Web部署項目來完成此任務。所以這個站點是預編譯的。自然,這些條目在編譯的網站上沒有任何用處。
我的問題是如何在web部署項目中定義TRACE
?
我的環境是Visual Studio 2005.我的具體問題是我想要定義TRACE
。在ASP.NET Web部署項目中編譯時間DEFINEs
由於在web.config的system.codedom
元素中定義了它,因此我有一個網站項目,它在用完ASP.NET開發服務器時發送跟蹤消息。
當我部署到IIS時,我通過Web部署項目來完成此任務。所以這個站點是預編譯的。自然,這些條目在編譯的網站上沒有任何用處。
我的問題是如何在web部署項目中定義TRACE
?
就我所知,Visual Studio IDE不允許您在Web部署項目中設置編譯時間常量。但是,由於.wdproj文件只是一個msbuild文件,因此您可以使用文本編輯器對其進行編輯。您需要在部分中添加一個元素,如所提供鏈接中的屏幕截圖所示。
我不能改變鏈接的圖像,因爲新用戶顯然無法添加圖片: Annotated screenshot of .wdproj in a text editor http://img140.imageshack.us/img140/1719/deploymentproject.png
沒有相當於#定義在C#。這就是說,這聽起來像你想要使用條件跟蹤,這很容易完成。如果您在整個項目中都有診斷代碼但想定義它,請使用內置的跟蹤功能,例如
System.Diagnostics.Trace.WriteLine(「Some debug output」);
然後,在你的webconfig,您可以開啓/關閉使用
<configuration>
<system.web>
<trace enabled="true" requestLimit="40" localOnly="false"/>
</system.web>
</configuration>
更多信息here
Serapth, 感謝您的回覆進行配置。不過,我想我的問題並不清楚。我知道我可以打開web.config中的ASP.NET跟蹤並獲取該鏈接中的信息。但是,我想要的是Trace.Trace(信息|警告|錯誤)(消息)發送到跟蹤偵聽器。這需要定義TRACE。另外,#define在C#中工作得很好。試一試。 – 2009-05-07 18:18:35