.NET-HILFE

tye .NET (Wie es für Entwickler funktioniert)

In der modernen Landschaft der Softwareentwicklung kann die Erstellung und Bereitstellung verteilter Anwendungen komplex und schwierig sein. Die Verwaltung mehrerer Dienste, Abhängigkeiten und Bereitstellungsumgebungen erfordert oft einen erheblichen Aufwand und eine gute Koordination. Um diese Herausforderungen anzugehen, hat Microsoft Project Tye eingeführt, ein Entwickler-Tool, das die Entwicklung, das Testen und die Bereitstellung von .NET-Anwendungen vereinfachen soll. In diesem Artikel werden wir in die Welt von Tye eintauchen und seine Funktionen, Vorteile und praktischen Anwendungen für .NET-Entwickler erkunden. Wir werden auch etwas über IronPDF, eine PDF-Generierungsbibliothek von Iron Software, lernen und Tye und IronPDF in einem praktischen Beispiel verwenden.

Verstehen von Project Tye .NET

Tye ist ein Open-Source-Entwicklertool im experimentellen Stadium, das den Prozess des Erstellens, Testens und Bereitstellens von .NET-Projektanwendungen mit minimaler Konfiguration vereinfacht. Entwickelt vom Microsoft-Engineering-Team, Tye zielt darauf ab, den Entwicklungsworkflow zu vereinfachen, indem es einen konsistenten, meinungsgeleiteten Ansatz zur Verwaltung von Mikroservices und deren Abhängigkeiten bietet. Im Kern umfasst Tye die Prinzipien der Containerisierung, Orchestrierung und Entwicklerproduktivität, um eine nahtlose Anwendungsentwicklung und -bereitstellung zu ermöglichen.

Hauptmerkmale von Tye .NET

1. Ermittlung von Diensten und Verwaltung von Abhängigkeiten

Tye erkennt und verwaltet automatisch die Abhängigkeiten zwischen Diensten innerhalb einer .NET Anwendung. Es nutzt Projekt-Metadaten und Docker-Container, um Service-Beziehungen abzuleiten und erleichtert so die Koordination der Kommunikation und Orchestrierung zwischen Microservices. Dies erleichtert die Entwicklung von Microservices mit mehreren Projekten.

2. Integrierte Entwicklungsumgebung

Tye integriert sich nahtlos in Visual Studio und Visual Studio Code und bietet eine vertraute Entwicklungsumgebung für .NET Entwickler. Es bietet Tools für das Debugging, die Protokollierung und die Überwachung von Anwendungskomponenten, die eine schnelle Iteration und Fehlersuche während der Entwicklung ermöglichen.

3. Docker-Containerisierung

Tye setzt auf Docker-Container als Bereitstellungseinheit für .NET-Anwendungen. Es generiert automatisch Dockerdateien für jeden Dienst auf der Grundlage von Projektkonfigurationen, was konsistente und reproduzierbare Container-Builds in Entwicklungs- und Produktionsumgebungen erleichtert und das Testen und Bereitstellen von Microservices vereinfacht.

4. Lokale Entwicklungsumgebung

Tye vereinfacht die lokale Entwicklung durch die Orchestrierung von Abhängigkeiten und Diensten innerhalb einer einzigen Umgebung. Entwickler können den gesamten Anwendungsstapel mit einem einzigen Befehl in Betrieb nehmen, wodurch die manuelle Einrichtung und Konfiguration von Abhängigkeiten entfällt.

5. Bereitstellung auf Kubernetes

Tye bietet integrierte Unterstützung für die Bereitstellung von .NET-Anwendungen in Kubernetes-Clustern. Es generiert Kubernetes-Manifeste und Helm-Diagramme auf der Grundlage von Projektspezifikationen, rationalisiert den Bereitstellungsprozess und fördert Best Practices für die Container-Orchestrierung in Cloud-nativen Umgebungen.

6. Überwachung und Beobachtbarkeit

Tye lässt sich in gängige Observability-Tools wie Prometheus und Grafana integrieren, um Einblicke in die Performance und den Zustand von Anwendungen zu erhalten. Es stellt Metriken und Protokolle von Anwendungskomponenten zur Verfügung und ermöglicht es Entwicklern, die Ressourcenauslastung zu überwachen, Engpässe zu erkennen und Probleme in Echtzeit zu diagnostizieren.

Praktische Anwendungen mit Tye

Lassen Sie uns einige praktische Szenarien untersuchen, in denen Tye die Entwicklung und den Einsatz von .NET-Anwendungen rationalisieren kann:

1. Lokales Entwicklungsumfeld

