无法在WebMatrix(razor)App_Data文件夹中访问我的类

Pau*_*efe 1 asp.net class app-data webmatrix razor

我已经尝试了我在stackoverflow上找到的每个解决方案,但我似乎无法访问我在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;
   }
}
Run Code Online (Sandbox Code Playgroud)

我应该能够在代码块中访问它,如:

@{
    Encryption enc = new Encryption();
    var data = enc.Encrypt("hello", "world");
}
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误,即无法找到类型或命名空间"加密".

我也尝试用命名空间导入它,但似乎无法将我的应用程序名称显示为命名空间,在asp.net mvc中似乎更简单.

我尝试了所有可以找到的更新配置文件的例子,但无济于事.有什么我需要做的,我在这里失踪了吗?

Pau*_*efe 5

我终于找到了答案,我不得不创建一个App_Code文件夹,并将该类放在那里,以便它可以引用.

我想这是因为我在WebMatrix中创建了应用程序,而不是在VS2010中.因此,我的网站(MyWebsite)的名称并不等同于VS2010中项目名称所做的名称空间.这意味着如果我将Encryption类放在名为Utilities的文件夹中,我不能这样做:

@using MyWebsite.Utilities
Run Code Online (Sandbox Code Playgroud)

请注意,使用Starter Site的WebMatrix应用程序不会自动添加App_Code文件夹.

好吧,回到编码!