在内联vb代码中引用类库

时间:2012-02-15 04:18:17

标签: asp.net vb.net reference .net-assembly inline-code

我正在开发一个传统的vb.net应用程序,它使用内联代码完成大部分工作(

在该脚本中,我需要从第三方.net dll访问函数。

dll(s)本身存储在GAC中。

在我开始之前,页面看起来像下面的

      
<script runat="server">    
    Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        '''code here    
    End Sub
</script>

例如说dll被称为Foo.dll,我需要访问Bar类和.Run()方法

<script runat="server">    
    Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim bar as Foo.Bar = new Foo.Bar()
        bar.Run()
    End Sub
</script>

我尝试使用

引用dll
<%@ Import Namespace="Foo" %>

在与其他进口相同的地方,但我收到以下

  

错误BC30002:未定义类型'Foo.Bar

还有其他一些方法我应该引用这个第三方dll,我主要是一个C#家伙,并没有处理VB或这种内联代码。请注意,我显示的代码全部来自用户控件(.ascx)

2 个答案:

答案 0 :(得分:2)

原来我需要添加

<%@ Assembly Name="Foo, Version=x.x.x.x, Culture=neutral, PublicKeyToken=sfgfdsgfdsgsdg" %>

因为它在gac中并且没有被自动引用

答案 1 :(得分:0)

您已添加对程序集的引用,对吗?在将Imports语句与其名称空间一起使用之前,必须先引用第三方程序集。

如果您想尝试创建对象而不直接引用dll,可以尝试使用CreateObject方法。但我怀疑更好的答案是让引用正常工作,这样你就不需要CreateObject方法了。