IRONSOFTWAREHOME
開發者更新

tye .NET(對於開發者的運行原理)

Jacob Mellor,首席技術官 @ Team Iron
Jacob Mellor
Updated: 2026年4月23日

在現代軟體開發的環境中,建構和部署分散式應用程式可能會是複雜且具有挑戰性的。 管理多個服務、相依性和部署環境通常需要付出相當的努力和協調。 為了解決這些挑戰,Microsoft 推出了Project Tye,這是一種開發工具,旨在簡化.NET應用程式的開發、測試和部署。 在本文中,我們將深入探討Tye的世界,探索其功能、優勢以及對.NET開發人員的實際應用。 我們還將了解IronPDF,這是來自Iron Software的PDF生成程式庫,並在實際範例中使用Tye和IronPDF。

了解 Project Tye .NET

Tye是一個開源實驗性開發工具,可以以最少的配置簡化.NET專案應用程式的構建、測試和部署過程。 由Microsoft工程團隊開發的Tye旨在透過提供一種一致且有見地的方法來管理微服務及其相依性,以簡化開發工作流程。 在其核心,Tye擁抱容器化、編排和開發人員生產力的原則,以實現無縫的應用程式開發和部署。

Tye .NET 的主要功能

1. 服務發現和依賴管理

Tye 自動檢測和管理.NET應用程式內服務之間的依賴關係。 它利用專案元資料和Docker容器推斷服務關係,使得在微服務之間的溝通和協調變得更容易。 這使得開發具有多個專案的微服務變得更容易。

2. 整合開發體驗

Tye 與 Visual Studio 和 Visual Studio Code 無縫整合,為.NET 開發人員提供一個熟悉的開發環境。 它提供用於除錯、日誌和監控應用程式元件的工具,使得在開發過程中快速迭代和故障排除成為可能。

3. Docker 容器化

Tye 採用 Docker 容器作為.NET 應用程式的部署單位。 它基於專案配置自動生成每個服務的 Dockerfiles,促進開發和生產環境中一致和可重複的容器構建,使測試和部署微服務變得容易。

4. 本地開發環境

Tye 通過在單一環境中編排依賴項和服務來簡化本地開發。 開發人員可以通過單一命令啟動整個應用程式堆疊,消除手動設置和配置依賴項的需要。

5. 部署到 Kubernetes

Tye 提供了將.NET應用程式部署到 Kubernetes 集群的內建支援。 它根據專案規格生成 Kubernetes 配置和 Helm charts ,簡化了部署過程,促進在雲原生環境中容器編排的最佳實踐。

6. 監控和可觀察性

Tye 與如 Prometheus 和 Grafana 等流行的可觀察性工具整合,提供應用程式性能和健康狀況的洞見。 它從應用程式元件中出口指標和日誌,使開發人員能夠監控資源使用、識別瓶頸以及實時診斷問題。

使用 Tye 的實際應用

讓我們來探討一些 Tye 可以簡化.NET應用程式開發和部署的實際場景:

1. 本地開發環境

# Start Tye in local development mode with the tye run command
tye run
SHELL

2. Docker 容器化

# Build Docker images for Tye services with the available solution file
tye build
SHELL

3. 部署到 Kubernetes

# Deploy Tye application to Kubernetes cluster 
tye deploy --interactive # deploy microservices and distributed applications
SHELL

開始使用 Tye

要開始使用 Tye:

  1. 在您的機器上安裝 .NET Core 3.1(不支援更高版本)。

  2. 使用以下命令將 Tye 安裝為全球工具:

dotnet tool install -g Microsoft.Tye --version "0.2.0-alpha.20258.3"
SHELL
  1. 為您的微服務建立一個新的資料夾。

  2. 導航到該資料夾並建立一個前端專案(例如,Razor Pages):

mkdir microservices
cd microservices
dotnet new razor -n frontend  # frontend service
SHELL
  1. 執行前端專案,啟動 Tye 儀表板:
tye run frontend  # run frontend project
SHELL

這將構建、運行和監控前端應用程式。 您可以存取 http://localhost:8000 的 Tye 儀表板來查看您的服務狀態。

Tye 的配置架構

Tye 有一個可選的配置文件,tye.yaml,可以自定義設置。 此 YAML 文件包括您所有的專案和外部依賴項。 如果您已有現有的解決方案,Tye 將自動填入您所有的當前專案。

要初始化此 YAML 文件,請導航到微服務目錄並運行以下命令以生成預設的 tye.yaml 文件:

tye init
SHELL

建立了一個 tye.yaml 文件,如下所示:

name: myawesomeapplication
services:
- name: backendtest
  project: backend/backend.csproj
  bindings:
  - port: 7000
- name: frontendtest
  project: frontend/frontend.csproj
  replicas: 2
  bindings:
  - port: 8000
