App_Code文件夹中的VB类无法访问根文件夹中的VB类

时间:2013-10-09 11:31:07

标签: vb.net class

我在项目的根文件夹中有一个名为Contact.vb的公共VB类,另一个名为Service.vb的App_Code文件夹中有一个VB类。

如果我尝试在Service.vb中声明Contact类,请执行以下操作:

Dim ds As New Contact

编译时出现此错误:

  

键入'联系人'没有定义。

我习惯于C#编码,所以我真的不明白我在这里失踪了......

编辑#1:

这是Contact类的第一部分。该类已基于模式生成。

    '------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'     Runtime Version: 1.1.4322.2300
'
'     Changes to this file may cause incorrect behavior and will be lost if 
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On

Imports System
Imports System.Data
Imports System.Runtime.Serialization
Imports System.Xml


<Serializable(),  _
 System.ComponentModel.DesignerCategoryAttribute("code"),  _
 System.Diagnostics.DebuggerStepThrough(),  _
 System.ComponentModel.ToolboxItem(true)>  _
Public Class Contact
    Inherits DataSet

    Private tableContact As ContactDataTable
编辑#2:编辑#2: 我终于发现了什么是错的。如果我在管理员模式下在VS中构建项目,它会成功构建,但如果我没有处于管理员模式,则会失败。

我不确定为什么会这样,但我想这可能是因为文件夹权限或类似内容。

3 个答案:

答案 0 :(得分:0)

你确定班上没有拼写错误吗?如果你拿出这条线,你能够建立/运行项目:

Dim ds As New Contact

我尝试过你的课程:

'------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'     Runtime Version: 1.1.4322.2300
'
'     Changes to this file may cause incorrect behavior and will be lost if 
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On

Imports System
Imports System.Data
Imports System.Runtime.Serialization
Imports System.Xml


<Serializable(), _
 System.ComponentModel.DesignerCategoryAttribute("code"), _
 System.Diagnostics.DebuggerStepThrough(), _
 System.ComponentModel.ToolboxItem(True)> _
Public Class Contact
    Inherits DataSet

    'Private tableContact As ContactDataTable

End Class

然后设法使用Dim ds ...行没有任何错误。

我确实遇到了类似的问题,之前我通过重建解决方案进行了整理。

您是否尝试过关闭并重新打开VS?

答案 1 :(得分:0)

您的项目是网络应用程序还是网站?

在这两种情况下,App_Code文件夹的行为有很多不同......

如果你在C#中使用这种方法,通常在vb.net中没有区别。

另一件事:在c#中,命名空间是由visual studio默认创建的,在vb.net中(如果我没记错的话)不是。

答案 2 :(得分:0)

我终于发现了什么是错的。如果我在管理员模式下在VS中构建项目,它会成功构建,但如果我不处于管理员模式,则会失败。

我不确定为什么会这样,但我想这可能是因为文件夹权限或类似的东西。