在VB内联代码中引用类库

3
我正在处理一个遗留的vb.net应用程序,其中大部分工作都是使用内联代码完成的。在这个脚本中,我需要访问第三方.net dll中的函数。
这些dll本身存储在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)。


你正在使用哪个版本的ASP.NET? - EverPresent
2个回答

2
原来我需要添加。
<%@ Assembly Name="Foo, Version=x.x.x.x, Culture=neutral, PublicKeyToken=sfgfdsgfdsgsdg" %>

在 GAC 中的代码不会被自动引用。

0

你已经添加了程序集的引用,对吗?在使用导入语句时,必须先引用第三方程序集的命名空间。

如果你想尝试在没有直接引用dll的情况下创建对象,可以尝试CreateObject方法。但我认为更好的答案是正确地获取引用,这样就不需要使用CreateObject方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接