# Start Tye in local development mode with tye run command
tye run
# Start Tye in local development mode with tye run command
tye run
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

2. Docker-Containerisierung

Build Docker images for Tye services with available solution file
tye build
Build Docker images for Tye services with available solution file
tye build
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

3. Bereitstellung auf Kubernetes

Deploy Tye application to Kubernetes cluster 
tye deploy --interactive // deploy microservices and distributed applications
Deploy Tye application to Kubernetes cluster 
tye deploy --interactive // deploy microservices and distributed applications
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Erste Schritte mit Tye

Um mit Tye zu beginnen:

  1. Installieren Sie .NET Core 3.1 (nicht unterstützt für höhere Versionen) auf Ihrem Rechner.

  2. Installieren Sie Tye als ein globales Werkzeug mit:
dotnet tool install -g Microsoft.Tye --version "0.2.0-alpha.20258.3"
dotnet tool install -g Microsoft.Tye --version "0.2.0-alpha.20258.3"
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel
  1. Erstellen Sie einen neuen Ordner für Ihre Microservices.

  2. Navigieren Sie zum Ordner und erstellen Sie ein Frontend-Projekt (z.B. Razor Pages):
mkdir microservices
cd microservices
dotnet new razor -n frontend  // frontend service or backend service
mkdir microservices
cd microservices
dotnet new razor -n frontend  // frontend service or backend service
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel
  1. Starten Sie das Frontend-Projekt, das tye Dashboard:
tye run frontend  // frontend project or backend project
tye run frontend  // frontend project or backend project
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Damit wird die Frontend-Anwendung erstellt, ausgeführt und überwacht. Sie können auf das Tye-Dashboard unter http://localhost:8000 zugreifen, um den Status Ihrer Dienste einzusehen

Tye's Konfigurationsschema

Tye verfügt über eine optionale Konfigurationsdatei, tye.yaml, die eine Anpassung der Einstellungen ermöglicht. Diese YAML-Datei enthält alle Ihre Projekte und externen Abhängigkeiten. Wenn Sie eine bestehende Lösung haben, wird Tye diese automatisch mit all Ihren aktuellen Projekten füllen.

Um diese YAML-Datei zu initialisieren, navigieren Sie zum Verzeichnis der Microservices und führen Sie den folgenden Befehl aus, um eine Standarddatei tye.yaml zu erzeugen:

tye init
tye init
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Eine tye.yaml-Datei wird wie folgt erstellt

name: myawesomeapplication
services:
- name: backendtest
  project: backend/backend.csproj
  bindings:
  - port: 7000
- name: frontendtest
  project: frontend/frontend.csproj
  replicas: 2
  bindings:
  - port: 8000
- name: workertest
  project: worker/worker.csproj
- name: rabbit
  image: rabbitmq:3-management
  bindings:
    - port: 5672
      protocol: rabbitmq
name: myawesomeapplication
services:
- name: backendtest
  project: backend/backend.csproj
  bindings:
  - port: 7000
- name: frontendtest
  project: frontend/frontend.csproj
  replicas: 2
  bindings:
  - port: 8000
- name: workertest
  project: worker/worker.csproj
- name: rabbit
  image: rabbitmq:3-management
  bindings:
    - port: 5672
      protocol: rabbitmq
YAML

Vorteile der Verwendung von Tye

  1. Vereinfachter Entwicklungs-Workflow: Tye vereinfacht den Entwicklungs-Workflow, indem es einen einheitlichen Werkzeugsatz für das Erstellen, Testen und Debuggen von .NET-Anwendungen lokal bereitstellt.

  2. Beschleunigte Markteinführung: Durch die Automatisierung gängiger Aufgaben wie Dienstentdeckung, Abhängigkeitsverwaltung und Containerisierung verkürzt Tye die benötigte Zeit und den Aufwand, um Anwendungen in Produktionsumgebungen bereitzustellen.

  3. Verbesserte Zusammenarbeit: Tye fördert die Zusammenarbeit zwischen Entwicklungs-, Betriebs- und DevOps-Teams, indem es eine gemeinsame Plattform für die Verwaltung von Anwendungsabhängigkeiten und Bereitstellungskonfigurationen bereitstellt.

  4. Cloud-native Bereitschaft: Tye stattet .NET-Anwendungen mit den notwendigen Werkzeugen und Praktiken für den Betrieb in cloud-nativen Umgebungen wie Kubernetes aus, was es Organisationen ermöglicht, moderne Infrastrukturparadigmen mit Vertrauen zu übernehmen.

  5. Community-Unterstützung und Beitrag: Als Open-Source-Projekt, das von Microsoft unterstützt wird, profitiert Tye von einer lebendigen Community von Mitwirkenden und Nutzern, die aktiv zur Entwicklung, Dokumentation und zum Ökosystem beitragen.

