Мой Kbyte.Ru
Рассылка Kbyte.Ru
Группы на Kbyte.Ru
Партнеры Kbyte.Ru
Реклама
Сделано руками
Сделано руками
> Статьи - Алексей Немиро -

ASP .NET, Visual Basic .NET - Общие вопросы

Все статьи / Общие вопросы

Своя DLL – легко!

Автор: Алексей Немиро | добавлено: 02.03.2010, 23:44 | просмотров: 5087 (0+) | комментариев: 0 | рейтинг: *x1

ВНИМАНИЕ! Статья писалась для ранних версий .NET Framework (начало 2000-х), однако она может быть интересна тем, кто интересуется, как собрать DLL (и не только) вручную, без использования IDE (Visual Studio). Учтите, что в наше время компилятор может быть другим и работать немного иначе, чем во времена .NET Framework 1.0/1.1. 

Создавать DLL-ки можно в Visual Studio также легко, как и любой другой проект.


В этой небольшой статейке я расскажу о том, как можно сделать собственную динамическую библиотеку (DLL) с использованием синтаксиса языка Visual Basic .NET и применить ее в ASP .NET-приложениях.

 

Технология .NET позволяет создавать пользовательские библиотеки и использовать их на страницах ASP .NET, причем, в отличие от классического ASP, регистрировать их в системе не надо, достаточно просто поместить нужные библиотеки в каталог «bin», а ASP .NET сам их зарегистрирует.

 

Инструменты

 

Для создания dll-библиотеки нам потребуется любой текстовой редактор и наличие в системе компонентов Microsoft Framework .NET. Конечно, в роли редактора лучше использовать непосредственно Visual Studio .NET (гораздо удобней работать), но сие чудо человеческой мысли не всегда может оказаться под рукой или компьютер не в состоянии осилить всего могущества VS .NET, всякое бывает.

 

Кодинг

 

И так, редактор у нас есть, Framework .NET тоже присутствует, тогда начнем. Для начала, создадим новый файл, назовем его, например – myLIB.vb. Расширение файла *.vb используется VB .NET по умолчанию. По сложившейся традиции, в нашей библиотеке будет всего одна функция - возвращающая сумму значений двух чисел.

 

Далее, объявляем необходимые пространства имен. Делается это с помощью ключевого слова Imports:

 

01:

Imports Microsoft.VisualBasic

 

В принципе нам сейчас это не понадобится, но в будущем при создании вами новых библиотек очень даже пригодится. Если не объявить пространство имен Microsoft.VisualBasic, то вы не сможете использовать стандартные функции и константы VB .NET такие как, например, len, chr$, mid$, asc, vbCrLf, Now и т.д. А если вы собираетесь использовать объекты работы с базами данных (OleDbCommand, OleDbConnection и т.д.), нужно объявить пространства имен System.Data и System.OleDb.

 

Затем, нам необходимо создать собственное пространство имен. Делается это при помощи ключевого слова Namespace:

 

02:

...

08:

Namespace myName

 

End Namespace

 

Так, во 2-ой строке, создается пространство имен с именем myName. Имя вашего пространства имен может быть любым, но при этом оно должно оставаться уникальным. Старайтесь никогда не использовать для своих объектов уже зарегистрированные пространства имен.

Также важно не забыть закрыть созданное вами пространство имен – End Namespace. Я рекомендую делать это сразу, после его объявления, а уже потом писать остальной код (ведь никогда в заранее не знаешь, какого будет размера код).

 

Затем создаем новый класс, назовем его myCalculator:

03:

...

07:

  Public Class myCalculator

 

  End Class

 

Ключевое слово Public делает класс myCalculator доступным из вне, в нашем случает - для страниц ASP .NET. Так же как и при объявлении Namespace, в 7-ой строке закрываем наш класс.

Теперь перейдем собственно к написанию функции:

 

04:

05:

06:

    Public Function myPlus(ByVal x As Integer, ByVal y As Integer) As Integer

      Return (x + y)

    End Function

 

В 4-ой строке объявляется глобальная (Public) функция myPlus принимающая параметры x и y и возвращающая значения типа Integer.

В 5-ой строке команда Return возвращает сумму чисел x и y. Собственно, вместо Return можно также написать myPlus = x + y, кому как больше нравится.

