IRONSOFTWAREHOME
VIDEOS

Migrieren von NetBarcodezu IronBarcode

Curtis Chau
Curtis Chau
Updated: 1. August 2026

Dieser Leitfaden beschreibt den kompletten Migrationspfad von NetBarcodezu IronBarcode , einschließlich der Schritte zur Paketentfernung, Namespace-Aktualisierungen, API-Übersetzungsbeispielen und einer Checkliste zum Auffinden aller Aufrufstellen vor Beginn der Migration. Der Leitfaden behandelt das häufige Szenario, in dem ein Projekt mit NetBarcodefür die 1D-Barcodenerzeugung beginnt und später 2D-Formate, Lesefähigkeiten oder Klarstellungen zu den Lizenzpflichten von SixLabors.ImageSharp benötigt — all das liegt außerhalb des Umfangs von NetBarcode.

Warum von NetBarcodemigrieren?

Formatobergrenze: NetBarcode's Type Enum definiert genau 11 Barcode-Formate, alle linear. Es gibt keinen Eintrag für QR Code, DataMatrix, PDF417 oder Aztec. Wenn ein Projekt eine QR-Code-Anforderung hinzufügt – sei es für kontaktlose Lieferlinks, mobile Deep Links oder eine DataMatrix-Vorgabe für die Pharmaindustrie – kann NetBarcodediese nicht erfüllen. Der einzige Ausweg innerhalb der Architektur der Bibliothek besteht darin, die Verwendung für dieses Format einzustellen und ein separates Paket einzuführen. Jedes zusätzliche Formatkriterium, das außerhalb des 11-Eintrag-Enums liegt, fügt einen weiteren Bibliothekseintrag zum Abhängigkeitsbaum hinzu.

Keine Lese-API: NetBarcodegeneriert Barcode-Bilder, bietet aber keine Methode zum Dekodieren dieser Bilder. Für Projekte, die Rücksendeetiketten scannen, Barcodewerte aus Lieferantenrechnungen extrahieren oder überprüfen müssen, ob ein gedruckter Barcode mit seinen Quelldaten übereinstimmt, ist eine separate Lesebibliothek erforderlich. ZXing .NET ist die gängigste Wahl und führt eine dritte API-Oberfläche in eine Codebasis ein, die bereits NetBarcodeund typischerweise eine QR-spezifische Bibliothek enthält.

ImageSharp Kommerzielle Lizenz: NetBarcodehängt von SixLabors.ImageSharp ab, das eine geteilte kommerzielle Lizenz verwendet. Das kostenlose Angebot gilt für Open-Source-Projekte und Unternehmen unterhalb einer bestimmten jährlichen Umsatzschwelle; über diesem Schwellenwert ist eine kommerzielle Lizenz erforderlich. Diese Bedingung ist in die transitive Abhängigkeitskette eingebettet und wird von NuGet während der Installation nicht angezeigt. Ein Einzelhandels- oder Logistikunternehmen, das Barcodes in großem Umfang verarbeitet – genau der Anwendungsfall, den NetBarcodeanvisiert –, kann möglicherweise über der Schwelle operieren, ohne die Verpflichtung geprüft zu haben.

Multi-Library Accumulation: Projekte, die auf QRCoder zurückgreifen, wenn QR-Codes benötigt werden, und dann auf ZXing .NET , wenn das Lesen erforderlich wird, häufen drei separate barcodebezogene Abhängigkeiten an. Jedes dieser Systeme hat seinen eigenen Veröffentlichungsplan, seine eigenen ImageSharp-Versionsanforderungen und seine eigene zu pflegende API. Die Konsolidierung in eine einzige Bibliothek, die Generierung, Lesen, 1D und 2D abdeckt, beseitigt das Problem der bibliotheksübergreifenden Versionsverwaltung.

Das grundsätzliche Problem

Ein Projekt, das zunächst nur mit NetBarcodearbeitet und dann auf 2D-Formate erweitert wird, führt letztendlich zu einem solchen aufgeteilten Import:

// NetBarcodefor 1D — one library, one API
using NetBarcode;
var code128 = new Barcode("12345", Type.Code128);
code128.SaveImageFile("label.png");

// QRCoder added separately for QR — second library, second API
using QRCoder;
var qrGenerator = new QRCodeGenerator();
var qrData = qrGenerator.CreateQrCode("https://example.com", QRCodeGenerator.ECCLevel.M);
var png = new PngByteQRCode(qrData).GetGraphic(20);
File.WriteAllBytes("qr.png", png);
C#

