色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

ASP.NET 2.0下的條件編譯

在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的了,我這種做法好象不是正路。

 

AspNet技術ASP.NET 2.0下的條件編譯,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 色达县| 乐业县| 吐鲁番市| 鄂州市| 虹口区| 昔阳县| 黎平县| 伊春市| 怀安县| 彭州市| 金阳县| 宣恩县| 四子王旗| 庆元县| 昔阳县| 沾益县| 内丘县| 康乐县| 江山市| 阳新县| 汉沽区| 南投县| 岳阳县| 根河市| 朝阳市| 怀集县| 开江县| 安塞县| 方山县| 梧州市| 安平县| 深州市| 墨竹工卡县| 邢台市| 泽库县| 常宁市| 苗栗市| 丰都县| 察隅县| 江门市| 孝昌县|