В 6-ой строке мы закрываем нашу функцию. Далее, как уже было написано выше, в 7-ой строке закрывается класс, ну а в 8-ой - Namespace.

 

07:

08:

  End Class

End Namespace

 

Компиляция

 

И так, код нашей будущей библиотеки готов (не забудьте его сохранить!), далее, чтобы ASP .NET мог понять чего мы там по написали, необходимо компилировать код.

 

Если при создании библиотеки, вы использовали Visual Studio .NET, то вам просто-напросто нужно выбрать меню Build и в папке проекта появится готовенькая dll-ка. Если нет, то…

 

В каталоге, в котором находится созданный вами файл myLIB.vb, создайте новый ярлык (правая кнопка мышки – меню создать – ярлык). В поле «Размещение объекта» укажите следующую строку:

 

%comspec% /k "c:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\vsvars32.bat"

 

, где c:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\vsvars32.bat – путь к файлу vsvars32.bat.

 

Далее, в свойствах ярлыка, в поле «Рабочая папка», укажите путь к папке, в которой находится ваш файл myLIB.vb. Затем, запустите ярлык и введите следующую строку:

 

C:\WINNT\Microsoft.NET\Framework\v1.1.4322\vbc.exe /t:library /out:myLIB.dll /r: Microsoft.VisualBasic.dll myLIB.vb

 

Здесь запускается компилятор vbc.exe с параметрами t (type - тип) = library (библиотека), out (вывод) – указывает имя готового файла, а параметр r (reference – ссылка) – указывает на используемые библиотеки. В конце прописывается компилируемый файл, в нашем случае myLIB.vb. После нажатия Enter, в папке с файлом myLIB.vb появится файл myLIB.dll, который можно переместить в папку bin (рекомендую прямо в этой папке его создавать и собирать) вашего ASP. NET-проекта и использовать, так сказать, по назначению.

 

При компиляции, обязательно указываете в параметре r все объявленные в коде пространства имен (Imports), если их опустить, то произойдет ошибка. При компиляции, каждое пространство имен указывается отдельно, например – r:/System.Data r:/System.OleDb и т.д.

 

Использование

 

Использовать нашу dll на страницах ASP .NET довольно просто, для этого, при помощи оператора @ Import, импортируем созданное нами пространство имен myName на страницу. Затем, в процедуре загрузки страницы (Page_Load) создадим объект myCalculator:

 

01:

02:

03:

04:

05:

06:

07:

08:

09:

<%@ Page Language = "VB" %>

<%@ Import NameSpace = "myName" %>

 

<script runat="server">

  Private Sub Page_Load(ByVal obj As Object, ByVal e As EventArgs)

    Dim nCalc As New myCalculator

    Response.Write(nCalc.myPlus(1, 2))

  End Sub

</script>

 

Как видите, во 2-ой строке импортируется созданное нами пространство имен, затем в 6-ой строке создается объект myCalculator, а в 7-ой строке идет обращение к функции myPlus, которая возвращает сумму чисел 1 и 2.

 

Заключение

 

Ну вот, все довольно просто. Теперь вы можете создавать свои собственные библиотеки и использовать их в своих проектах, при этом регистрировать их не надо, достаточно просто расположить библиотеку в каталоге «bin» корневого каталога вашего приложения, и все!

 

 

Copyright © Немиро Алексей

18 августа 2005 года

face=

+ Добавить в избранное
    ? Помощь
Об авторе

Алексей Немиро

Интернет-деятель. Автор многочисленных статей и переводов статей по программированию и информационным технологиям. Работы Алексея можно найти в популярных печатных изданиях компьютерной тематики. Автор проекта Kbyte.Ru.
Сейчас Алексей занимается профессиональным Web-программированием на базе технологий .NET Framework. Иногда пишет различные программки и компоненты для Windows и Android. В свободное время занимается Web-дизайном, увлекается фото- и видеосъемкой.

См. также:
Профиль автора
Алексей Немиро
Последние комментарии (всего: 0)

Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации OpenID.
Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь.


Нет комментариев...

Авторизация
 
OpenID
Зарегистрируйся и получи 10% скидку на добавление своего сайта в каталоги! Подробнее »
Поиск по сайту
Реклама
Счетчики