Nach der Migration zu IronBarcode stammen die gleichen beiden Ausgaben von einem einzigen Import:

using IronBarCode;

BarcodeWriter.CreateBarcode("12345", BarcodeEncoding.Code128)
    .SaveAsPng("label.png");

BarcodeWriter.CreateBarcode("https://example.com", BarcodeEncoding.QRCode)
    .SaveAsPng("qr.png");

IronBarcode vs. NetBarcode: Funktionsvergleich

FeatureNetBarcodeIronBarcode
1D-Barcode-GenerierungJaJa
2D-Barcode-Generierung (QR, DataMatrix, PDF417, Aztec)NeinJa
Barcode-Lesen aus BildernNeinJa
Barcode-Lesen aus PDF-DokumentenNeinJa
1D-Format-Anzahl1130+
2D-Format-Anzahl0Ab 8 Jahren
Gesamtsymboliken1150+
GS1-128, GS1 DataBarNeinJa
PostformateNeinJa
SVG-AusgabeNeinJa
StapelverarbeitungHandbuchEingebaut
ImageSharp-AbhängigkeitJa (geteilte Lizenz)Nein
Kommerzielle UnterstützungGemeinschaftProfessionell
LizenzmodellMIT (+ ImageSharp-Bedingungen)Kommerziell

Schnellstart: Migration von NetBarcodezu IronBarcode

Schritt 1: Ersetzen des NuGet-Pakets

NetBarcode und seine transitive ImageSharp-Abhängigkeit entfernen:

dotnet remove package NetBarcode
dotnet remove package SixLabors.ImageSharp
SHELL

Bitte beachten Sie, dass SixLabors.ImageSharp in der wiederhergestellten Paketliste erneut erscheinen kann, wenn andere Pakete im Projekt es auch transitiv referenzieren. Nach der Entfernung führen Sie dotnet list package --include-transitive aus, um zu bestätigen, ob ImageSharp verbleibt und ob die kommerzielle Lizenzbedingung weiterhin für das Projekt gilt.

Schritt 2: IronBarcode hinzufügen

dotnet add package IronBarcode
SHELL

Der Name des NuGet-Pakets ist IronBarcode; der im Code verwendete Namespace ist IronBarCode (beachten Sie das große C).

Schritt 3: Namensräume aktualisieren und Lizenz initialisieren

Ersetzen Sie die alten using-Anweisungen in jeder Datei, die NetBarcode-Aufrufe enthielt:

// Entfernen these:
// using NetBarcode;
// using SixLabors.ImageSharp;
// using SixLabors.ImageSharp.PixelFormats;
// using SixLabors.Fonts;

// Add this:
using IronBarCode;
C#

Fügen Sie die Lizenzinitialisierung einmal beim Anwendungsstart hinzu — in Program.cs, Startup.cs oder dem Einstiegspunkt des Projekts:

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

Zur Evaluierung steht ein kostenloser Testschlüssel zur Verfügung; Durch den Kauf einer Lizenz wird das Testwasserzeichen aus den generierten Barcode-Bildern entfernt.

Beispiele für die Code-Migration

Code-128-Generierung

Das am häufigsten verwendete NetBarcode-Anwendungsmuster lässt sich durch eine Änderung des Konstruktors in eine statische Methode und eine Umbenennung der Methode direkt auf IronBarcode übertragen.

NetBarcode-Ansatz:

using NetBarcode;

var barcode = new Barcode("12345678901234", Type.Code128);
barcode.SaveImageFile("shipping-label.png");

IronBarcode -Ansatz:

using IronBarCode;

BarcodeWriter.CreateBarcode("12345678901234", BarcodeEncoding.Code128)
    .SaveAsPng("shipping-label.png");

Der new Barcode(data, Type.X) Konstruktor wird zu BarcodeWriter.CreateBarcode(data, BarcodeEncoding.X). Die SaveImageFile() Methode wird zu SaveAsPng(), SaveAsJpeg() oder SaveAsWindowsBitmap(), abhängig vom erforderlichen Ausgabeformat. Alle verfügbaren Optionen zur Generierung von 1D-Barcodes sind in den Anleitungen von IronBarcode dokumentiert.

EAN-13

