Skip to content

ZH TW CSharp Directive Reference

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

將組件連接到.csx

使用手冊C# · 實用指南

script 指令新增了一個現成的託管程序集用於腳本編譯。該庫必須存在於指定路徑中。

簡單範例 (Example.csx)

請將此範例另存為 Example.csx,並與本頁其他範例分開執行。

Example.csx:

#r "Library.dll"
UO.Print(Demo.Number.Value.ToString());

Library.cs:

// PROJECT-EXAMPLE
namespace Demo; public static class Number { public static int Value => 7; }

Library.csproj:

<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><TargetFramework>net10.0</TargetFramework><EnableDefaultCompileItems>false</EnableDefaultCompileItems></PropertyGroup><ItemGroup><Compile Include="Library.cs" /></ItemGroup></Project>
dotnet build Library.csproj -o .

結果:

7

句法

#r "path/Library.dll"

首先,保存列出的庫檔案並為其運行 dotnet 建置.csproj。 #r 路徑是為 Debug/net10.0 給出的。對於NuGet或一組依賴項,立即將場景.csproj與PackageReference一起使用會更方便。

數學函數庫

#r "ApiLibrary/bin/Debug/net10.0/ApiLibrary.dll"
UO.Print(Demo.Tools.Double(4).ToString());

文件ApiLibrary/ApiLibrary.csproj:

<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><TargetFramework>net10.0</TargetFramework></PropertyGroup></Project>

文件ApiLibrary/Tools.cs:

namespace Demo; public static class Tools { public static int Double(int value) => value * 2; }

自有模型庫

#r "Models/bin/Debug/net10.0/Models.dll"
Demo.Point point = new(2, 3);
UO.Print((point.X + point.Y).ToString());

文件Models/Models.csproj:

<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><TargetFramework>net10.0</TargetFramework></PropertyGroup></Project>

文件Models/Point.cs:

namespace Demo; public readonly record struct Point(int X, int Y);

官方來源:Microsoft學習。

Clone this wiki locally