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

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

準備はできましたか?
Nuget ダウンロード 34,704 | Version: 2025.11 リリース