如何為 IronPrint 提交工程支援請求

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

感謝您抽出時間幫助我們改進 IronPrint 並解決您可能遇到的任何問題。 我們絕大多數的功能和更新都是由客戶要求驅動的,我們認為軟體開發是客戶和開發人員之間的雙向對話。

為了提供有效的支持,我們的工程團隊需要有效率地重現問題並建立回歸測試。 我們遇到的大多數問題都與平台或運行時有關,因此我們需要非常簡潔的資訊。

請將所有支援請求發送至support@ironsoftware.com

對問題的簡明扼要的描述

一份好的技術報告必須包含足夠的資訊來重現問題。 想像一下,你正在向同事報告問題,或是在 Stack Overflow 上發布問題。

錯誤報告應包含以下內容:

  • 清楚描述您所經歷的症狀,以及您對症狀成因的任何想法。
  • 日誌檔(見下圖)
  • 環境:IronPrint 版本、作業系統和 .NET 執行時期版本(如適用,請提供確切的雲端環境資訊)

為了優先處理您的工單,請盡可能提供以下資訊:

  • 一個能夠完全重現該問題的範例項目
  • 一段類似 Stack Overflow 風格的程式碼片段(請勿截圖程式碼)
  • 症狀/異常情況的螢幕截圖
  • 異常訊息文字(異常 + 內部異常)
  • 程式停止運作或退出的具體調試點(程式碼中)。
  • 輸入參數和資源:影像和 PDF

如何附加範例項目

一個能夠準確地重現整個問題的範例項目,可以讓我們的工程師簡單快速地識別和理解問題。

這是可復現性的黃金標準,通常可以加快支援請求到達最高層級的處理速度。

我們首選的格式是壓縮的、簡單的、獨立的.NET控制台或Web應用程式專案:

  • 傳送 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.");
        }
    }
}
$vbLabelText   $csharpLabel
  • 此程式碼區塊示範如何在 .NET 應用程式中處理例外狀況。
  • 它會將主要異常以及任何內部異常記錄到控制台,這對於偵錯目的非常有用。
柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。

準備好開始了嗎?
Nuget 下載 36,035 | 版本: 2025.12 剛剛發布