程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.NET 2.0下的條件編譯

ASP.NET 2.0下的條件編譯

編輯:ASP.NET基礎

在Web開發中測試單個頁面的功能實在是太麻煩,從首頁用戶名、密碼進去後,經過一些操作後才可以來到你要測試的那個頁面。(其實無論做什麼的開發,測試單個功能都是很麻煩)。抱著小心謹慎的態度,我一般喜歡寫幾段測一次,如果每次都興師動眾的啟動整個項目來測試顯然是很不經濟的做法。

我一般會在Solution中新增一個用於測試用的配置,在其中增加一個“Test"之類的編譯指令,然後在代碼中,把一些測試條件,測試方法放到這個指令下。在開發團隊還沒有引進單元測試之類的概念的時候,我可不想用新增一個測試項目這樣的方法來做這種事情。而且對於象Web下單個的Page這樣的情況我也不知道應該是如何進行法。所以還是用以前自己的編譯指令這種方法比較的輕車熟路點。

(我以前在寫一些非WEB下的東西的時候,也喜歡把測試方法與類本身寫在一個文件裡,然後用編譯指令區分開,如果要測試,就直接在開發環境下選擇"Test"的那個配置,然後啟動TestDriven來測試之,不用啟動整個項目對機器省力多了,TestDriven這個東西很管用的。
如果你是用C#作開發的,在開發環境中,如果當前這個編譯條件不滿足的時候,那些代碼都會灰掉,而且可以縮進,一點都不障眼)

 

不過我的那些伎倆,在VS2005下有點不管用了,現在WEB開發跟以前有點區別了。在上面找來找去都找不到地方來新增編譯指令,非WEB的開發還是可以找到地方新增的。折騰了半天,發現現在把一些設置的東西都放到Web.config裡來了,條件編譯當然也不例外。

比如現在要加一個”Test”的條件編譯指令。在Web.config文件中,在<compilation>這個節下加入下述語句就可以了。

      <compilers>

        <compiler language="vb"

              type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"

              extension=".VB"

              compilerOptions="/define:Debug=True /define:Trace=True /define:Test=True "/>

        <compiler language="c#"

            type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"

            extension=".cs"

            compilerOptions="/d:DEBUG;TRACE;Test"/>

      </compilers>

 

很要命的,對每一種語言都要加一個<compiler>,當然如果項目中沒用到相應語言,也可以不用理它,可以刪掉。一般C#、VB用得比較的多,我只搞了這二種。

Web.config裡設置過後就不用在每一個需測試的頁面上去定義編譯指令了,不過還是沒有以前爽,以前直接在IDE工具欄上選擇一下配置就行了,現在硬是要寫這麼多東西,而且主要還是不方便切換。比如我不要在"Test"條件下啟動時,我還得跑到Web.config裡把上面一段東西注釋掉。
按照MSDN的說法,在.Net 2.0下,<compiler>這個element是deprecated的了,我這種做法好象不是正路。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved