未定义类型'xxx',BC30002错误

时间:2010-04-09 16:01:48

标签: c# vb.net visual-studio-2008 code-behind

可以在aspx.vb代码隐藏文件中创建C#类的实例吗?

当我在Page_Load事件中尝试此操作时:

Dim oFlow As New Flow(HttpContext.Current.Request)

我没有定义Type'Flow'。 Flow类本身位于:

App_Code/CSCode/Cust/Frm/Flow.cs

没有与此类关联的命名空间。

任何建议都将不胜感激。

欢呼声,

德文

2 个答案:

答案 0 :(得分:1)

google上似乎有一些文章说可以直接使用引用从VB调用C#类。但是我之前从未使用过这种方法。以下是我的建议:

  1. 在解决方案中创建新项目
  2. 将此项目创建为c#类库
  3. 在调试或发布中编译该项目(这将在项目debug / bin或release / bin文件夹中创建.dll)。
  4. 返回到您的ASP.Net VB项目并在您刚刚创建的DLL中创建一个引用(右键单击资源管理器中的项目,您应该看到引用选项)。
  5. 现在,您可以像调用VB代码中的任何其他类库一样调用c#代码。此外,如果您需要更改C#代码,您只需要进行更改,再次编译,并且因为它在VB项目中被引用,所以所有内容都将自动更新。

    希望这有帮助。

答案 1 :(得分:0)

感谢您的回复。

我遇到问题的原因是因为我在Windows XP上使用IIS 6以及XP PRO IIS管理工具而我没有运行正确的站点。

一旦我切换到XP PRO IIS管理工具中的正确站点,然后重新编译,我就可以从.vb页面中调用我的C#类而不会出错,并且intellisense也认可了该类:)

欢呼声,

德文