Projekt Tye Lizenz

Project Tye kommt mit der MIT-Lizenz, die kostenlos für Entwicklungs- und kommerzielle Zwecke genutzt werden kann.

Einführung in IronPDF

tye .NET (Wie es für Entwickler funktioniert): Abbildung 1 - IronPDF for .NET: Die C# PDF-Bibliothek

IronPDF ist eine leistungsstarke C#-Bibliothek, die für das Erstellen, Bearbeiten und Signieren von PDFs aus HTML, CSS, Bildern und JavaScript entwickelt wurde. Sie bietet kommerzielle Leistung bei geringem Speicherbedarf.

Hauptmerkmale von IronPDF

1. Konvertierung von HTML in PDF

Konvertieren Sie HTML-Dateien, HTML-Strings und URLs in PDFs. Sie können zum Beispiel eine Webseite mit dem Chrome PDF-Renderer als PDF wiedergeben.

2. Plattformübergreifende Unterstützung

Kompatibel mit verschiedenen .NET-Plattformen, einschließlich .NET Core, .NET Standard und .NET-Framework. Es unterstützt Windows, Linux und macOS.

3. Bearbeitung und Unterzeichnung

Legen Sie Eigenschaften fest, fügen Sie Sicherheit mit Passwörtern und Berechtigungen hinzu, und wenden Sie digitale Signaturen auf Ihre PDFs an.

4. Seitenvorlagen und Einstellungen

PDFs mit Kopf- und Fußzeilen, Seitenzahlen und einstellbaren Rändern anpassen. Unterstützt responsive Layouts und benutzerdefinierte Papierformate.

5. Einhaltung von Normen

Einhaltung von PDF-Standards wie PDF/A und PDF/UA. Unterstützt UTF-8-Zeichencodierung und verarbeitet Assets wie Bilder, CSS und Schriftarten.

Lassen Sie uns nun ein praktisches Beispiel mit diesen beiden Bibliotheken betrachten.

PDF-Dokument mit IronPDF und Tye generieren

Erstellen wir zunächst eine Visual Studio Razor-Anwendung. Öffnen Sie Visual Studio, erstellen Sie ein neues Projekt und wählen Sie die razor-App wie unten gezeigt aus.

tye .NET (Wie es für Entwickler funktioniert): Abbildung 2 - Öffnen Sie Visual Studio und erstellen Sie eine neue ASP.NET Core-Webanwendung (Razor Pages).

Geben Sie den Namen und den Standort des Projekts an.

tye .NET (Funktionsweise für Entwickler): Abbildung 3 - Konfigurieren Sie das Projekt, indem Sie den Projektnamen und den Speicherort angeben. Dann klicken Sie auf Weiter.

Wählen Sie im nächsten Schritt die .NET Framework-Version aus und klicken Sie auf Erstellen. Da Tye nur mit .NET 3.1 arbeitet, werden wir das gleiche wählen.

tye .NET (Wie es für Entwickler funktioniert): Abbildung 4 - Wählen Sie das .NET Core 3.1-Framework aus und klicken Sie dann auf Erstellen.

Installieren Sie IronPDF aus dem NuGet-Paket über den Visual Studio-Paketmanager.

tye .NET (Wie es für Entwickler funktioniert): Abbildung 5 - Installieren Sie IronPDF mit dem Paketmanager Manage NuGet Package for Solution, indem Sie IronPDF in der Suchleiste des NuGet-Paketmanagers suchen, dann das Projekt auswählen und auf die Schaltfläche Installieren klicken.

Öffnen Sie als nächstes den Dateibrowser und navigieren Sie zum Lösungsordner. Öffnen Sie dann die CMD-Eingabeaufforderung.

Installieren Sie Tye mit dem folgenden Befehl:

dotnet tool install -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
dotnet tool install -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ODER wenn Sie Tye bereits installiert haben und es aktualisieren möchten, verwenden Sie den folgenden Befehl:

dotnet tool update -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
dotnet tool update -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Initialisieren Sie Tye mit dem folgenden Befehl:

tye init
tye init
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Es wird eine YAML-Vorlagedatei wie folgt erstellt:

