2

我对 VS 2010 pro sp1 有一个奇怪的问题,我的自定义类(都在同一个命名空间中)都没有出现在智能感知中。我在所有变量声明下都看到了红色的 swiggley 行,如果我将鼠标悬停在它们上面,我会得到 - 找不到类型或命名空间名称“xxx”(您是否缺少 using 指令或程序集引用?)。

奇怪的是,我有正确的 using 语句,一切都是正确的,项目甚至可以正确编译和运行,在我开发这些页面时,我的自定义类没有智能感知,这很烦人。需要注意的是,这是一个网站项目而不是网站应用程序项目。我已经多次重新安装了 Visual Studio,之前我可以通过重新创建一个新的解决方案文件来解决该问题,但此后不久问题又出现了,我不想一直这样做。有什么想法吗?

4

2 回答 2

3

抱歉“闯入”您的帖子 - 也许转换为 Web 应用程序解决了您的问题,但是.....

澄清

“网站”项目中没有“命名空间”这样的概念。

不确定上述内容是如何开始的,但它不准确- 您当然可以在 ASP.Net 网站中拥有命名空间(并且您获得 Intellisense)。这与哪种范式“更好”无关——只是希望在这成为“公认的事实”之前得到澄清。

App_Code文件夹是您的朋友(如果您添加项目,VS 会询问您Class

网站文件夹结构

Namespaced.vb 完整源代码:

Imports Microsoft.VisualBasic

Namespace EdSFNS
    Public Class foo
        Public Property someInt As Integer
        Public Property someString As String
        Public Sub New()
        ...
        End Sub
    End Class
End Namespace

另一个命名空间(namespaced2.vb):

Imports Microsoft.VisualBasic

Namespace StackOverFlowNS
    Public Class foo
        Public Property someInt As Integer
        Public Property someString As String
        Public Sub New()
        End Sub
    End Class
End Namespace

Razor 页面中的智能感知:

智能感知工作 1 智能感知工作 3

智能感知工作 2


结果:

网站中的命名空间工作得很好


HTH...

于 2012-05-24T06:15:29.760 回答
2

切换到 Web 应用程序项目模板。我在网站模板中一次又一次地看到这种情况;它们不能很好地与库配合使用,尤其是在涉及用户控件的情况下。搜索 Google 或 SO,你会发现很多关于这个主题的类似问题。

于 2012-05-24T03:07:56.957 回答