Die Barcode-Typen für Einzelhandelsprodukte lassen sich durch eine Konstantenumbenennung und eine Methodenumbenennung direkt zwischen Bibliotheken abbilden.

NetBarcode-Ansatz:

using NetBarcode;

var ean13 = new Barcode("5901234123457", Type.EAN13);
ean13.SaveImageFile("product-ean.png");

IronBarcode -Ansatz:

using IronBarCode;

BarcodeWriter.CreateBarcode("5901234123457", BarcodeEncoding.EAN13)
    .SaveAsPng("product-ean.png");

Die Konstante der Kodierung stimmt mit den NetBarcodeType Enum-Mitgliedsnamen überein, wo direkte Entsprechungen existieren. Beachten Sie, dass UPC-A (Type.UPCA), UPC-E (Type.UPCE), ITF (Type.ITF) und MSI (Type.MSI) nicht Teil des NetBarcodeType Enums sind — falls diese Formate erforderlich sind, unterstützt IronBarcode sie nativ über BarcodeEncoding.UPCA, BarcodeEncoding.UPCE, BarcodeEncoding.ITF und BarcodeEncoding.MSI.

GetImage() zu ToPngBinaryData()

NetBarcode's GetImage() Methode gibt SixLabors.ImageSharp.Image<Rgba32> zurück, was explizite ImageSharp-Importe im aufrufenden Code erfordert und die nachgelagerte Logik mit der ImageSharp API verknüpft. IronBarcode stellt binäre und Stromausgabemethoden direkt auf dem GeneratedBarcode Objekt bereit, wodurch die ImageSharp-Abhängigkeit im aufrufenden Code vollständig entfällt.

NetBarcode-Ansatz:

using NetBarcode;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;

var barcode = new Barcode("12345", Type.Code128);
Image<Rgba32> image = barcode.GetImage();

using var stream = new MemoryStream();
image.SaveAsPng(stream);
byte[] bytes = stream.ToArray();

IronBarcode -Ansatz:

using IronBarCode;

var barcode = BarcodeWriter.CreateBarcode("12345", BarcodeEncoding.Code128);

// Retrieve bytes directly — no ImageSharp type in calling code
byte[] bytes = barcode.ToPngBinaryData();

// Or write to a stream directly
using var stream = new MemoryStream();
barcode.SaveAsPng(stream);

Code, der weitere ImageSharp-Manipulationen am Image<Rgba32> Ergebnis durchgeführt hat — Größenänderung, Komposition, Formatkonvertierung — müssen diese Operationen individuell bewertet werden, da IronBarcode kein ImageSharp-Objekt bereitstellt.

Ersetzen von NetBarcodeund QRCoder

Projekte, die NetBarcodeparallel zu QRCoder verwenden, können beide gleichzeitig ersetzen. IronBarcode's 2D-Generierung verwendet die gleiche BarcodeWriter.CreateBarcode Methode wie seine 1D-Generierung; nur die BarcodeEncoding Konstante unterscheidet sich. Informationen zu Kodierungsoptionen und Konfiguration finden Sie im Leitfaden zur 2D-Barcode-Generierung .

NetBarcode- und QRCoder-Ansatz:

using NetBarcode;
using QRCoder;

// 1D with NetBarcode
var code128 = new Barcode("12345", Type.Code128);
code128.SaveImageFile("label.png");

// QR with QRCoder
var qrGenerator = new QRCodeGenerator();
var qrData = qrGenerator.CreateQrCode("https://example.com", QRCodeGenerator.ECCLevel.M);
var qrCode = new PngByteQRCode(qrData);
File.WriteAllBytes("qr.png", qrCode.GetGraphic(20));

IronBarcode -Ansatz:

using IronBarCode;

// 1D — same API as 2D
BarcodeWriter.CreateBarcode("12345", BarcodeEncoding.Code128)
    .SaveAsPng("label.png");

// QR — change the encoding constant, nothing else
BarcodeWriter.CreateBarcode("https://example.com", BarcodeEncoding.QRCode)
    .SaveAsPng("qr.png");

// Additional 2D formats available with no further imports
BarcodeWriter.CreateBarcode("01034531200000111719112510ABCD1234", BarcodeEncoding.DataMatrix)
    .SaveAsPng("pharma-label.png");

Hinzufügen der Lesefähigkeit

