Инструмент для анализа C# проектов и решений с использованием Roslyn анализаторов и системы приоритетов.
Rust-Build - это консольное приложение, которое анализирует C# проекты и решения (.sln, .csproj), используя:
- Microsoft Build (MSBuild) для загрузки проектов
- Roslyn анализаторы для статического анализа кода
- Систему приоритетов для группировки и отображения ошибок
- Автоматическое обнаружение файлов решений и проектов
- Анализ всех проектов в решении
- Поддержка пользовательских анализаторов
- Система приоритетов для группировки ошибок
- Детальный вывод с контекстом кода
- Цветной вывод в консоль
- .NET 8.0 SDK
- Установленный MSBuild (обычно поставляется с .NET SDK)
- Клонируйте репозиторий:
git clone <repository-url>
cd rust-build- Восстановите зависимости:
dotnet restore- Соберите проект:
dotnet build- Запустите анализ:
# Анализ текущей директории
dotnet run
# Анализ конкретного файла или директории
dotnet run /path/to/project.csproj
dotnet run /path/to/solution.sln
dotnet run /path/to/directoryФайл linter_config.json содержит настройки приоритетов для различных типов ошибок:
{
"PriorityLevels": [
{
"Level": 1,
"Name": "Critical Compiler Errors",
"Rules": ["SMB002"]
},
{
"Level": 2,
"Name": "Unused Code and Hooks",
"Rules": ["RUST003", "RUST007"]
}
]
}Level: Числовой приоритет (меньше = выше приоритет)Name: Описательное название уровняRules: Массив идентификаторов правил анализаторов
# Анализ текущей директории
dotnet run
# Анализ конкретного проекта
dotnet run ./MyProject.csproj
# Анализ решения
dotnet run ./MySolution.slnПрограмма выводит:
- Информацию о загруженных проектах
- Ошибки и предупреждения с приоритетами
- Контекст кода для каждой ошибки
- Итоговую сводку
Loading: /path/to/project.csproj
Project loaded successfully: MyProject
----------------------------------------------------
Analyzing project: MyProject
Displaying issues for Level 1: Critical Compiler Errors
❌ /path/to/file.cs(15,10): error SMB002: Some error message
> 13 | public class MyClass
> 14 | {
> 15 | private string _field;
> 16 | }
> 17 |
| ^
Total: 1 errors, 0 warnings.
----------------------------------------------------
Analysis finished. Errors or warnings found.
Microsoft.Build.Locator(1.7.8) - для регистрации MSBuildMicrosoft.CodeAnalysis.Workspaces.MSBuild(4.10.0) - для работы с MSBuild workspaceNewtonsoft.Json(13.0.3) - для парсинга конфигурации
[Укажите лицензию проекта]