2011-11-07 24 views
1

我嘗試了每個我在stackoverflow上找到的解決方案,但似乎無法訪問我在App_Data文件夾中創建的類。無法在WebMatrix(剃鬚刀)App_Data文件夾中訪問我的課程

如果我有這個類(只顯示類的一部分):

public class Encryption 
{ 
    public string Encrypt(string plainText, string Key) 
    { 
     byte[] key = StringToByteArray(Key); 
     string encrypted = ByteArrayToHexString(encryptStringToBytes_AES(plainText, key, null)); 
     return encrypted; 
    } 
} 

我應該能夠訪問它的代碼塊,如:

@{ 
    Encryption enc = new Encryption(); 
    var data = enc.Encrypt("hello", "world"); 
} 

但我得到一個錯誤無法找到該類型或名稱空間「加密」。

我也試着用名稱空間導入它,但似乎無法讓我的應用程序名稱顯示爲名稱空間,在asp.net mvc中似乎更簡單。

我嘗試了所有的例子,我可以找到更新我的配置文件,但無濟於事。有什麼我需要做的,我在這裏失蹤?

回答

5

我終於找到了答案,我不得不創建一個App_Code文件夾,並把它放在那裏,以供參考。

我想這是因爲我在WebMatrix中創建了應用程序,而不是在VS2010中。所以,我的網站(MyWebsite)的名稱並不等同於VS2010中的項目名稱這樣的名稱空間。這意味着,如果我把加密類叫做公用事業我不能做此文件夾中:

@using MyWebsite.Utilities 

注意,使用入門網站一WebMatrix的應用程序不會自動添加一個App_Code文件夾。

那麼,回到編碼!

2

App_data中的類未被編譯。它適用於SQL CE,Express數據庫和特定於應用程序的數據,而不是代碼。在根目錄下創建另一個文件夾,然後將類文件移到那裏或放在項目的根目錄下。

+0

我確實有它最初在一個子文件夾(實用工具),我看不到代碼。我在某處讀取需要在app_data文件夾中的cs文件,所以我將它移動到那裏,但仍然看不到它。所以,我把它移到了根目錄下,我仍然無法使用這個類。 –

+0

您是否構建瞭解決方案(Ctrl + Shift + B)? – Deleted

+0

是的,我使用了上面解釋的代碼,它能正常工作。 –