Falls das Projekt auch ZXing .NET zum Einlesen verwendet, kann diese Abhängigkeit zusammen mit NetBarcodeentfernt werden. IronBarcode's BarcodeReader verarbeitet Bilder und PDF-Dokumente mit automatischer Format-Erkennung.

ZXing .NET -Ansatz:

using ZXing;
using ZXing.Common;
using ZXing.Rendering;

var reader = new BarcodeReaderGeneric();
reader.Options = new DecodingOptions { TryHarder = true };

// Bitmap loading and format-specific handling required before decode call

IronBarcode -Ansatz:

using IronBarCode;

// Read from an image file — automatic format detection
var imageResults = BarcodeReader.Read("shipping-label.png");
foreach (var r in imageResults)
{
    Console.WriteLine($"{r.Format}: {r.Value}");
}

// Read from a PDF document — no separate PDF library needed
var pdfResults = BarcodeReader.Read("supplier-invoice.pdf");
foreach (var r in pdfResults)
{
    Console.WriteLine($"Page {r.PageNumber}: {r.Format}: {r.Value}");
}

Eine vollständige Dokumentation der Leseoptionen finden Sie im Leitfaden "Barcodes aus Bildern lesen" . Darin werden die Einstellungen für Geschwindigkeitsanpassung, Mehrfach-Barcode-Erkennung und Bildkorrektur behandelt.

NetBarcodeAPI zu IronBarcode Mapping-Referenz

NetBarcodeIronBarcodeNotizen
new Barcode(data, Type.Code128)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128)Konstruktor → statische Methode
new Barcode(data, Type.EAN13)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.EAN13)Direktes Mapping
new Barcode(data, Type.Code39)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code39)Direktes Mapping
new Barcode(data, Type.EAN8)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.EAN8)Direktes Mapping
new Barcode(data, Type.Codabar)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Codabar)Direktes Mapping
new Barcode(data, Type.Code93)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code93)Direktes Mapping
barcode.SaveImageFile("x.png").SaveAsPng("x.png")Methodenumbenennung
barcode.SaveImageFile("x.jpg").SaveAsJpeg("x.jpg")Methodenumbenennung
barcode.GetImage()Image<Rgba32>.ToPngBinaryData() oder .SaveAsPng()Kein ImageSharp-Typ verfügbar
Kein Type.QRCodeBarcodeEncoding.QRCodeNeue Fähigkeit
Kein Type.DataMatrixBarcodeEncoding.DataMatrixNeue Fähigkeit
Kein Type.PDF417BarcodeEncoding.PDF417Neue Fähigkeit
Kein Type.AztecBarcodeEncoding.AztecNeue Fähigkeit
Keine Lese-APIBarcodeReader.Read(path)Neue Fähigkeit
using NetBarcode;using IronBarCode;Namespace-Ersetzung
using SixLabors.ImageSharp;EntfernenNicht mehr benötigt
using SixLabors.ImageSharp.PixelFormats;EntfernenNicht mehr benötigt
using SixLabors.Fonts;EntfernenNicht mehr benötigt

Die vollständige Liste der Kodierungskonstanten finden Sie in der Referenz der unterstützten Barcode-Formate .

Gängige Migrationsprobleme und Lösungen

Problem 1: Transitive Abhängigkeit von ImageSharp bleibt nach Paketentfernung bestehen

Problem: Nach dem Ausführen von dotnet remove package NetBarcode zeigt dotnet restore, dass SixLabors.ImageSharp immer noch im Abhängigkeitsbaum vorhanden ist, da ein anderes Paket im Projekt es ebenfalls referenziert.

Lösung: Führen Sie dotnet list package --include-transitive aus, um zu identifizieren, welches Paket immer noch ImageSharp einzieht. Wenn es nur NetBarcodeist, sollte die Entfernung des expliziten Paketverweises und die Wiederherstellung es klären. Wenn ein anderes Paket verantwortlich ist, bleibt die ImageSharp-Abhängigkeit dieses Pakets und die Bedingung der kommerziellen Lizenz unabhängig von der Entfernung von NetBarcodeim Geltungsbereich.

dotnet list package --include-transitive | grep -i imagesharp
SHELL

Ausgabe 2: Bild<Rgba32> Der Typ kann nach der Entfernung nicht aufgelöst werden.