- name: workertest
  project: worker/worker.csproj
- name: rabbit
  image: rabbitmq:3-management
  bindings:
    - port: 5672
      protocol: rabbitmq
Text

使用 Tye 的好處

  1. 簡化的開發工作流程: Tye 通過提供一套統一的工具來簡化開發工作流程,以便在本地構建、測試和除錯.NET應用程式。
  2. **加速上市時間:**通過自動化諸如服務發現、依賴管理和容器化等常見任務,Tye 減少了將應用程式部署到生產環境所需的時間和精力。
  3. 改進的協作: Tye 為開發、運營和 DevOps 團隊提供了一個通用平台來管理應用程式依賴項和部署配置,從而促進協作。
  4. 雲原生就緒: Tye 為.NET應用程式提供在雲原生環境(如 Kubernetes)中運行所需的工具和做法,使組織可以安心地迎接現代基礎設施範式。
  5. **社區支持和貢獻:**作為一個由 Microsoft 支持的開源專案,Tye 受益於充滿活力的貢獻者和使用者社群,他們積極參與其開發、文件和生態系統的貢獻。

Project Tye 授權

Project Tye 有MIT 授權,可免費用於開發和商業目的。

介紹IronPDF

tye .NET (開發者如何使用):圖 1 - IronPDF for .NET: C# PDF 程式庫

IronPDF是一個強大的 C# 程式庫,專為從 HTML、CSS、圖像和 JavaScript 建立、編輯和簽署 PDF 而設計。 它提供商業級性能,佔用記憶體少。

IronPDF的主要功能

1. HTML 到 PDF 轉換

將 HTML 文件、HTML 字串和 URL 轉換為 PDF。 例如,使用 Chrome PDF 渲染器將網頁呈現為 PDF。

2. 跨平臺支持

相容多個 .NET 平臺,包括 .NET Core、.NET Standard 和 .NET Framework。 它支持 Windows、Linux 和 macOS。

3. 編輯和簽署

設置屬性,使用密碼和許可權增加安全性,並對您的 PDF 應用數位簽名。

4. 頁面模板和設置

使用頁眉、頁腳、頁碼和可調邊距自定義 PDF。 支持響應式佈局和自定義紙張大小。

5. 標準合規性

符合 PDF 標準,如 PDF/A 和 PDF/UA。 支持 UTF-8 字元編碼,並處理圖像、CSS 和字體等資產。

現在讓我們看看使用這兩個程式庫的實際範例。

使用 IronPDF 生成 PDF 文件,並使用 Tye 運行

首先,我們來建立一個 Visual Studio Razor 應用程式。 打開 Visual Studio 建立一個新專案,並選擇如下面所示的 Razor 應用程式。

tye .NET (開發者如何使用):圖 2 - 打開 Visual Studio 並建立一個新的 ASP.NET Core Web App (Razor Pages)。

提供專案名稱和位置。

tye .NET (開發者如何使用):圖 3 - 指定專案名稱和位置以配置專案。 然後點擊"下一步"。

在下一步中,選擇 .NET Framework 版本,然後點擊"建立"。 由於 Tye 僅適用於 .NET 3.1,我們將選擇相同的版本。

tye .NET (開發者如何使用):圖 4 - 選擇 .NET Core 3.1 框架,然後點擊

從 Visual Studio 套件管理員中安裝來自 NuGet 套件的 IronPDF。

tye .NET (How It Works For Developers): Figure 5 - Install IronPDF using the Manage NuGet Package for Solution by searching "IronPDF" in the search bar of NuGet Package Manager, then select the project and click on the Install button.

接下來,打開文件瀏覽器並導航到解決方案資料夾。 然後打開 CMD 提示符。

使用以下命令安裝 Tye:

dotnet tool install -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
SHELL

或者如果您已安裝 Tye 並想更新它,請使用以下命令:

dotnet tool update -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
SHELL

使用以下命令初始化 Tye:

tye init
SHELL

這將建立一個如下所示的樣板 YAML 文件:

# tye application configuration file
# read all about it at https://github.com/dotnet/tye
#
# when you've given us a try, we'd love to know what you think:
#    https://aka.ms/AA7q20u
#
# define global settings here
# name: exampleapp # application name
# registry: exampleuser # dockerhub username or container registry hostname
# define multiple services here
services:
- name: frontend
  project: Frontend\Frontend.csproj # msbuild project path (relative to this file)
  # executable: app.exe # path to an executable (relative to this file)
    args: -f=netcoreapp3.1 # arguments to pass to the process
  # replicas: 5 # number of times to launch the application
  # env: # array of environment variables
  #  - name: key
  #    value: value
  # bindings: # optional array of bindings (ports, connection strings)
    # - port: 8080 # number port of the binding
Text

使用以下命令運行 Tye:

