【问题标题】:Type 'xxx' is not defined, BC30002 error类型 'xxx' 未定义,BC30002 错误
【发布时间】:2010-04-12 05:15:01
【问题描述】:
可以在 aspx.vb 代码隐藏文件中创建 C# 类的实例吗?
当我在 Page_Load 事件中尝试这个时:
Dim oFlow As New Flow(HttpContext.Current.Request)
我得到“流”类型未定义。 Flow 类本身位于此处:
App_Code/CSCode/Cust/Frm/Flow.cs
没有与此类关联的命名空间。
任何建议将不胜感激。
干杯,
德文
【问题讨论】:
标签:
c#
vb.net
visual-studio-2008
code-behind
【解决方案1】:
google 上似乎有几篇文章说可以使用引用直接从 VB 调用 C# 类。但是我以前从未使用过这种方法。以下是我的建议:
- 在您的解决方案中创建一个新项目
- 将此项目创建为 c# 类库
- 在 debug 或 release 中编译该项目(这将在项目 debug/bin 或 release/bin 文件夹中创建一个 .dll)。
- 返回到您的 ASP.Net VB 项目并引用(右键单击资源管理器中的项目,您应该会看到引用选项)到您刚刚创建的 DLL。
现在您可以像调用 VB 代码中的任何其他类库一样调用 c# 代码。此外,如果您需要对 C# 代码进行更改,您只需制作它们,再次编译,因为它在您的 VB 项目中被引用,所以所有内容都将自动更新。
希望这会有所帮助。
【解决方案2】:
感谢您的回复。
我遇到问题的原因是因为我在我的 windows xp 机器上使用 IIS 6 以及 XP PRO IIS 管理工具,但我没有运行正确的站点。
一旦我切换到 XP PRO IIS 管理工具中的正确站点,然后重新编译,我就能够从 .vb 页面中调用我的 C# 类,并且 intellisense 也可以识别该类 :)
干杯,
德文