How to Make an Engineering Support Request for IronPrint

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

IronPrintを改善し、発生している問題を解決するために、お時間を割いていただきありがとうございます。 私たちの機能や更新の大部分は顧客のリクエストによって推進されており、ソフトウェア開発は顧客と開発者の間の双方向の会話であると考えています。

効果的なサポートを提供するために、エンジニアチームは問題を効率的に再現し、リグレッションテストを作成する必要があります。 遭遇する問題のほとんどはプラットフォームやランタイムに特有であるため、非常に簡潔な情報が必要です。

すべてのサポートリクエストは support@ironsoftware.com まで送信してください。

問題の明確で簡潔な説明

良い技術レポートには、問題を再現するための十分な情報が含まれていなければなりません。 問題を同僚に報告するか、Stack Overflowに投稿していると想像してください。

バグレポートには以下を含めてください:

  • 経験した症状の明確な説明と、その原因に関するあなたの考え。
  • ログファイル(以下を参照)
  • 環境:IronPrintバージョン、OS、および.NETランタイムバージョン(該当する場合、正確なクラウド環境)

チケットを優先するため、できるだけ以下の項目を含めてください:

  • 問題を完全に再現する例のプロジェクト
  • Stack Overflowスタイルのコードスニペット(コードのスクリーンショットはご遠慮ください)
  • 症状/例外のスクリーンショット
  • 例外メッセージのテキスト(例外+内部例外)
  • プロセスが停止または終了するコード内の特定のデバッグポイント
  • 入力パラメータとアセット:画像とPDF

例のプロジェクトを添付する方法

問題を完全に再現することができる単独の例のプロジェクトは、エンジニアが問題を簡単に素早く認識し理解することを可能にします。

これは再現性のゴールドスタンダードであり、通常サポートリクエストをスタックの上位に加速します。

推奨フォーマットは、ジップされた、シンプルでスタンドアロンの.NETコンソールまたはウェブアプリプロジェクトです:

  • Google Driveまたは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
$vbLabelText   $csharpLabel
  • このコードブロックは、.NETアプリケーションで例外を処理する方法を示しています。
  • これは、メインの例外および内部のすべての例外をコンソールにログするもので、デバッグ目的に役立ちます。
Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はいいですか?
Nuget ダウンロード 34,016 | バージョン: 2025.11 ただ今リリースされました