tye run frontend
SHELL

這將在 URL:http://127.0.0.1:8000/ 打開 Tye 儀表板以查看應用運行狀態。

Tye 儀表板

tye .NET (開發者如何使用):圖 6 - 使用 Tye 運行在本地主機上的 Razor 應用程式

接下來,將以下程式碼新增到項目中,以通過單擊按鈕從任何網站 URL 生成 PDF 文件。

將以下程式碼新增到 Index.cshtml 文件中:

@page
@model IndexModel
@{
    ViewData["Title"] = "Generate PDF";
}
<form method="post" class="text-center flex-row">
    <h1 class="display-4">Welcome To URL To PDF Generator</h1>
    <p>Enter Website URL:</p>
    <input type="text" asp-for="UrlInput" />
    <button type="submit">Generate PDF</button>
    @if (Model.Message != null)
    {
        <p>@Model.Message</p>
    }
</form>
Text

然後將以下程式碼新增到 Index.cshtml.cs 中:

using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Logging;

namespace Frontend.Pages
{
    public class IndexModel : PageModel
    {
        public string Message { get; set; }
        
        [BindProperty]
        public string UrlInput { get; set; }
        
        private readonly ILogger<IndexModel> _logger;

        public IndexModel(ILogger<IndexModel> logger)
        {
            _logger = logger;
        }
        
        public void OnGet()
        {
        }
        
        public IActionResult OnPost()
        {
            if (string.IsNullOrEmpty(UrlInput))
            {
                ModelState.AddModelError("UrlInput", "Please enter a URL.");
                return Page();
            }
            
            // Create a PDF from the given URL using ChromePdfRenderer
            var renderer = new ChromePdfRenderer();
            var pdf = renderer.RenderUrlAsPdf(UrlInput);
            
            // Return the PDF as a file result
            var pdfBytes = pdf.BinaryData;
            return File(pdfBytes, "application/pdf", "GeneratedDocument.pdf");
        }
    }
}

現在如下所示運行 Tye:

tye .NET (開發者如何使用):圖 7 - 通過命令運行 tye:tye run frontend

這將啟動 Tye 儀表板。

tye .NET (開發者如何使用):圖 8 - Tye 儀表板

現在,點擊綁定部分中的任何連結以打開 PDF 生成應用程式,並輸入範例 URL 進行 PDF 生成。

tye .NET (開發者如何使用):圖 9 - 使用 IronPDF 的 URL 到 PDF 生成器

單擊生成按鈕以獲得以下 PDF 作為輸出:

tye .NET (開發者如何使用):圖 10 - 使用 IronPDF 將 HTML URL 轉換為 PDF

程式碼說明

  1. Index.cshtml 包含輸入字段和按鈕以捕獲網站 URL 並觸發 PDF 生成。
  2. Index.cshtml.cs 是包含使用 IronPDF生成 PDF文件邏輯的後置程式碼文件。
  3. ChromePdfRenderer 類和 RenderUrlAsPdf() 方法用於從 URL 生成 PDF。
  4. 生成的 URL 作為對 POST 方法的響應返回。
  5. tye run 命令將啟動 Tye 儀表板,您可以在此處查看所有正在運行的服務。
  6. 點擊 Tye 儀表板中的前端服務以打開應用程式並生成 PDF 文件。

IronPDF 授權

存取 IronPDF 授權頁面。

將授權金鑰放在 appSettings.json 文件中,如下所示:

{
  "IronPdf.License.LicenseKey": "The Key Here"
}
JSON

結論

總之,Tye代表了.NET 生態系統中的一個重要進步,提供了一種簡化的方式來構建、測試和部署分散式應用程式。 無論您是經驗豐富的.NET開發者,還是剛接觸容器化和微服務,Tye都提供了一個使用者友好的平臺來採用現代開發實踐,並加速您的雲原生架構之旅。

IronPDF 是一個.NET 程式庫,允許開發人員輕鬆地從 HTML 內容建立、操作和渲染 PDF 文件。 它支持將 HTML 轉換為 PDF、合併和拆分 PDF,並增加頁眉、頁腳和水印。 IronPDF 以其易用性、高品質渲染和與 .NET Core 和 .NET Framework 應用程式的相容性而著稱。 了解IronPDF程式庫和Tye構建工具的開發人員可以獲得開發現代應用程式的高級技能,實現 PDF 生成功能。

Jacob Mellor,首席技術官 @ Team Iron
首席技術官

Jacob Mellor是Iron Software的首席技術官,一位在C# PDF技術上開創先河的遠見工程師。作為Iron Software核心程式碼庫的原開發者,他從創立以來就一直在塑造公司的產品架構,與首席執行官Cameron Rimington一起將公司轉變為服務於NASA、特斯拉和全球政府公司的50多名人員的公司。

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密。
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起