VB.NET] 자주 사용하는 코드를 별도의 파일로 만들어 공유
□ DLL(Dynamic Link Library) 소개
VB.NET 코드를 별도의 파일로 만들어 다른 사람과 공유하고 재사용하려면 일반적으로 DLL(Dynamic Link Library) 파일 형태로 만들어 배포합니다. DLL 파일은 특정 기능을 수행하는 코드를 모아놓은 파일로, 다른 프로그램에서 참조하여 사용할 수 있습니다. 프로그램 개발에서 자주는 함수들을 중복 개발하는 것을 피하기 위해 표준화된 함수 및 데이터 타입을 사용자가 만들어서 모아 놓은 것 입니다.
▷DLL 파일 생성 및 배포 단계
- 클래스 라이브러리 프로젝트 생성:
- Visual Studio에서 새로운 프로젝트를 생성할 때, 클래스 라이브러리 프로젝트를 선택합니다.
- 이 프로젝트에 공유하고 싶은 코드(모듈, 클래스 등)를 작성합니다.
- 빌드:
- 프로젝트를 빌드하면 DLL 파일이 생성됩니다. 일반적으로 bin 폴더 하위 디렉토리에 위치합니다.
- DLL 파일 배포:
- 생성된 DLL 파일을 다른 사람에게 제공하거나, 공유 폴더에 업로드합니다.
▷ 다른 프로젝트에서 DLL 사용하기
- 참조 추가:
- DLL 파일을 사용하려는 프로젝트에서 솔루션 탐색기의 참조를 마우스 오른쪽 버튼으로 클릭하고 참조 추가를 선택합니다.
- 생성된 DLL 파일을 선택하여 추가합니다.
- 코드 사용:
- DLL에 정의된 클래스나 모듈을 사용하여 코드를 작성합니다.
▷ 예시 :Function 사용
DLL 프로젝트 (MyLibrary01.dll):
Namespace MyMathLibrary01
Public Class MathHelper
Public Shared Function Add(x As Integer, y As Integer) As Integer
Return x + y
End Function
End Class
다른 프로젝트에서 사용:
Dim result As Integer = MathHelper.Add(5, 3)
▷ 예시 : Sub 사용
DLL 프로젝트 (MyLibrary02.dll):
Imports System.Windows.Forms
Imports MyMathLibrary01
Public Class MessageModule
Public Shared Sub ShowMessage()
MessageBox.Show("HI")
End Sub
End Class
다른 프로젝트에서 사용:
Imports MyNamespace ' DLL의 네임스페이스를 참조
Module Module1
Sub Main()
MessageModule.ShowMessage()
End Sub
End Module
여러 개의 DLL 파일 중 원하는 DLL 호출하기
여러 개의 DLL 파일이 존재할 때, 특정 DLL 파일의 함수를 호출하려면 다음과 같은 단계를 거쳐야 합니다.
1. 프로젝트에 DLL 파일 추가하기
Visual Studio: 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고, "참조 추가"를 선택합니다.
찾아보기: 열린 창에서 원하는 DLL 파일을 찾아 선택하고, "추가" 버튼을 클릭합니다.
2. 네임스페이스 지정하기
Imports 문: DLL 파일 내부에 정의된 클래스나 함수가 속한 네임스페이스를 Imports 문을 사용하여 지정합니다.
예시: 만약 DLL 파일 내에 MyNamespace라는 네임스페이스가 있다면 다음과 같이 코드를 작성합니다.
Imports MyNamespace
3. 함수 호출하기
지정된 네임스페이스: 앞서 지정한 네임스페이스를 이용하여 DLL 파일 내의 함수를 호출합니다.
예시:
Dim result As Integer = MyNamespace.MyClass.Add(5, 3)
4. 주의 사항
1) DLL 파일 위치: DLL 파일은 프로젝트가 실행될 때 찾을 수 있는 위치에 있어야 합니다.
일반적으로 프로젝트의 bin 폴더나 Debug 폴더에 함께 배포합니다.
2) 네임스페이스 충돌: 여러 DLL 파일에서 동일한 이름의 네임스페이스를 사용하는 경우,
충돌이 발생할 수 있습니다. 이 경우, 별칭을 사용하거나 네임스페이스 이름을 명확하게 지정하여
충돌을 해결해야 합니다.
3) DLL 파일 종속성: DLL 파일이 다른 DLL 파일을 참조하는 경우, 해당 참조 파일들도 함께 배포해야 합니다.
' MyLibrary1.dll (내용)
Namespace MyLibrary1Namespace
Public Class MyClass1
Public Function Add(x As Integer, y As Integer) As Integer
Return x + y
End Function
End Class
End Namespace
' MyLibrary2.dll (내용)
Namespace MyLibrary2Namespace
Public Class MyClass2
Public Function Subtract(x As Integer, y As Integer) As Integer
Return x - y
End Function
End Class
End Namespace
' Main 프로젝트
Imports MyLibrary1Namespace
Imports MyLibrary2Namespace
Module Module1
Sub Main()
Dim result1 As Integer = MyClass1.Add(5, 3)
Dim result2 As Integer = MyClass2.Subtract(10, 4)
Console.WriteLine(result1)
Console.WriteLine(result2)
End Sub
End Module
" DLL 파일은 프로젝트가 실행될 때 찾을 수 있는 위치에 있어야 합니다.
일반적으로 프로젝트의 bin 폴더나 Debug 폴더에 함께 배포합니다. "