IronPrint のエンジニアリングサポートリクエストの送信方法
IronPrint の改善と、発生している問題の解決にご協力いただきありがとうございます。 私たちの機能やアップデートの大部分はお客様のリクエストによって推進されており、ソフトウェア開発はお客様と開発者の間の双方向の対話であると考えています。
効果的なサポートを提供するために、エンジニアリングチームは問題を効率的に再現し、リグレッションテストを作成する必要があります。 私たちが遭遇する問題のほとんどはプラットフォームまたはランタイム固有であるため、非常に簡潔な情報を必要とします。
すべてのサポートリクエストをsupport@ironsoftware.comへ送信してください。
問題の簡潔で明確な説明
良い技術レポートは、問題を再現するために十分な情報を含まないといけません。 問題を同僚に報告するか、Stack Overflowに投稿すると想像してください。
バグレポートには以下を含める必要があります:
- 経験した症状の説明とその原因についての考え。
- ログファイル(以下参照)
- 環境: IronPrint バージョン、OS、.NET ランタイム バージョン (該当する場合は正確なクラウド環境)
チケットを優先するために以下の内容をできる限り多く含めてください:
- 問題を完全に再現するサンプルプロジェクト
- Stack Overflow スタイルのコードスニペット(コードのスクリーンショットは避けてください)
- 症状/例外のスクリーンショット
- 例外メッセージテキスト(例外+内部例外)
- プロセスがコード内で機能しなくなる、または終了する具体的なデバッグポイント
- 入力パラメータとアセット: 画像とPDF
例のプロジェクトの添付方法
問題を完全に再現する例のプロジェクトは、当社のエンジニアが単純かつ迅速に問題を認識し理解することを可能にします。
これは、再現可能性の_ゴールドスタンダード_であり、一般的にサポートリクエストを優先順位のトップに押し上げます。
私たちが推奨する形式は、ジップされた、シンプルでスタンドアロンな.NETコンソールまたはウェブアプリプロジェクトです:
- GoogleドライブやDropboxリンクを送る際は、完全な共有を有効にしてください。
- Bin フォルダはZIPファイルの肥大化を避けるため、必要ありません。
以下も含めてください:
- 入力ファイル(動作するものと動作しないもの)、PDFや画像を含めます。
// 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- このコード ブロックは、.NET アプリケーションで例外を処理する方法を示しています。
- メイン例外と内部例外をコンソールに記録します。これはデバッグに役立ちます。






