VB.NET Class Library Project | Create & Use DLL in Visual Studio (Beginner Friendly)

 


What is a Class Library in VB.NET?

A Class Library in VB.NET is a collection of reusable classes, functions, and methods that are compiled into a DLL (Dynamic Link Library). This library can then be referenced and used in other projects, such as Windows Forms, WPF, Console Applications, or even Web APIs.

Class libraries are especially useful when you want to separate logic, improve modularity, and reuse code across multiple applications.


Advantages of Using a Class Library 

1. Code Reusability

Write once, use anywhere. A class library allows you to centralize common logic like math functions, validations, or API integrations.

2. Modularity 

Break down your application into logical units. This makes your code easier to maintain and scale.

3. Separation of Concerns

Keeps your business logic separate from UI or presentation code. This leads to cleaner, layered architecture.

4. Easier Testing 

Libraries can be independently tested using Unit Test Projects without needing the whole app.

5. Smaller & Focused Codebase 

Reduces duplication and keeps each project or library focused on a specific task or domain.

6. Shared Across Projects :

A single DLL can be referenced by multiple solutions, improving consistency across apps.


Disadvantages / Limitations

1. Difficult to learn for beginner 

Beginners may find managing multiple projects and references confusing at first.

2. Dependency Management 

If the library depends on other packages or resources, updating or deploying it requires extra attention.

3. Tightly Coupled Risk 

Poorly designed libraries can become tightly coupled with specific applications, reducing flexibility

4. Versioning Issues 

When libraries are shared across projects, version mismatches can lead to runtime errors or conflicts.


Use Cases of Class Libraries

1. Utility Libraries 

A Utility Library is a collection of general-purpose helper functions or classes that can be used across different parts of your application — or even in multiple applications. Instead of writing the same function again and again (like formatting a date or capitalizing text), you write it once in a class library and reuse it.

2. Business Logic

Business Logic is the core functionality of your application — the rules, calculations, and processes specific to your domain. Separating business logic into a class library keeps your app organized and easier to maintain or test. It also makes your logic reusable in different front-end apps (e.g., Windows Forms, WPF, or even Web APIs).

3. Data Models

A Data Model defines the structure of your application's data — usually using classes that represent real-world entities like customers, products, or orders. You can define your data models in a class library and share them across different projects like your UI, API, or database layer — so everyone uses the same structure.

4. Custom Controls or Extensions

You can build custom controls (like a styled button or input box) or extensions (like custom message boxes) inside a class library, then use them in any VB.NET project. Instead of copying your custom controls into each new project, create them once in a library and reference that library in all your projects.

5. Encryption/Decryption Helpers

A class library that contains encryption and decryption logic to secure data — like passwords, tokens, or sensitive files. Security code should be reusable, consistent, and isolated from your UI logic. It’s also easier to maintain and test when separated into a library.


How to create and use demo

1. Open Visual Studio and create Class Library Project and name it Helper



2. Add class file with name MathHelper

3. Write following code 

    Function that add two integer number 

    Public Shared Function Addition(ByVal a As Integer, ByVal b As Integer) As Integer

        Return a + b

    End Function

   Function that subtract two integer number

    Public Shared Function Subtraction(ByVal a As Integer, ByVal b As Integer) As Integer

        Return a - b

    End Function

4. Add another class file name MessageBoxHelper and add following code

Imports System.Windows.Forms

Public Class MessageBoxHelper

    Public Shared Sub InformationMessage(message As String)

        MessageBox.Show("ℹ️ " & message, "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)

    End Sub

End Class

note : By default you can not use MessageBox, for that you have to import System.Windows.Forms namespace

Also I am using .net 10 so I have to make changes in csproj file as below to add System.Windows.Forms

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>

              <RootNamespace>Helper</RootNamespace>

             <TargetFramework>net10.0-windows</TargetFramework>

            <UseWindowsForms>true</UseWindowsForms>

  </PropertyGroup>

</Project>

5. Build class library project, you will find the "Helper.dll" in the bin/debug folder.

6. Add another project project where you want to use this created "Helper.dll". 

   I will add windows form application to use this "Helper.dll". For that added two text box for enter value for number 1 and number 2. Added  two button for Add and Subtract

7. Add dll reference to your project, by right click on project from solution explorer and browse where your dll is exists, select dll and add reference to your project. After selecting dll it will show under Dependency->Assembly->Helper


8. Write down code for Add button click.

Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click

    Dim num1 As Integer = txtValue1.Text             'input from user for number 1

    Dim num2 As Integer = txtValue2.Text             'input from user for number 2

    Dim result As Integer                                         'declare result variable to store result   

    result = MathHelper.Addition(num1, num2)     'Use MathHelper class Addition Method

    MessageBoxHelper.InformationMessage(result.ToString())     'Use MessageBoxHelper class InformationMessage 

End Sub

 9. Write down code for Sub button click

Private Sub btnSub_Click(sender As Object, e As EventArgs) Handles btnSub.Click

    Dim num1 As Integer = txtValue1.Text 'input from user for number 1

    Dim num2 As Integer = txtValue2.Text 'input from user for number 2

    Dim result As Integer                'Declare result variable to store result   

    result = MathHelper.Subtraction(num1, num2) 'Use MathHelper class Ad Subtraction Method

    MessageBoxHelper.InformationMessage(result.ToString()) 'Use MessageBoxHelper class InformationMessage 

End Sub

10 Build and Run windows form application project and check.


Tools Used

- Visual Studio 2026 (Insider)

- .NET 10.0

Don't forget to like 👍, share 🔁, and subscribe 🔔 for more dev tutorials!


Video Link : View








Comments

Popular posts from this blog

Understanding Middleware in .NET Core

Database Approaches in .NET Core: Code-First vs Database-First Explained for Beginners

Dev tunnels