Comment soumettre une demande d'assistance technique pour IronPrint

This article was translated from English: Does it need improvement?
Translated
View the article in English

Nous vous remercions d'avoir pris le temps de nous aider à améliorer IronPrint et à résoudre les problèmes que vous pourriez rencontrer. La grande majorité de nos fonctionnalités et mises à jour sont motivées par les demandes des clients, et nous considérons le développement logiciel comme une conversation à double sens entre nos clients et nos développeurs.

Pour fournir un support efficace, notre équipe d'ingénieurs doit répliquer efficacement les problèmes et créer des tests de régression. La plupart des problèmes que nous rencontrons sont spécifiques à la plateforme ou au runtime, donc nous avons besoin d'informations très concises.

Veuillez envoyer toutes les demandes de support à support@ironsoftware.com.

Une description concise et claire du problème

Un bon rapport technique doit inclure suffisamment d'informations pour reproduire le problème. Imaginez que vous signalez le problème à un collègue ou que vous le publiez sur Stack Overflow.

Un rapport de bogue doit contenir :

  • Une description claire des symptômes rencontrés et toute idée que vous pourriez avoir à propos de leur cause.
  • Fichiers de journalisation (voir ci-dessous)
  • Environnement : version d'IronPrint, système d'exploitation et version du runtime .NET (environnement cloud exact, le cas échéant).

Veuillez inclure autant de ces éléments que possible, pour prioriser votre ticket :

  • Un projet exemple qui reproduit entièrement le problème
  • Un extrait de code de style Stack Overflow (veuillez ne pas faire de capture d'écran du code)
  • Captures d'écran des symptômes/exceptions
  • Texte du message d'exception (Exception + Exception interne)
  • Le point de débogage spécifique où le processus s'arrête ou sort dans le code
  • Paramètres et ressources d'entrée : image et PDF

Comment attacher un projet exemple

Un projet exemple qui reproduit avec précision un problème entier isolément permet à nos ingénieurs de reconnaître et comprendre simplement et rapidement un problème.

C'est la norme d'or pour la reproductibilité et accélérera généralement une demande de support vers le haut de la pile.

Notre format préféré est un projet autonome simple sous forme d'application console ou web .NET, zippée :

  • Veuillez activer le partage complet lors de l'envoi d'un lien Google Drive ou Dropbox.
  • Le dossier Bin n'est pas requis, car son inclusion augmente le zip.

Veuillez également inclure :

  • Fichiers d'entrée (fonctionnels et non fonctionnels), y compris les PDF et les images.
// Example of how to capture exceptions and log them
using System;

namespace IronPrintSupportRequest
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // Simulate a part of your process where an exception might occur
                ProcessIronPrintJob();
            }
            catch (Exception ex)
            {
                // Log the exception details
                Console.WriteLine("An error occurred:");
                Console.WriteLine($"Message: {ex.Message}");
                Console.WriteLine($"Stack Trace: {ex.StackTrace}");

                // If there's an inner exception, log that as well
                if (ex.InnerException != null)
                {
                    Console.WriteLine("Inner Exception:");
                    Console.WriteLine($"Message: {ex.InnerException.Message}");
                    Console.WriteLine($"Stack Trace: {ex.InnerException.StackTrace}");
                }
            }
        }

        static void ProcessIronPrintJob()
        {
            // Simulate a function that may throw an exception
            throw new InvalidOperationException("Simulated exception for demonstration purposes.");
        }
    }
}
// Example of how to capture exceptions and log them
using System;

namespace IronPrintSupportRequest
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // Simulate a part of your process where an exception might occur
                ProcessIronPrintJob();
            }
            catch (Exception ex)
            {
                // Log the exception details
                Console.WriteLine("An error occurred:");
                Console.WriteLine($"Message: {ex.Message}");
                Console.WriteLine($"Stack Trace: {ex.StackTrace}");

                // If there's an inner exception, log that as well
                if (ex.InnerException != null)
                {
                    Console.WriteLine("Inner Exception:");
                    Console.WriteLine($"Message: {ex.InnerException.Message}");
                    Console.WriteLine($"Stack Trace: {ex.InnerException.StackTrace}");
                }
            }
        }

        static void ProcessIronPrintJob()
        {
            // Simulate a function that may throw an exception
            throw new InvalidOperationException("Simulated exception for demonstration purposes.");
        }
    }
}
' Example of how to capture exceptions and log them
Imports System

Namespace IronPrintSupportRequest
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Try
				' Simulate a part of your process where an exception might occur
				ProcessIronPrintJob()
			Catch ex As Exception
				' Log the exception details
				Console.WriteLine("An error occurred:")
				Console.WriteLine($"Message: {ex.Message}")
				Console.WriteLine($"Stack Trace: {ex.StackTrace}")

				' If there's an inner exception, log that as well
				If ex.InnerException IsNot Nothing Then
					Console.WriteLine("Inner Exception:")
					Console.WriteLine($"Message: {ex.InnerException.Message}")
					Console.WriteLine($"Stack Trace: {ex.InnerException.StackTrace}")
				End If
			End Try
		End Sub

		Private Shared Sub ProcessIronPrintJob()
			' Simulate a function that may throw an exception
			Throw New InvalidOperationException("Simulated exception for demonstration purposes.")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel
  • Ce bloc de code illustre comment gérer les exceptions dans une application .NET.
  • Il consigne l'exception principale ainsi que toutes les exceptions internes dans la console, ce qui peut être utile à des fins de débogage.
Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 34,704 | Version: 2025.11 vient de sortir