2013-10-03 82 views
4

Im新的C#和即時通訊創建一個新的Web應用程序。像往常一樣,我創建了一般應用程序使用的公共函數庫。C#訪問類內的文件夾App_Code

進出口使用VS.net 2008年,我創建了一個項目新項目裏的跟隨着結構: 根 --App_Code globalClass.cs --scripts Default.aspx的 Default.aspx.cs

我需要在App_Code/globalClass.cs中導入/使用globalClass 在Default.aspx或任何其他的代碼後面。

這是App_Code文件/ globalClass.cs

using System; 
using System.Collections; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Configuration; 
using System.Data; 
using System.Data.SqlClient; 


namespace sgmedcs.globalClass 
{ 
    public class claseGlobalX : System.Web.UI.Page 
    { 
     //HttpContext httpActual = HttpContext.Current; 

     public string cargarSQL(string queryStr, string queryType) 
     { 
      //Scripting 
     } 
    } 
} 

我也用作命名空間sgmed.App_Code.globalClass和內容sgmedcs.​​AppCode.globalClass

在Default.aspx.cs我添加使用sgmedcs.​​globalClass;或者使用sgmed.App_Code.globalClass;或使用sgmedcs.​​AppCode.globalClass

所有這些方法給了我「的類型或命名空間名稱claseGlobal'在命名空間‘sgmedcs’不存在(是否缺少程序集引用?)」

什麼即時失蹤,感謝您的幫助。

+0

我想如果你改變命名空間到命名空間sgmedcs它應該可以解決你的問題。 –

回答

14

進入該類的屬性,並將生成操作更改爲Compile

+1

這一步解決了我的問題,謝謝 –

+0

我保留命名空間sgmedsc.globalClass。 而在default.aspx中我添加了sgmedsc.globalClass; 在屬性中,我改變了編譯的構建行爲,就像詹姆斯約翰遜所說的那樣。 謝謝 –

0

另外值得一提的是:如果你的項目是一個「網站」而不是「web應用程序」,那麼屬性中沒有構建動作選項。但是,由於各種原因可能會出現相同的錯誤。其中一個就是給App_Code類提供一個名稱空間,另一個文件不是用包含名稱空間的完全限定名稱引用它。另一種情況是,您嘗試使用該類的頁面位於子目錄中,在IIS上,該子目錄被標記爲應用程序,該應用程序爲其提供了一個完全獨立的上下文,其中父目錄的App_Code目錄中的類不可訪問。在這種情況下,你需要刪除子應用程序,或者,如果你需要的話,給它自己的App_Code目錄和必要的類。

相關問題