2010-11-14 61 views
1

我對asp.net環境比較陌生。將通用命名空間從web.config應用到app_code類文件

最近工作的一個項目,我發現了一個問題

即我不得不使用system.io在任何頁面添加到所有文件的功能。同樣對於使用SQL函數 即該命名空間的任何方法必須要全部使用像

System.IO.FileStream fs = null; 

代替

FileStream fs = null; 

因此,在短期它不僅需要更多的輸入時,它也很難記住某些方法背後的名稱空間。

但是,我找到了一個解決方案。

通過添加web.config中的以下部分,我的所有網頁自動訪問該命名空間

<namespaces> 

     <add namespace="System.Data"/> 
     <add namespace="System.Data.SqlClient"/> 
     <add namespace= "MySql.Data.MySqlClient"/> 
     <add namespace="System.IO"/> 
</namespaces> 

已經整理出了上述問題。我現在正面臨一個新的問題。我的應用程序在app_code文件夾中有許多代碼頁。 在App_Code文件夾,我的所有網頁都需要下面的頭

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI.WebControls; 
using System.IO; 

有人可能會感到困惑,爲何放置在web.config中聲明不工作放在此文件夾中的類。它們是同一個Web應用程序的一部分。現在我必須在所有文件中照顧這一點。

如果能分享關於如何在app_code文件夾中具有公共名稱空間的信息,我會很感激。

回答

0

你不能,根據文檔的using directive是每個文件:

using指令的範圍僅限於在它出現的文件。

但是有一個快捷方式將所需的使用指令添加到文件。
如果你輸入的東西是不是在目前使用的你得到的第一個字母下一個藍色的下劃線有移動鼠標並點擊彈出菜單(或按CTRL + ),在菜單中選擇「使用...」,Visual Studio會自動在文件頂部插入正確的using語句。

+0

是的,我想這只是要走的路。 – arvind 2010-11-15 06:22:01

0

我相信這是由於App_Code的特殊性質。由於App_Code中的文件通常是類文件(即不是webforms,用戶控件等,只是代碼文件),它們都是使用特定語言編譯器(csc.exe或vbc.exe)編譯的。項目中的其他頁面(這次是所有的webforms等等)都是用ASP.NET編譯器編譯的,ASP.NET編譯器考慮了web.config文件的內容。

相關問題