Problem: Nach dem Entfernen des SixLabors.ImageSharp-Pakets führt jede als Image<Rgba32> deklarierte Variable oder als SixLabors.ImageSharp.Image<Rgba32> typisierte Parameter zu einem Kompilierungsfehler, weil der Typ nicht mehr verfügbar ist.

Lösung: Ersetzen Sie jede Verwendung durch die entsprechende IronBarcode Ausgabemethode. Wenn die Variable verwendet wurde, um Bytes zu erhalten, ersetzen Sie sie durch .ToPngBinaryData(). Wenn sie in einen Strom geschrieben wurde, ersetzen Sie sie durch .SaveAsPng(stream). Wenn sie in eine Datei gespeichert wurde, ersetzen Sie sie durch .SaveAsPng(path).

// Before — requires SixLabors.ImageSharp reference
Image<Rgba32> img = barcode.GetImage();
img.SaveAsPng(stream);

// After — no external image type required
barcode.SaveAsPng(stream);

Ausgabe 3: Kontext der Breaking Changes in Version 1.8

Problem: Codebasen, die gegen NetBarcodevor Version 1.8 geschrieben wurden, können GetImage() Aufrufe haben, die das Ergebnis ohne explizite Typisierung speicherten und sich auf den vor Version 1.8 internen Rückgabewert verließen. Diese Aufrufe können nach einem NetBarcode-Update bereits fehlerhaft sein, unabhängig von der IronBarcode -Migration.

Lösung: Verwenden Sie die IronBarcode-Migration als Gelegenheit, jeden bereits vorhandenen Fehler vor Version 1.8 gleichzeitig zu beheben. Alle GetImage() Aufrufstellen sollten mit einer projektweiten Suche gefunden und während des Migrationsdurchgangs durch die geeignete IronBarcode-Ausgabemethode ersetzt werden. Die grep-Befehle in der unten stehenden Migrationscheckliste identifizieren diese Speicherorte.

NetBarcode-Migrations-Checkliste

Vor der Migration

Prüfen Sie vor jeglichen Änderungen die gesamte NetBarcode-Nutzung:

grep -r "using NetBarcode" ./src
grep -r "new Barcode(" ./src
grep -r "Type\.Code128\|Type\.EAN13\|Type\.Code39\|Type\.EAN8" ./src
grep -r "Type\.Codabar\|Type\.Code93" ./src
grep -r "SaveImageFile(" ./src
grep -r "GetImage(" ./src
grep -r "using SixLabors\.ImageSharp" ./src
grep -r "Image<Rgba32>" ./src
SHELL
  • Identifizieren Sie alle Dateien, die eine Änderung der using-Direktive erfordern.
  • Notieren Sie alle GetImage() Aufrufstellen und wie das zurückgegebene Image<Rgba32> Objekt nachgelagert verwendet wird
  • Prüfen Sie, ob QRCoder oder ZXing .NET vorhanden sind und im selben Durchgang entfernt werden können.
  • Führen Sie dotnet list package --include-transitive aus, um den aktuellen ImageSharp-Abhängigkeitszustand vor der Entfernung zu dokumentieren
  • Besorgen Sie sich einen IronBarcode -Lizenzschlüssel (ein kostenloser Testschlüssel ist ohne Kauf erhältlich)

Code-Aktualisierung

  1. Führen Sie dotnet remove package NetBarcode aus
  2. Führen Sie dotnet remove package SixLabors.ImageSharp aus, wenn es nicht von anderen Paketen verwendet wird
  3. Führen Sie dotnet add package IronBarcode aus
  4. Fügen Sie IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY"; beim Anwendungsstart hinzu
  5. Ersetzen Sie using NetBarcode; durch using IronBarCode; in jeder betroffenen Datei
  6. Entfernen Sie using SixLabors.ImageSharp;, using SixLabors.ImageSharp.PixelFormats; und using SixLabors.Fonts; aus allen Dateien
  7. Übersetzen Sie jeden new Barcode(data, Type.X) Aufruf zu BarcodeWriter.CreateBarcode(data, BarcodeEncoding.X) mithilfe der API-Zuordnungstabelle
  8. Ersetzen Sie SaveImageFile() durch SaveAsPng() oder die geeignete formatspezifische Methode
  9. Ersetzen Sie GetImage() Aufrufe durch ToPngBinaryData(), SaveAsPng() oder SaveAsPng(stream), wie es geeignet ist
  10. Entfernen Sie bei der Entfernung von QRCoder: Ersetzen Sie QRCodeGenerator + PngByteQRCode Ketten mit BarcodeWriter.CreateBarcode(data, BarcodeEncoding.QRCode)
  11. Entfernen Sie bei der Entfernung von ZXing.Net: Ersetzen Sie die Lesereinrichtung mit BarcodeReader.Read(path)