# tye application configuration file
# read all about it at https://github.com/dotnet/tye
#
# when you've given us a try, we'd love to know what you think:
#    https://aka.ms/AA7q20u
#
# define global settings here
# name: exampleapp # application name
# registry: exampleuser # dockerhub username or container registry hostname
# define multiple services here
services:
- name: frontend
  project: Frontend\Frontend.csproj # msbuild project path (relative to this file)
  # executable: app.exe # path to an executable (relative to this file)
    args: -f=netcoreapp3.1 # arguments to pass to the process
  # replicas: 5 # number of times to launch the application
  # env: # array of environment variables
  #  - name: key
  #    value: value
  # bindings: # optional array of bindings (ports, connection strings)
    # - port: 8080 # number port of the binding
# tye application configuration file
# read all about it at https://github.com/dotnet/tye
#
# when you've given us a try, we'd love to know what you think:
#    https://aka.ms/AA7q20u
#
# define global settings here
# name: exampleapp # application name
# registry: exampleuser # dockerhub username or container registry hostname
# define multiple services here
services:
- name: frontend
  project: Frontend\Frontend.csproj # msbuild project path (relative to this file)
  # executable: app.exe # path to an executable (relative to this file)
    args: -f=netcoreapp3.1 # arguments to pass to the process
  # replicas: 5 # number of times to launch the application
  # env: # array of environment variables
  #  - name: key
  #    value: value
  # bindings: # optional array of bindings (ports, connection strings)
    # - port: 8080 # number port of the binding
YAML

Starten Sie Tye mit dem folgenden Befehl:

tye run frontend
tye run frontend
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dies öffnet das Tye-Dashboard unter der URL: http://127.0.0.1:8000/, um die App in Aktion zu sehen.

Tye Dashboard

tye .NET (Wie es für Entwickler funktioniert): Abbildung 6 - Razor-Anwendung, die mit Tye auf localhost ausgeführt wird

Als Nächstes fügen Sie den unten stehenden Code in das Projekt ein, um mit einem Mausklick ein PDF-Dokument aus einer beliebigen Website-URL zu generieren.

Fügen Sie den folgenden Code in die Datei Index.cshtml ein:

@page
@model IndexModel
@{
    ViewData["Title"] = "Generate PDF";
}
<form method="post"  class="text-center flex-row">
    <h1 class="display-4">Welcome To Url To PDF Generator </h1>
    <p>Enter Website Url:
    <button type="submit">Generate PDF</button>
    @if (Model.Message != null)
    {
        <p>@Model.Message</p>
    }
</form>
@page
@model IndexModel
@{
    ViewData["Title"] = "Generate PDF";
}
<form method="post"  class="text-center flex-row">
    <h1 class="display-4">Welcome To Url To PDF Generator </h1>
    <p>Enter Website Url:
    <button type="submit">Generate PDF</button>
    @if (Model.Message != null)
    {
        <p>@Model.Message</p>
    }
</form>
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Fügen Sie dann den folgenden Code zu Index.cshtml.cs hinzu:

