Reo.Core.CodeGeneratorTesting 10.0.30

There is a newer version of this package available.
See the version list below for details.
dotnet add package Reo.Core.CodeGeneratorTesting --version 10.0.30
                    
NuGet\Install-Package Reo.Core.CodeGeneratorTesting -Version 10.0.30
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Reo.Core.CodeGeneratorTesting" Version="10.0.30" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Reo.Core.CodeGeneratorTesting" Version="10.0.30" />
                    
Directory.Packages.props
<PackageReference Include="Reo.Core.CodeGeneratorTesting" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Reo.Core.CodeGeneratorTesting --version 10.0.30
                    
#r "nuget: Reo.Core.CodeGeneratorTesting, 10.0.30"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Reo.Core.CodeGeneratorTesting@10.0.30
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Reo.Core.CodeGeneratorTesting&version=10.0.30
                    
Install as a Cake Addin
#tool nuget:?package=Reo.Core.CodeGeneratorTesting&version=10.0.30
                    
Install as a Cake Tool

Reo.Core.CodeGeneratorTesting

Описание пакета

Пакет Reo.Core.CodeGeneratorTesting предоставляет набор утилит для тестирования генераторов кода на основе Roslyn. Он позволяет создавать и настраивать тестовые среды для проверки работы генераторов кода, включая добавление дополнительных файлов, построение компиляций и настройку драйверов генераторов.

Какую проблему решает

Пакет решает проблему сложности тестирования генераторов кода в изолированных условиях. Он позволяет:

  • Добавлять пользовательские файлы в процесс генерации.
  • Создавать виртуальные компиляции для проверки результатов генерации.
  • Настраивать драйверы генераторов с поддержкой дополнительных данных.

Основные компоненты

1. TestingGeneratorDriverBuilder

Назначение: Построитель драйвера генератора кода с поддержкой дополнительных текстовых файлов. Функции:

  • Добавляет дополнительные текстовые файлы в процесс генерации.
  • Создаёт драйвер генератора с настроенными параметрами.

2. TestingAdditionalText

Назначение: Реализация интерфейса AdditionalText для предоставления пользовательских файлов в процессе генерации. Функции:

  • Читает содержимое файла из указанного пути.
  • Возвращает текст в формате SourceText для использования в Roslyn.

3. TestingCompilationBuilder

Назначение: Построитель виртуальной компиляции для тестирования генераторов кода. Функции:

  • Добавляет синтаксические деревья (.cs файлы) в компиляцию.
  • Добавляет метаданные (например, ссылки на сборки).
  • Создаёт компиляцию для тестирования генератора.

Требования

  • .NET версия: net8.0
  • Зависимости:
    • Microsoft.CodeAnalysis.Common
    • Microsoft.CodeAnalysis.CSharp

Установка

Через NuGet Package Manager:

Install-Package Reo.Core.CodeGeneratorTesting

Через .NET CLI:

dotnet add package Reo.Core.CodeGeneratorTesting

Настройка

DI-контейнер: N/A Пакет не требует регистрации в DI-контейнере, так как предоставляет утилиты для тестирования, а не сервисы приложения.

Конфигурационные параметры: N/A Пакет не требует настройки через конфигурационные файлы.

Использование

Пример 1: Создание драйвера генератора с дополнительным файлом

var driver = new TestingGeneratorDriverBuilder()
    .WithAdditionalText("path/to/additional/file.txt")
    .Build<MyCustomGenerator>();

Пример 2: Построение виртуальной компиляции

var compilation = new TestingCompilationBuilder()
    .AddSyntaxTree(SourceText.From("class Test { }"))
    .AddMetadataReferenceFromType(typeof(object))
    .Build();

Пример 3: Использование в тесте генератора

var driver = new TestingGeneratorDriverBuilder()
    .WithAdditionalText("path/to/template.cs")
    .Build<MyCustomGenerator>();

var result = driver.RunGenerators(compilation);

Лицензия

Данный пакет распространяется под лицензией MIT.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.0.32 0 2/13/2026
10.0.31 0 2/13/2026
10.0.30 24 2/12/2026
10.0.29 27 2/12/2026
10.0.28 32 2/11/2026
10.0.27 63 2/11/2026
10.0.26 83 2/9/2026
10.0.25 87 2/9/2026
10.0.24 86 2/9/2026
10.0.23 84 2/9/2026
10.0.22 88 2/9/2026
10.0.21 85 2/9/2026
10.0.20 86 2/9/2026
10.0.15 81 2/6/2026
10.0.14 86 2/6/2026
10.0.13 87 2/4/2026
10.0.12 82 2/3/2026
10.0.11 84 2/2/2026
10.0.10 80 1/29/2026
10.0.9 83 1/29/2026
Loading failed