IronBarcode Advanced Installation & .NET Compatibility
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!
.NET Version Compatibility
IronBarcode targets .NET Standard 2.0 and supports .NET 10, 9, 8, 7, 6, 5, .NET Core 3.x and 2.x, and .NET Framework 4.6.2+. All platform-specific packages listed below share the same framework compatibility, so the .NET version you target does not affect which package you choose - that decision is based on your operating system and deployment environment.
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.iOSorIronSoftware.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
What is the advantage of using platform-specific NuGet packages for IronBarcode?
Platform-specific NuGet packages for IronBarcode ensure that you only download the components necessary for your target environment, optimizing download size and compatibility without unnecessary dependencies.
Does IronBarcode support the latest .NET versions?
Yes, IronBarcode supports .NET Standard 2.0, as well as .NET 10, 9, 8, 7, 6, and 5, and .NET Core 3.x and 2.x, along with .NET Framework 4.6.2+, ensuring a wide range of compatibility.
What are the key components of the base BarCode NuGet package?
The base BarCode NuGet package includes BarCode.Slim, BarCode.Detection, and IronSoftware.ReaderInternals.Windows, making it suitable for most projects and quick deployment in Visual Studio.
What is the BarCode.Slim package, and when should it be used?
BarCode.Slim is a lightweight package that does not include platform-specific dependencies or the Barcode.Detection component. It's ideal for minimalistic setups where these features are not required.
How does the BarCode.Detection package improve barcode reading?
The BarCode.Detection package utilizes machine learning for more accurate barcode detection, allowing developers to customize parameters for specific requirements.
What is the purpose of the BarCode.Linux package?
The BarCode.Linux package is tailored for Linux-based environments and cloud platforms such as AWS and Azure, including Linux-specific dependencies for optimized performance.
Are there any specific packages for macOS and iOS applications?
Yes, IronBarcode offers specific packages for macOS (BarCode.MacOs & BarCode.MacOs.ARM) and iOS (BarCode.iOS), each optimized with the necessary dependencies for their platforms.
What package should be used for Android applications?
For Android applications, the BarCode.Android package should be utilized. It includes Android-specific dependencies to ensure robust barcode integration in Android environments.
Can IronBarcode be integrated with existing applications on mobile platforms?
Yes, IronBarcode can be seamlessly integrated with existing iOS and Android applications through their respective packages, enabling a versatile mobile barcode reading functionality.
Why might you choose BarCode.MacOs.ARM specifically?
The BarCode.MacOs.ARM package is specifically designed for macOS ARM architectures, providing optimized integration for systems running on ARM processors.

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.