我刚开始使用我的第一个ASP.Net WebApi 2项目。我有这样一个文件:
/AppCode/Remits.vb
Public Class Remits
Public Shared Function GetBoolean(id As Integer, id2 As Integer) As Boolean
Return True
End Function
End Class
需要从我的所有控制器调用此函数。该函数检查两个ID参数是否有效(使用一些广泛的数据库逻辑完成,为简洁起见,将其删除)。
/Controllers/TestController.vb
Namespace Controllers
Public Class TestController
Inherits ApiController
<Route("Test/{id}")>
Public Function [Get](id As Int32) As IHttpActionResult
Dim b As Boolean = myNs.Remits.GetBoolean(123, 456) ' <-- error (see below)
Return Ok(b)
End Function
End Class
End Namespace
这甚至无法编译,错误
&#39; myns名字&#39;没有宣布。由于其保护,它可能无法访问 水平
为什么命名空间和/或类不能在控制器中访问?或者,我做错了什么?
更新
以前目录中的文件无法识别 App_Code 中的任何内容。我已更新问题以反映这一点。这是一个突出问题的(微小)示例项目。 http://1drv.ms/1kqjwTX
答案 0 :(得分:2)
当您向App_Code添加类时,它被设置为构建操作“内容”。您需要将其更改为“编译”。
所以:
#2。在解决方案资源管理器和属性窗口中选择文件(如果默认情况下没有打开,请右键单击该文件并选择属性),有一个名为Build Action的选项。将其更改为编译。