Asp.net 公共函数在设计时可访问,但在运行时不可访问

Asp.net 公共函数在设计时可访问,但在运行时不可访问,asp.net,vb.net,Asp.net,Vb.net,我在vb.net中有一个aspx文件,它有一个名为GetOldestYear(string)的公共函数,VisualStudio将其显示为可访问,不会抛出任何错误消息并成功构建。调试时,它会碰到调用共享函数的代码行,但失败: 编译器错误消息:BC30451:未声明“GetOldestYear”。由于其保护级别,可能无法访问 public函数位于一个public模块中(我还尝试了一个具有相同问题的共享类) 然后我从aspx.vb文件中的页面加载事件调用 Dim oldestYear As Inte

我在vb.net中有一个aspx文件,它有一个名为GetOldestYear(string)的公共函数,VisualStudio将其显示为可访问,不会抛出任何错误消息并成功构建。调试时,它会碰到调用共享函数的代码行,但失败:

编译器错误消息:BC30451:未声明“GetOldestYear”。由于其保护级别,可能无法访问

public函数位于一个public模块中(我还尝试了一个具有相同问题的共享类)

然后我从aspx.vb文件中的页面加载事件调用

Dim oldestYear As Integer=GetOldestYear(“从表中选择前1年”)


如何在设计时而不是运行时访问该函数?这可能是我错过的一些明显的东西,但我就是看不到

如果是Asp.NET项目,则需要在根项目路径中创建一个名为“App_Code”的文件夹,并将“Module1.vb”放在那里 此文件夹中的所有代码都将在.dll中编译,并可在所有Web应用程序中访问。 此外,您还需要确保“模块1”的构建操作是“构建”而不是“内容”。 转到模块项目(选择“Module1.vb”项→ 右击鼠标→ 属性)并转到“构建操作”并更改为“构建”


您是否尝试过使用模块1.GetOldestYear(“从表中选择前1年”)?(我知道上面说你不需要
模块1
)还有,“构建”->“干净的解决方案”,然后再构建一次。然后重新启动IIS。模块1中的其他子模块/功能是否正常工作?
Public Module Module1
   Public Function GetOldestYear(Query As String) As Integer
      ...
   End Function
End Module