Skip to content

JA 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 Learn。

Clone this wiki locally