Repository navigation
KO CSharp Directive Reference
Codex edited this page Oct 11, 2026
·
2 revisions
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
스크립트 지시문은 스크립트 컴파일을 위해 미리 만들어진 관리되는 어셈블리를 추가합니다. 라이브러리는 지정된 경로에 존재해야 합니다.
이 예제를 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"먼저 나열된 라이브러리 파일을 저장하고 이에 대해 닷넷 빌드를 실행합니다(.csproj). #r 경로는 Debug/net10.0에 제공됩니다. NuGet 또는 종속성 집합의 경우 PackageReference와 함께 .csproj 시나리오를 즉시 사용하는 것이 더 편리합니다.
#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 학습.
ClassicUO — Bad Newbie & C# Scripts IDE