Architecture
July 18, 2019 ยท View on GitHub
![]() | ![]() |
Layering Rules:
- Assemblies cannot depend on the layer above it
- Assemblies below the Visual Studio layer cannot depend on the Visual Studio SDK (no dependency on IVsXXX) nor any CPS-VS assembly. This layer and below should be hostable and usable outside of Visual Studio.
Host-Agnostic Layer
| Assembly | Description |
|---|---|
| Microsoft.VisualStudio.ProjectSystem.Managed | Contains components that are shared between C#, F# and Visual Basic projects agnostic of host. |
Visual Studio Layer
| Assembly | Description |
|---|---|
| Microsoft.VisualStudio.ProjectSystem.Managed.VS | Contains components that are shared between C#, F# and Visual Basic projects. |
Visual Studio Designer Layer
| Assembly | Description |
|---|---|
| Microsoft.VisualStudio.AppDesigner | Contains the "Application Designer", which hosts property pages in a document window. |
| Microsoft.VisualStudio.Editors | Contains resources and settings editors, and C#, F# and Visual Basic property pages. |

