Skip to content

Solution structure

Zev Spitz edited this page Jun 26, 2019 · 10 revisions

Some general rules:

  • Projects whose name starts with Visualizer are visualizer-related projects
  • Projects whose name starts with Tests are test- and test-related projects
  • Projects whose name starts with _ are scratchpad projects, tests of various expression trees using the visualizer development host

Code itself (not tests) lives in these two projects:

Project Description Type Contains Depends on
Shared Rendering library code Shared code ToString extension methods
Formatters
Literal rendering
Format string parsing
Visualizer.Shared Visualizer code Shared code VisualizerData
VisualizerWindow
VisualizerDataControl
WpfAutoGrid
Shared

Projects which describe various deployments:

| Project | Description | Type | Depends on | | -- | -- | -- | -- | -- | | ExpressionToString | Builds the NuGet package | .NET Standard 2.0 | Shared | | Visualizer.2017 | Builds the visualizer against VS 2017 | .NET Framework class library | Visualizer.Shared
Shared | Visualizer.2019 | Builds the visualizer against VS 2019 | .NET Framework class library | Visualizer.Shared
Shared

Test (and test-related) projects

Project Description Type Contains Depends on
Tests.Common Base class supplying test expressions .NET Core xUnit test project CompilerGeneratedBase
ConstructedBase
Shared
Tests.Common.VB Base class supplying VB.NET compiler-generated test expressions .NET Core xUnit test project VBCompilerGeneratedBase
Tests.DotNetCore Rendering library tests
Format string parsing tests
Literal rendering tests
.NET Core xUnit test project Tests.Common
Tests.Common.VB
Tests.Visualizer VisualizerData tests .NET Framework Visualizer.Shared
Tests.Common
Tests.Common.VB
Tests.DataGenerator Generates initial test data for a given formatter .NET Core Tests.Common
Tests.Common.VB