What I am building

I develop RoslynIndexer as a structural analysis layer that prepares a repository for later search and reasoning. Instead of building someone else’s solution, it loads solutions with MSBuildWorkspace, reads Roslyn structure, and collects relationships between entities. Optional stages examine T-SQL scripts, Entity Framework, inline SQL in C#, and migrations. Results are exported as portable ZIP bundles.

Inspecting without building

Real repositories may require legacy SDKs, servers, packages, or unavailable services to build. In RoslynIndexer I deliberately separate project evaluation from compilation. Unknown project types can be skipped while the analysis focuses on source structure that is accessible.

Code and database in one dependency picture

C# is only part of the picture. Tables, stored procedures, and migrations often explain application behavior better than an isolated method. I combine Roslyn with an optional SQL/ORM graph and prepare data for other tools to consume without re-indexing the entire source.

A portable result format

The bundle contains artifacts such as chunks.json, dependencies.json, nodes.csv, edges.csv, and graph.json. It can feed LocalAI-RAG or other analysis tools. The output is distinct from the original repository and from any particular user interface.

Project scope

  • Reads MSBuild projects and Roslyn structure without building the solution or running its code
  • Classes, method fragments, and C# dependencies
  • SQL object and EF relationship graph, including inline SQL
  • Export of regular_code_bundle and sql_code_bundle
  • .NET 9 and .NET Framework 4.8 variants