using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Logging;
namespace Frontend.Pages
{
    public class IndexModel : PageModel
    {
        public string Message { get; set; }
        [BindProperty]
        public string UrlInput { get; set; }
        private readonly ILogger<IndexModel> _logger;
        public IndexModel(ILogger<IndexModel> logger)
        {
            _logger = logger;
        }
        public void OnGet()
        {
        }
        public IActionResult OnPost()
        {
            if (string.IsNullOrEmpty(UrlInput))
            {
                ModelState.AddModelError("UrlInput", "Please enter some text.");
                return Page();
            }
            // Create PDF from ChromePdfRenderer
            var renderer = new ChromePdfRenderer();
            var pdf = renderer.RenderUrlAsPdf(UrlInput);
            // Return the PDF as a file result
            var pdfBytes = pdf.BinaryData;
            return File(pdfBytes, "application/pdf", "GeneratedDocument.pdf");
        }
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Logging;
namespace Frontend.Pages
{
    public class IndexModel : PageModel
    {
        public string Message { get; set; }
        [BindProperty]
        public string UrlInput { get; set; }
        private readonly ILogger<IndexModel> _logger;
        public IndexModel(ILogger<IndexModel> logger)
        {
            _logger = logger;
        }
        public void OnGet()
        {
        }
        public IActionResult OnPost()
        {
            if (string.IsNullOrEmpty(UrlInput))
            {
                ModelState.AddModelError("UrlInput", "Please enter some text.");
                return Page();
            }
            // Create PDF from ChromePdfRenderer
            var renderer = new ChromePdfRenderer();
            var pdf = renderer.RenderUrlAsPdf(UrlInput);
            // Return the PDF as a file result
            var pdfBytes = pdf.BinaryData;
            return File(pdfBytes, "application/pdf", "GeneratedDocument.pdf");
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Führen Sie nun Tye wie unten beschrieben aus:

tye .NET (Wie es für Entwickler funktioniert): Abbildung 7 - Typ ausführen mit dem Befehl: tye run frontend

Damit wird das Tye Dashboard gestartet.

tye .NET (Wie es für Entwickler funktioniert): Abbildung 8 - Tye Dashboard

Klicken Sie nun auf einen der Links im Abschnitt Bindungen, um die PDF-Generator-App zu öffnen und eine Beispiel-URL für die PDF-Generierung einzugeben.

tye .NET (Wie es für Entwickler funktioniert): Abbildung 9 - URL zu PDF-Generator mit IronPDF

Klicken Sie auf die Schaltfläche "Generieren", um die folgende PDF-Datei als Ausgabe zu erhalten:

tye .NET (Wie es für Entwickler funktioniert): Abbildung 10 - HTML-URL-zu-PDF-Konvertierung mit IronPDF

Code-Erklärung

  1. Index.cshtml enthält die Schaltfläche und die Eingabe zur Übernahme der Website-URL und zum Auslösen der PDF-Erzeugung.

  2. Index.cshtml.cs enthält den Code, der zur Erzeugung des PDF-Dokuments mit IronPDF erforderlich ist.

  3. Wir verwenden die ChromePdfRenderer-Klasse und die Methode RenderUrlAsPdf(), um das PDF aus der URL zu erstellen.

  4. Diese generierte URL wird als Antwort auf die Post-Methode zurückgegeben.

  5. Der Befehl Tye Run startet das Tye Dashboard, in dem Sie alle laufenden Dienste sehen können.

  6. Klicken Sie auf den Frontend-Dienst und öffnen Sie die App, um die PDF-Dokumente zu erstellen.

IronPDF-Lizenz

Besuchen Sie die Seite IronPDF Licensing.

Platzieren Sie den Lizenzschlüssel in der Datei appSettings.json wie unten gezeigt:

{
  "IronPdf.License.LicenseKey" : "The Key Here"
}

Schlussfolgerung

Abschließend stellt Tye einen bedeutenden Fortschritt im .NET-Ökosystem dar, indem es einen optimierten Ansatz zum Erstellen, Testen und Bereitstellen verteilter Anwendungen bietet. Ob Sie ein erfahrener .NET-Entwickler sind oder gerade erst mit Containerisierung und Microservices beginnen, bietet Tye eine benutzerfreundliche Plattform, um moderne Entwicklungsmethoden zu nutzen und Ihre Reise zu cloud-nativen Architekturen zu beschleunigen.

IronPDF ist eine .NET-Bibliothek, die es Entwicklern erlaubt, PDF-Dokumente einfach aus HTML-Inhalten zu erstellen, zu bearbeiten und zu rendern. Es unterstützt die Konvertierung von HTML in PDF, das Zusammenführen und Aufteilen von PDFs sowie das Hinzufügen von Kopf- und Fußzeilen und Wasserzeichen. IronPDF ist bekannt für seine Benutzerfreundlichkeit, hochwertige Rendering-Funktion und Kompatibilität mit .NET Core und .NET Framework-Anwendungen. Entwickler können fortgeschrittene Fähigkeiten erwerben, um moderne Anwendungen mit PDF-Generierungsfähigkeiten zu entwickeln, indem sie sowohl die IronPDF-Bibliothek als auch das Tye-Build-Tool kennen.

Chipego
Software-Ingenieur
Chipego hat eine natürliche Fähigkeit zum Zuhören, die ihm hilft, Kundenprobleme zu verstehen und intelligente Lösungen anzubieten. Er trat dem Iron Software-Team 2023 bei, nachdem er einen Bachelor of Science in Informationstechnologie erworben hatte. IronPDF und IronOCR sind die beiden Produkte, auf die sich Chipego konzentriert hat, aber sein Wissen über alle Produkte wächst täglich, da er neue Wege findet, Kunden zu unterstützen. Er genießt die Zusammenarbeit bei Iron Software, da Teammitglieder aus dem gesamten Unternehmen ihre unterschiedlichen Erfahrungen einbringen und so zu effektiven, innovativen Lösungen beitragen. Wenn Chipego nicht an seinem Schreibtisch sitzt, kann man ihn oft bei einem guten Buch oder beim Fußballspielen antreffen.
< PREVIOUS
C# Nito.Asyncex (Wie es für Entwickler funktioniert)
NÄCHSTES >
Quartz .NET (Wie es für Entwickler funktioniert)