为什么我的 class 没有暴露给同一个命名空间中的对等 classes?

Why isn't my class exposed to peer classes in the same namespace?

我正在尝试编写一个实用程序 class,将电子邮件作为我的网络服务的一部分编写。

我把它放在我项目的 App_Code 文件夹中:

namespace OrtundService.Controllers
{
    public class ServiceMail
    {

    }
}

这个 class 基本上只是从调用它的控制器获取模型数据,并使用该数据生成一封电子邮件,然后我将其发送到模型记录中包含的电子邮件地址。

但是,由于我无法理解的原因,我无法在以下控制器中访问它:

namespace OrtundService.Controllers
{
    public class UsersController : ApiController
    {

    }
}

很明显这 2 个 class 是同一个命名空间中的对等体,那么为什么 UsersController class 不能看到 ServiceMail class?

为了清楚起见,我已经确定 ServiceMail class 可以看到 UsersController class。

将 class 从 app_code 移到项目中它自己的文件夹中。