IronBarCode Advanced Installation
IronBarCode is a powerful library, and we aim to support as many environments as possible. To achieve this, we package files separately for different platforms. A single, all-in-one package would lead to unnecessary downloads for most users. Instead, IronBarCode provides advanced tools to install the library specifically for your target environment.
Instead of installing the IronBarCode
NuGet Package, we can search for specific packages on NuGet. The functionality and API of all packages remain the same; however, the way they develop might be slightly different.
This article aims to provide a clear comparison and acts as a recommended guide to suggest the most optimal IronBarCode
that fits your needs!
BarCode NuGet Package






Most commonly used. Configured to get you up and running in Visual Studio as quickly as possible. Suitable for most projects.
- Contains BarCode.Slim
- Contains BarCode.Detection
- Contains IronSoftware.ReaderInternals.Windows, a Windows-specific dependency
BarCode.Slim NuGet Package

Does not include the Machine Learning feature for detecting barcodes.
PM > Install-Package BarCode.Slim
- All other packages reference this package.
- Contains the actual IronBarCode.dll.
- Does NOT include Windows, Linux, or macOS-specific dependencies.
- Does NOT include
Barcode.Detection
.
Barcode.Detection
for better results.BarCode.Detection NuGet Package

An advanced package that utilizes Machine Learning for more accurate barcode detection, allowing developers to freely customize the parameters to suit their needs.
PM > Install-Package BarCode.Detection
- Supports all platforms.
- Included in the base BarCode package.
BarCode.Linux








Designed with cloud and Linux-based OS in mind, works particularly well for AWS & Lambda, Azure Functions, and WebApps in Linux mode. To set it up for Linux, check out this guide.
PM > Install-Package BarCode.Linux
- Contains
BarCode.Slim
- Contains
BarCode.Detection
- Contains
IronSoftware.ReaderInternals.Linux
, a Linux-specific dependency
BarCode.MacOs & BarCode.MacOs.ARM NuGet Packages


These two packages are specifically tailored for macOS & macOS.ARM users to allow developers to utilize and integrate IronBarCode in their macOS-based applications. For more information, please refer to this setup guide for macOS.
Install-Package BarCode.MacOs
PM > Install-Package BarCode.MacOs.ARM
- Contains
BarCode.Slim
- Contains
BarCode.Detection
- Contains
IronSoftware.ReaderInternals.iOS
orIronSoftware.ReaderInternals.MacOs.ARM
, a macOS-specific dependency
BarCode.iOS NuGet Package

IronBarCode offers an iOS package that is designed specifically for mobile-based iOS applications. Easily integrate IronBarCode as a standalone barcode reader or integrate with existing applications. For more information on how to set up IronBarCode on iOS, please refer to this setup guide.
PM > Install-Package BarCode.iOS
- Contains
BarCode.Slim
- Contains
IronSoftware.ReaderInternals.iOS
, an iOS-specific dependency
BarCode.Android NuGet Package

Similarly, IronBarCode also offers an Android experience, allowing developers to develop on both platforms with no barriers. For more information on how to set up IronBarCode on Android, please refer to this setup guide.
PM > Install-Package BarCode.Android
- Contains
BarCode.Slim
- Contains
IronSoftware.ReaderInternals.Android
, an Android-specific dependency
Frequently Asked Questions
How can I install platform-specific versions of a barcode library using NuGet?
You can install platform-specific versions of the IronBarCode library using NuGet by selecting the appropriate package for your development environment. This ensures optimized performance and reduces unnecessary downloads.
What is the core functionality of the BarCode.Slim package?
The BarCode.Slim package provides the essential IronBarCode.dll with a minimal footprint, excluding Windows, Linux, or macOS-specific dependencies. It is ideal for environments with minimal noise but lacks machine learning features for barcode detection.
How does the BarCode.Detection package improve barcode detection?
The BarCode.Detection package enhances barcode detection through machine learning algorithms, providing more accurate results across all platforms. It is included in the base BarCode package and allows customization of detection parameters.
What makes the BarCode.Linux package suitable for Linux environments?
The BarCode.Linux package is optimized for cloud and Linux-based operating systems, such as AWS and Azure Functions. It includes Linux-specific dependencies to ensure optimal performance in these environments.
How do the macOS packages differ for developers?
The BarCode.MacOs package is designed for macOS applications, while BarCode.MacOs.ARM is specifically for macOS ARM architectures. Both packages include macOS-specific dependencies to ensure seamless integration.
Is there support for barcode functionalities in mobile applications?
Yes, IronBarCode offers specific packages for mobile platforms, such as BarCode.iOS for iOS and BarCode.Android for Android applications, each incorporating platform-specific dependencies.
Do I need to install multiple packages for full barcode functionality?
No, you only need to install the package that corresponds to your target environment. Each package is specialized for specific platforms but provides the same core barcode functionalities.
Where can I find setup guides for installing barcode libraries on different platforms?
Setup guides for installing IronBarCode on various platforms, including Linux, macOS, iOS, and Android, are available on the Iron Software website. These guides offer step-by-step instructions for installation and configuration.
What are the benefits of using platform-specific barcode packages?
Using platform-specific packages prevents unnecessary downloads and optimizes performance. Each package is tailored with dependencies suited for the specific operating system, enhancing integration and functionality.
How does IronBarCode optimize performance on various platforms?
IronBarCode optimizes performance by providing separate packages for different platforms, each with tailored dependencies. This approach helps in reducing overhead and improving efficiency in diverse development environments.