Wie man Ordner in .NET vergleicht – Anleitung mit GroupDocs
Wenn Sie wissen möchten, wie man Ordner in .NET vergleicht, sind Sie hier genau richtig. In diesem Tutorial führen wir Sie durch die Verwendung von GroupDocs.Comparison, um automatisch Unterschiede zwischen zwei Verzeichnissen zu erkennen, sowohl TXT‑Protokolle als auch umfangreiche HTML‑Berichte zu erstellen und den Prozess in reale C#‑Anwendungen zu integrieren.
Schnelle Antworten
- Was ist der Hauptzweck? Ordnervergleiche zu automatisieren und detaillierte TXT‑ oder HTML‑Berichte zu erstellen.
- Welche Ausgabeformate werden unterstützt? TXT für einfaches Parsen und HTML zur Erstellung eines visuellen Berichts.
- Benötige ich eine Lizenz? Eine kostenlose Testversion reicht für Lernzwecke; eine kommerzielle Lizenz entfernt Wasserzeichen für die Produktion.
- Kann ich das unter Linux ausführen? Ja – GroupDocs.Comparison unterstützt .NET Core unter Linux, macOS und Windows.
- Welche .NET‑Versionen sind kompatibel? .NET Core 3.1+ und .NET 5/6/7/8.
Was Sie in diesem Leitfaden lernen werden
In diesem Leitfaden lernen Sie, wie Sie zwei Verzeichnisse in C# mit GroupDocs.Comparison vergleichen, sowohl TXT‑ als auch HTML‑Berichte erzeugen, große Ordnerstrukturen effizient verarbeiten und den Vergleich in CI/CD‑Pipelines oder Backup‑Verifizierungs‑Skripte integrieren. Sie erfahren außerdem, wie Sie die Leistung für massive Datenmengen optimieren und das Layout des HTML‑Berichts an Ihre Bedürfnisse anpassen.
Warum Ordnervergleich für .NET‑Entwickler wichtig ist
Ordnervergleich spart Ihnen das manuelle Durchsuchen von Hunderten von Dateien. Egal, ob Sie Deployments validieren, Backups prüfen oder Konfigurations‑Drift verfolgen, compare directories C#‑Stil lässt Sie hinzugefügte, entfernte oder geänderte Dateien in Sekunden statt Stunden erkennen.
Voraussetzungen und Umgebungseinrichtung
Bevor wir zu den spannenden Teilen kommen, stellen wir sicher, dass Sie alles haben, was Sie benötigen. Keine Sorge – die Einrichtung ist unkompliziert, und ich führe Sie Schritt für Schritt durch.
Was Sie benötigen
Erforderliche Bibliotheken und Versionen
- GroupDocs.Comparison for .NET: Version 25.4.0 (die neueste stabile Version ab 2025) – unterstützt 50+ Eingabe‑ und Ausgabeformate einschließlich DOCX, PDF, HTML und Bildtypen.
- .NET Framework/SDK: Kompatibel mit .NET Core 3.1+ und .NET 5/6/7/8
- Entwicklungsumgebung: Visual Studio 2019+ (Community‑Edition funktioniert perfekt)
Vorkenntnisse
- Grundlegendes Verständnis von C#‑Programmierung (wenn Sie eine einfache Konsolen‑App schreiben können, sind Sie startklar)
- Vertrautheit mit Dateisystem‑Operationen in .NET (Arbeiten mit Pfaden, Verzeichnissen, Dateien)
- Kenntnis der NuGet‑Paketverwaltung
Schnelle Umgebungskontrolle
- Öffnen Sie Ihre bevorzugte IDE (Visual Studio, VS Code oder JetBrains Rider)
- Erstellen Sie eine neue Konsolen‑Anwendung, die .NET Core 3.1 oder höher targetiert
- Stellen Sie sicher, dass Sie Zugriff auf den NuGet Package Manager haben
Wenn Sie diese drei Dinge erledigt haben, sind Sie bereit! Jetzt installieren und konfigurieren wir GroupDocs.Comparison.
Installation und Konfiguration von GroupDocs.Comparison
GroupDocs.Comparison in Ihrem Projekt zu integrieren ist ein Kinderspiel. Sie haben zwei Hauptinstallationsmethoden, und ich zeige Ihnen beide.
Installationsmethoden
Option 1: NuGet Package Manager Console (Empfohlen für Visual‑Studio‑Benutzer)
Install-Package GroupDocs.Comparison -Version 25.4.0
Option 2: .NET CLI (Perfekt für Kommandozeilen‑Enthusiasten)
dotnet add package GroupDocs.Comparison --version 25.4.0
Pro‑Tipp: Geben Sie immer die Version an, um Konsistenz im Team und in den Deploy‑Umgebungen zu gewährleisten.
Lizenzoptionen verstehen
GroupDocs.Comparison bietet flexible Lizenzmodelle für unterschiedliche Bedürfnisse:
- Free Trial: Perfekt für Evaluation – bietet vollen Funktionsumfang mit einigen Einschränkungen
- Temporary License: Ideal für Proof‑of‑Concept‑Projekte – entfernt Test‑Beschränkungen vorübergehend
- Commercial License: Vollständige Features für Produktionsanwendungen
Für Lernzwecke reicht die kostenlose Testversion völlig aus. Sie können später jederzeit upgraden, wenn Sie bereit für den Einsatz sind.
Grundlegende Initialisierung und Einrichtung
Hier ist Ihr erstes Stück GroupDocs.Comparison‑Code. Diese einfache Einrichtung prüft, ob alles korrekt funktioniert:
using System;
using GroupDocs.Comparison;
class Program
{
static void Main()
{
// Initialize the license if available
License license = new License();
// license.SetLicense("Path to your license file"); // Uncomment when you have a license
Console.WriteLine("GroupDocs.Comparison for .NET is ready to use.");
Console.WriteLine("Let's start comparing some folders!");
}
}
Wenn dieser Code ohne Fehler läuft, herzlichen Glückwunsch! Sie können jetzt leistungsstarke Ordnervergleich‑Funktionalität bauen.
Wie man Ordner vergleicht und Ergebnisse als TXT‑Dateien speichert
Beginnen wir mit dem unkompliziertesten Ansatz: zwei Verzeichnisse vergleichen und die Ergebnisse als Textdatei speichern. Diese Methode ist ideal für automatisierte Skripte, Logging‑Systeme oder wenn Sie ein einfaches, parse‑fähiges Ausgabeformat benötigen.
Warum TXT‑Ausgabe wählen?
Textdateien sind extrem vielseitig. Sie sind leichtgewichtig, einfach programmatisch zu parsen, versionskontrollfreundlich und auf jedem System lesbar. Perfekt für:
- Automatisierte Build‑Prozesse
- Log‑Dateianalyse
- Kommandozeilen‑Tools
- Integration mit anderen Systemen
Schritt‑für‑Schritt‑Implementierung
Schritt 1: Konfigurieren Sie Ihre Vergleichsoptionen
Die Klasse FolderComparisonOptions lässt Sie den Vergleich feinjustieren.
Definition‑Anchor: FolderComparisonOptions definiert alle konfigurierbaren Einstellungen für einen Ordnervergleichsvorgang.
using System;
using System.IO;
using GroupDocs.Comparison;
using GroupDocs.Comparison.Options;
string sourceFolder = "YOUR_DOCUMENT_DIRECTORY/SOURCE_FOLDER";
string targetFolder = "YOUR_DOCUMENT_DIRECTORY/TARGET_FOLDER";
string outputDirectory = "YOUR_OUTPUT_DIRECTORY";
// Set comparison options for TXT output
Options.CompareOptions compareOptionsTxt = new Options.CompareOptions
{
DirectoryCompare = true,
FolderComparisonExtension = GroupDocs.Comparison.Options.FolderComparisonExtension.Txt
};
Damit teilen Sie GroupDocs.Comparison mit, dass Sie komplette Verzeichnisse (nicht einzelne Dateien) vergleichen und das Ergebnis im Textformat ausgeben möchten. Die Einstellung DirectoryCompare = true ist entscheidend – sie aktiviert den rekursiven Verzeichnisvergleich.
Schritt 2: Initialisieren Sie das Comparer‑Objekt
Definition‑Anchor: Comparer ist die Kernklasse, die den Vergleich zwischen Quell‑ und Ziel‑Elementen durchführt.
Comparer comparerTxt = new Comparer(sourceFolder, compareOptionsTxt);
// Add target folder for comparison
comparerTxt.Add(targetFolder, compareOptionsTxt);
Hier beginnt die Magie. Sie erstellen eine Comparer‑Instanz mit Ihrem Quellordner als Basis und fügen anschließend den Zielordner zum Vergleich hinzu. Denken Sie daran wie „vergleiche alles in Ordner B mit Ordner A“.
Schritt 3: Führen Sie den Vergleich aus und speichern Sie die Ergebnisse
string txtOutputFileName = Path.Combine(outputDirectory, "ComparisonResult.txt");
comparerTxt.Compare(txtOutputFileName, compareOptionsTxt);
Console.WriteLine("TXT file with comparison results saved successfully.");
Console.WriteLine($"Check your results at: {txtOutputFileName}");
Das war’s! Ihre Vergleichsergebnisse sind nun als Textdatei gespeichert. Die Ausgabe enthält Details zu hinzugefügten, gelöschten und geänderten Dateien, sodass Sie leicht nachvollziehen können, was sich zwischen den beiden Verzeichnissen geändert hat.
Das TXT‑Ausgabeformat verstehen
Die erzeugte Textdatei enthält typischerweise:
- Added files – im Ziel vorhanden, aber nicht in der Quelle
- Deleted files – in der Quelle vorhanden, aber nicht im Ziel
- Modified files – existieren in beiden Verzeichnissen, haben aber unterschiedlichen Inhalt
- File metadata – Größe, Änderungsdaten und weitere relevante Informationen
Wie man Ordner vergleicht und Ergebnisse als HTML‑Dateien speichert
Während TXT‑Dateien ideal für Automatisierung sind, glänzt die HTML‑Ausgabe, wenn Sie einen visuellen, menschenlesbaren Bericht benötigen. HTML‑Vergleichsergebnisse eignen sich perfekt für Code‑Reviews, Kundenpräsentationen oder wenn Sie Ergebnisse mit nicht‑technischen Teammitgliedern teilen wollen.
Vorteile der HTML‑Ausgabe (und wie man HTML‑Bericht generiert)
- Visuelle Diff‑Hervorhebung – sehen Sie exakt, was sich geändert hat, farblich markiert
- Interaktive Navigation – klicken Sie sich einfach durch Dateien und Ordner
- Professionelle Präsentation – ideal für Berichte und Dokumentation
- Plattformübergreifende Ansicht – öffnet in jedem Webbrowser
Schritt 1: HTML‑Vergleichsoptionen konfigurieren
Definition‑Anchor: FolderComparisonExtension.Html weist die API an, einen HTML‑basierten Bericht anstelle von Klartext zu erzeugen.
// Set comparison options for HTML output
Options.CompareOptions compareOptionsHtml = new Options.CompareOptions
{
DirectoryCompare = true,
FolderComparisonExtension = GroupDocs.Comparison.Options.FolderComparisonExtension.Html
};
Der entscheidende Unterschied ist hier die Einstellung FolderComparisonExtension.Html. Sie veranlasst GroupDocs.Comparison, einen umfangreichen HTML‑Bericht zu erstellen.
Schritt 2: Comparer für HTML‑Ausgabe initialisieren
Comparer comparerHtml = new Comparer(sourceFolder, compareOptionsHtml);
// Add target folder to the comparison
comparerHtml.Add(targetFolder, compareOptionsHtml);
Das gleiche Muster wie zuvor, nur jetzt für HTML‑Ausgabe konfiguriert. Der Vorteil der API von GroupDocs.Comparison liegt in ihrer Konsistenz – Sie verwenden dieselben Methoden, unabhängig vom Ausgabeformat.
Schritt 3: HTML‑Bericht generieren und speichern
string htmlOutputFileName = Path.Combine(outputDirectory, "ComparisonResult.html");
comparerHtml.Compare(htmlOutputFileName, compareOptionsHtml);
Console.WriteLine("HTML file with comparison results saved successfully.");
Console.WriteLine($"Open in browser: {htmlOutputFileName}");
Die resultierende HTML‑Datei ist ein vollständiger, eigenständiger Bericht, den Sie in jedem Browser öffnen können. Sie enthält interaktive Elemente, Syntax‑Highlighting (für Code‑Dateien) und ein sauberes, professionelles Layout.
Was Sie in Ihrem HTML‑Bericht erwarten können
Ihr HTML‑Ausgabe enthält typischerweise:
- Summary dashboard – Überblick über Gesamtänderungen, betroffene Dateien und Vergleichs‑Statistiken
- Side‑by‑side comparisons – visuelle Diff‑Ansicht, die exakt zeigt, was sich geändert hat
- Folder tree navigation – einfaches Durchblättern der Verzeichnisstruktur
- File‑level details – Einzeldateivergleiche mit hervorgehobenen Unterschieden
Häufige Anwendungsfälle und reale Anwendungen
Zu verstehen, wann und wie man Ordnervergleich einsetzt, kann Ihren Entwicklungs‑Workflow erheblich verbessern. Hier einige Szenarien, in denen diese Funktionalität unverzichtbar ist:
Code‑Review und Versionskontrolle
Szenario: Sie prüfen Änderungen zwischen zwei Branches oder vergleichen verschiedene Versionen Ihres Code‑Bases.
Warum Ordnervergleich hilft: Statt Datei für Datei zu prüfen, sehen Sie sofort alle Modifikationen, Ergänzungen und Löschungen im gesamten Projekt. Der HTML‑Bericht ist hier besonders nützlich – Sie können visuelle Diff‑Reports mit dem Team teilen.
Daten‑Backup‑Verifizierung
Szenario: Sie müssen sicherstellen, dass Ihr Backup‑Prozess alle Dateien korrekt kopiert hat und keine Beschädigungen vorliegen.
Implementierungstipp: Nutzen Sie die TXT‑Ausgabe für automatisierte Verifizierungsskripte, die Sie in Ihren Backup‑Workflow einbinden. Richten Sie Alarme ein, wenn Diskrepanzen entdeckt werden.
Konfigurationsmanagement über Umgebungen hinweg
Szenario: Sie verwalten Anwendungskonfigurationen für Development, Staging und Production.
Best Practice: Regelmäßige Ordnervergleiche helfen, Konfigurations‑Drift frühzeitig zu erkennen. HTML‑Reports eignen sich hervorragend für Change‑Management‑Dokumentation.
Dokumenten‑Versionskontrolle
Szenario: Sie betreuen ein Dokumenten‑Repository, in dem mehrere Teammitglieder Änderungen vornehmen.
Pro‑Tipp: Kombinieren Sie Ordnervergleich mit geplanten Tasks, um automatisch Änderungsberichte zu erzeugen. Besonders wertvoll für Compliance‑ und Audit‑Zwecke.
CI/CD‑Pipeline‑Integration
Szenario: Sie möchten Änderungen automatisch erkennen und melden, sobald ein Deployment erfolgt.
Erweiterte Nutzung: Integrieren Sie den Ordnervergleich in Ihre Build‑Pipeline, um für jedes Deployment Änderungsberichte zu erzeugen – hilfreich für Rollback‑Entscheidungen und Change‑Tracking.
Leistungsoptimierung und bewährte Verfahren
Bei großen Verzeichnisstrukturen wird die Performance entscheidend. Hier bewährte Strategien, um Ihre Ordnervergleiche reibungslos laufen zu lassen:
Optimierungsstrategien
Intelligente Verzeichnisauswahl
- Vergleichen Sie nur die Verzeichnisse, die Sie wirklich analysieren müssen
- Nutzen Sie Filter, um temporäre Dateien, Logs oder andere irrelevante Inhalte auszuschließen
- Erwägen Sie, sehr große Vergleiche in kleinere, fokussierte Teile zu splitten
Speicherverwaltung
Definition‑Anchor: Comparer.Dispose() gibt alle nicht verwalteten Ressourcen des Comparers frei und verhindert Speicherlecks.
// Dispose of comparer objects properly
using (Comparer comparer = new Comparer(sourceFolder, compareOptions))
{
comparer.Add(targetFolder, compareOptions);
comparer.Compare(outputFileName, compareOptions);
} // Automatically disposed here
- Asynchrone Verarbeitung
Für umfangreiche Vergleiche sollten Sie async‑Muster einsetzen, um UI‑Blockaden in Desktop‑Apps oder Time‑outs in Web‑Apps zu vermeiden.
Tipps zur Leistungsüberwachung
- Speicherverbrauch während großer Vergleiche beobachten
- Verarbeitungszeit für unterschiedliche Verzeichnisgrößen messen
- Realistische Erwartungen an Nutzer basierend auf Verzeichnis‑Komplexität setzen
- Fortschritts‑Reporting für langlaufende Vorgänge in Betracht ziehen
Fehlersuche bei häufigen Problemen
Selbst mit sauberem Code können Herausforderungen auftreten. Hier die gängigsten Probleme und deren Lösungen:
Datei‑Zugriffs‑ und Berechtigungsprobleme
Problem: „Access denied“ oder „file in use“‑Fehler
Lösung:
- Stellen Sie sicher, dass Ihre Anwendung mit den erforderlichen Berechtigungen läuft
- Prüfen Sie, ob Dateien von anderen Prozessen gesperrt sind
- Implementieren Sie Retry‑Logik für temporäre Dateisperren
Pfad‑ und Verzeichnisprobleme
Problem: Ungültige Pfad‑Fehler oder Verzeichnis nicht gefunden
Lösung:
// Always validate paths before comparison
if (!Directory.Exists(sourceFolder))
{
throw new DirectoryNotFoundException($"Source directory not found: {sourceFolder}");
}
if (!Directory.Exists(targetFolder))
{
throw new DirectoryNotFoundException($"Target directory not found: {targetFolder}");
}
Speicher‑ und Leistungsprobleme
Problem: Out‑of‑Memory‑Ausnahmen oder langsame Performance
Lösungen:
- Große Vergleiche in kleinere Batches aufteilen
- Unnötige Dateitypen vom Vergleich ausschließen
- Speicherverbrauchsmuster überwachen und optimieren
Probleme bei der Ausgabe‑Dateierstellung
Problem: Ausgabedateien werden nicht erzeugt oder sind beschädigt
Fehlerbehebungsschritte:
- Schreibberechtigungen im Zielverzeichnis prüfen
- Ausreichend Festplattenspeicher sicherstellen
- Auf ungültige Zeichen in Dateipfaden achten
- Vor dem Vergleich prüfen, ob das Ausgabeverzeichnis existiert
Erweiterte Konfigurationsoptionen
GroupDocs.Comparison bietet zahlreiche Optionen, um das Vergleichsverhalten exakt anzupassen:
Einstellungen zur Vergleichsempfindlichkeit
Sie können festlegen, wie sensibel der Vergleich auf verschiedene Änderungen reagiert:
- Whitespace handling – Leerzeichen‑Änderungen ignorieren oder berücksichtigen
- Case sensitivity – festlegen, ob Groß‑/Kleinschreibung als Unterschied gilt
- Line ending normalization – unterschiedliche Zeilenende‑Formate handhaben
Dateityp‑Filterung
Konzentrieren Sie den Vergleich auf bestimmte Dateitypen:
compareOptions.FileAuthorMetadata = false; // Ignore metadata changes
compareOptions.GenerateFramePreview = true; // Generate preview frames
Benutzerdefinierte Ausgabeformatierung
Passen Sie das Ausgabeformat Ihren speziellen Anforderungen an:
- Custom templates – HTML‑Ausgabe‑Styling modifizieren
- Metadata inclusion – steuern, welche Dateiinformationen enthalten sind
- Diff granularity – zwischen Datei‑Ebene oder Zeilen‑Ebene wählen
Fazit und nächste Schritte
Herzlichen Glückwunsch! Sie haben die Grundlagen des Ordnervergleichs mit GroupDocs.Comparison für .NET gemeistert. Sie können jetzt:
✅ GroupDocs.Comparison in Ihren Projekten einrichten und konfigurieren
✅ Verzeichnisse vergleichen und sowohl TXT‑ als auch HTML‑Berichte erzeugen (inkl. generate HTML report)
✅ Häufige Herausforderungen bewältigen und die Performance optimieren
✅ Ordnervergleich in realen Anwendungen integrieren
Was kommt als Nächstes?
Möchten Sie Ihre Ordnervergleich‑Fähigkeiten weiter vertiefen? Erwägen Sie:
- Erweiterte Filteroptionen für gezieltere Vergleiche
- API‑Integration für webbasierte Vergleichsdienste
- Batch‑Verarbeitung für mehrere Verzeichnis‑Paare
- Benutzerdefinierte Reporting‑Formate, die auf die Bedürfnisse Ihrer Organisation zugeschnitten sind
Beginnen Sie noch heute mit der Implementierung
Der beste Weg, diese Konzepte zu verinnerlichen, ist praktische Anwendung. Wählen Sie ein aktuelles Projekt aus und identifizieren Sie Stellen, an denen ein Ordnervergleich Ihren Workflow vereinfachen könnte. Starten Sie klein, experimentieren Sie mit verschiedenen Ausgabeformaten und bauen Sie nach und nach erweiterte Features ein.
Denken Sie daran: Jeder Experte war einmal Anfänger. Nehmen Sie sich Zeit, probieren Sie frei aus und zögern Sie nicht, diesen Leitfaden bei Bedarf zu Rate zu ziehen!
Häufig gestellte Fragen
Q: Kann ich GroupDocs.Comparison für .NET auf Linux‑Systemen verwenden?
A: Absolut! GroupDocs.Comparison unterstützt die plattformübergreifende Bereitstellung über .NET Core. Es funktioniert nahtlos unter Linux, macOS und Windows.
Q: Wie gehe ich mit sehr großen Verzeichnissen mit tausenden Dateien um?
A: Für große Verzeichnisse setzen Sie folgende Strategien ein: asynchrone Verarbeitung, Aufteilen des Vergleichs in kleinere Batches, unnötige Dateitypen ausschließen und Speicherverbrauch überwachen. Erwägen Sie, Fortschritts‑Feedback für langlaufende Vorgänge bereitzustellen.
Q: Gibt es ein praktisches Limit für die Anzahl der zu vergleichenden Dateien?
A: Es gibt kein festes Limit in der Bibliothek, jedoch hängt die Performance von Ihren Systemressourcen (RAM, CPU, Festplattengeschwindigkeit) und Dateigrößen ab. Die meisten Systeme bewältigen tausende Dateien problemlos, sehr große Datensätze können jedoch Optimierungs‑Strategien erfordern.
Q: Kann GroupDocs.Comparison verschlüsselte oder passwortgeschützte Dateien verarbeiten?
A: Die Bibliothek kann verschlüsselte Dateien nicht direkt vergleichen. Sie müssen die Dateien zuerst entschlüsseln, sofern Sie die entsprechenden Berechtigungen und Zugangsdaten besitzen. Achten Sie stets darauf, die Sicherheitsrichtlinien Ihrer Organisation beim Umgang mit verschlüsselten Inhalten einzuhalten.
Q: Wie integriere ich den Ordnervergleich in automatisierte CI/CD‑Pipelines?
A: Erstellen Sie Konsolen‑Anwendungen, die GroupDocs.Comparison nutzen, konfigurieren Sie sie so, dass sie geeignete Exit‑Codes basierend auf den Vergleichsergebnissen zurückgeben, und binden Sie sie in Ihre Build‑Skripte ein. Die TXT‑Ausgabe ist besonders nützlich, um Ergebnisse in automatisierten Umgebungen zu parsen.
Q: Was ist der Unterschied zwischen Test‑ und Lizenz‑Version?
A: Die Test‑Version enthält den vollen Funktionsumfang, fügt jedoch Wasserzeichen zu den Ausgaben hinzu und hat einige Nutzungsbeschränkungen. Lizenzierte Versionen entfernen diese Einschränkungen und sind für den Produktionseinsatz geeignet.
Q: Kann ich das Styling und Layout des HTML‑Outputs anpassen?
A: Ja, GroupDocs.Comparison bietet Optionen zur Anpassung des HTML‑Outputs. Sie können Vorlagen modifizieren, das Styling anpassen und steuern, welche Informationen in den Berichten enthalten sind.
Q: Wie gehe ich mit Dateien um, die nur in einem Verzeichnis existieren?
A: GroupDocs.Comparison erkennt und meldet diese Unterschiede automatisch als „added“ bzw. „deleted“ Dateien. Sie können konfigurieren, wie diese Unterschiede im Ausgabeformat dargestellt werden.
Zusätzliche Ressourcen und Support
Dokumentation
- Complete API Reference: GroupDocs.Comparison .NET API Documentation
- Developer Guide: GroupDocs Developer Resources
Download und Lizenzierung
- Latest Release: Download GroupDocs.Comparison
- Purchase Options: Buy Commercial License
- Free Trial: Start Your Free Trial
- Temporary License: Request Evaluation License
Zuletzt aktualisiert: 2026-07-20
Getestet mit: GroupDocs.Comparison 25.4.0 for .NET
Autor: GroupDocs