Post-Migrationstests

  • Erstellen Sie das Projekt und stellen Sie sicher, dass keine Kompilierungsfehler auftreten.
  • Führen Sie vorhandene Unit-Tests gegen die generierte Barcode-Ausgabe aus.
  • Überprüfen Sie die Barcode-Bilder visuell auf korrekte Symbolik und lesbaren Inhalt.
  • Überprüfen Sie die QR-Code-Ausgabe, falls dieses Format während der Migration hinzugefügt wurde.
  • Testen der Lesefunktion, falls Barcode-Scanning hinzugefügt wurde
  • Führen Sie dotnet list package --include-transitive aus, um zu bestätigen, dass ImageSharp nicht mehr vorhanden ist, wenn es entfernt wurde
  • Stellen Sie sicher, dass die Initialisierung des Lizenzschlüssels vor dem ersten Barcode-Vorgang ausgeführt wird.

Wichtigste Vorteile der Migration zu IronBarcode

Gebündelte Formatabdeckung: Nach der Migration sind QR-Codes, DataMatrix, PDF417, Aztec und alle anderen 2D-Formate über denselben API-Aufruf verfügbar, der für Code128 und EAN-13 verwendet wird. Keine zweite Bibliothek ist notwendig, wenn die Formatanforderungen erweitert werden, und die BarcodeEncoding Konstante ist das Einzige, das sich zwischen den Formattypen ändert.

Eingebaute Leseerkennung: BarcodeReader.Read() verarbeitet Bilddateien und PDF-Dokumente mit automatischer Format-Erkennung. Projekte, die bisher ZXing .NET zum Lesen benötigten, können diese Abhängigkeit beseitigen und auf eine einzige Barcode-Bibliothek umstellen, wodurch sich der Umfang der API, die die Entwickler des Projekts erlernen müssen, verringert.

Keine ImageSharp-Verpflichtung: IronBarcode hat keine Abhängigkeit von SixLabors.ImageSharp. Nach der Migration gilt die geteilte kommerzielle Lizenzbedingung, die in den transitive Abhängigkeiten von NetBarcodeeingebettet war, nicht mehr für das Projekt. Lizenzkonformitätsprüfungen werden einfacher, da die Verpflichtungen der Barcode-Bibliothek direkt angegeben sind und nicht vom Umsatzschwellenwert einer Drittanbieter-Bildverarbeitungsbibliothek abhängen.

Stabile öffentliche API: IronBarcode stellt keine Drittanbietertypen in seiner öffentlichen API-Oberfläche zur Verfügung. Der GeneratedBarcode Rückgabewert von BarcodeWriter.CreateBarcode ist IronBarcode's eigener Typ, was bedeutet, dass zukünftige Updates in IronBarcode's interner Wiedergabe keine strukturellen Änderungen im aufrufenden Code hervorrufen werden, wie es die Typänderung von NetBarcode's v1.8 GetImage() tat.

Nur noch eine Abhängigkeit zu pflegen: Durch den Ersatz von NetBarcode, QRCoder und ZXing .NET durch IronBarcode reduziert sich der Aufwand für Upgrades von drei Zyklen auf drei Versionen, drei Versionen von Versionshinweisen und drei potenzielle Versionskonflikte auf eine einzige. Mit fortschreitender Entwicklung der .NET Versionen und der damit einhergehenden Notwendigkeit von Abhängigkeitsaktualisierungen reduziert sich der Wartungsaufwand auf eine einzige Bibliothek anstatt auf drei.

Hinweis:: NetBarcode, QRCoder und ZXing.NET sind eingetragene Warenzeichen ihrer jeweiligen Eigentümer. Diese Seite ist nicht mit NetBarcode, QRCoder oder ZXing.NET verbunden, wird nicht von ihnen unterstützt oder gesponsert. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Eigentümer. Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich zugängliche Informationen zum Zeitpunkt des Schreibens wider.
Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
AWS-Logo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Azure (WebApps, Funktionen v3)
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Azure (WebApps, Funktionen v3)
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.