1

我已经尝试了在 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;
   }
}

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

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

但是我收到一个错误,即找不到类型或命名空间“加密”。

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

我尝试了所有可以找到的用于更新配置文件的示例,但无济于事。有什么我需要做的我在这里想念的吗?

4

2 回答 2

5

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

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

@using MyWebsite.Utilities

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

好吧,回到编码!

于 2011-11-07T17:19:51.943 回答
2

App_data 中的类未编译。它适用于 SQL CE、Express 数据库和特定于应用程序的数据,而不是代码。从根目录创建另一个文件夹并将类文件移动到那里或将其放在项目的根目录中。

于 2011-11-07T00:06:55.540 回答