2012-02-15 4 views
3

Я работаю над приложением vb.net унаследованным, что делает большую часть своей работы с помощью встроенного кода (Referencing класса в инлайн VB кода

В рамках этого сценария, мне нужно получить доступ к функциям из DLL .net третьей партии .

Библиотека 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> 

Например говорят, что длл называется 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» не определено

Есть ли какой-либо другой способ, я должен ссылаться на это d party dll, я в основном парень из C# и не очень много разбираюсь в VB или таком встроенном коде. Обратите внимание, что код, который я показал, все из пользовательского элемента управления (.ascx)

+0

Какую версию ASP.NET вы работаете в? – EverPresent

ответ

2

Оказывается, мне нужно, чтобы добавить

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

, как это было в GAC и не автоматически ссылки

0

Вы добавили ссылку на сборку, правильно? Вы должны иметь ссылку на сторонние сборки, прежде чем сможете использовать операторы Imports с их пространствами имен.

Если вы хотите попытаться создать объект без прямой ссылки на dlls, попробуйте метод CreateObject. Но я подозреваю, что лучшим ответом будет то, чтобы ссылки работали правильно, так что вам не нужен метод CreateObject.

 Смежные вопросы

  • Нет связанных вопросов^_^