aspnetcore-tooling/docs/ProjectsAndLayering.md

149 строки
4.5 KiB
Markdown
Исходник Обычный вид История

2023-04-06 03:13:30 +03:00
# Product Layers
2023-04-06 03:13:30 +03:00
## High Level Overview
2023-04-06 03:15:31 +03:00
![Layers](./overview.svg)
2023-04-06 03:13:30 +03:00
<details>
Created with https://www.sankeymatic.com/build/
Input:
```
RoslynWorkspace [1] ProjectEngineHost
MS.AspNetCore.Razor.LanguageServer [1] MS.AspNetCore.Razor.LanguageServer.Common
MS.AspNetCore.Razor.LanguageServer.Common [1] Compiler
MS.AspNetCore.Razor.LanguageServer.Common [1] Workspaces
ProjectEngineHost [1] Compiler
Workspaces [1] Compiler
Workspaces [1] ProjectEngineHost
OOP Tag Helper Discovery [1] Workspaces
MS.VS.Editor.Razor [1] Workspaces
MS.VS.LanguageServerClient.Razor [1] MS.AspNetCore.Razor.LanguageServer
MS.VS.LanguageServerClient.Razor [1] MS.AspNetCore.Razor.LanguageServer.Common
MS.VS.LanguageServerClient.Razor [1] Workspaces
MS.VS.LanguageServerClient.Razor [1] MS.VS.Editor.Razor
MS.VS.LanguageServerClient.Razor [1] ContainedLanguage
LanguageServices.VS [1] MS.VS.Editor.Razor
LiveShare [1] MS.VS.Editor.Razor
Mac.LanguageServices [1] MS.VS.Editor.Razor
VS Mac [1] Compiler
VS Mac [1] MS.VS.LanguageServerClient.Razor
VS Mac [1] Mac.LanguageServices
VS [1] MS.AspNetCore.Razor.LanguageServer
VS [1] MS.AspNetCore.Razor.LanguageServer.Common
VS [1] Workspaces
VS [1] OOP Tag Helper Discovery
VS [1] MS.VS.Editor.Razor
VS [1] ContainedLanguage
VS [1] MS.VS.LanguageServerClient.Razor
VS [1] LanguageServices.VS
VS [1] LiveShare
rzls [1] MS.AspNetCore.Razor.LanguageServer
```
</details>
## Details
2022-12-30 03:44:42 +03:00
### Shared
This project is shared between all layers (both compiler and tooling) to provide language support types for modern C# language features.
- Target Framework: `net8.0;netstandard2.0;net472`
- Projects:
- Microsoft.AspNetCore.Razor.Utilities.Shared
2022-12-30 03:44:42 +03:00
### Compiler
2024-02-20 16:54:20 +03:00
- Target Framework: `net8.0;netstandard2.0`
- Projects:
2024-02-20 16:54:20 +03:00
- Microsoft.CodeAnalysis.Razor.Compiler
2022-12-30 03:44:42 +03:00
### Tooling Core
These projects are referenced by most Razor tooling projects. Because of this, they
target the broadest set of frameworks.
- Target Framework: `net8.0;netstandard2.0;net472`
- Projects:
2023-04-06 02:54:24 +03:00
- Microsoft.AspNetCore.Razor.ProjectEngineHost
- Microsoft.CodeAnalysis.Razor.Workspaces
2022-12-30 03:44:42 +03:00
### Razor Language Server
- Target Framework: `net8.0;net472`
- Projects:
- Microsoft.AspNetCore.Razor.LanguageServer
- Microsoft.AspNetCore.Razor.LanguageServer.Common
- Microsoft.AspNetCore.Razor.LanguageServer.Protocol
2022-12-30 03:44:42 +03:00
### Razor Language Server (rzls)
- Target Framework: `net8.0`
- Projects:
- rzls
2022-12-30 03:44:42 +03:00
### Roslyn OOP (for Visual Studio)
- Target Framework: `netstandard2.0`
- Projects:
- Microsoft.CodeAnalysis.Remote.Razor
- Microsoft.CodeAnalysis.Remote.Razor.CoreComponents
2022-12-30 03:44:42 +03:00
### Visual Studio (Windows)
- Target Framework: `net472`
- Projects:
- Microsoft.VisualStudio.Editor.Razor
- Microsoft.VisualStudio.LanguageServer.ContainedLanguage
- Microsoft.VisualStudio.LanguageServerClient.Razor
- Microsoft.VisualStudio.LiveShare.Razor
- Microsoft.VisualStudio.RazorExtension
- Microsoft.VisualStudio.RazorExtension.Dependencies
- RazorDeployment
2023-04-06 02:54:24 +03:00
### Miscellaneous / Test hosting
- Target Framework: net7.0
- Projects:
- Microsoft.AspNetCore.Razor.ExternalAccess.RoslynWorkspace
2022-12-30 03:44:42 +03:00
## Testing Layers
2022-12-30 03:44:42 +03:00
### Shared test infra
- Microsoft.AspNetCore.Razor.Test.Common (`net8.0`;`net472`)
2022-12-30 03:44:42 +03:00
### API Shims
- Microsoft.AspNetCore.Razor.Test.ComponentShim (`netstandard2.0`)
- Microsoft.AspNetCore.Razor.Test.MvcShim (`net8.0`;`net472`)
- Microsoft.AspNetCore.Razor.Test.MvcShim.ClassLib (`netstandard2.0`)
- Microsoft.AspNetCore.Razor.Test.MvcShim.Version1_X (`net8.0`;`net472`)
- Microsoft.AspNetCore.Razor.Test.MvcShim.Version2_X (`net8.0`;`net4720`)
2022-12-30 03:47:07 +03:00
### Tooling Core Tests
- Microsoft.CodeAnalysis.Razor.Workspaces.Test (`net8.0`;`net472` - only on Windows)
- Microsoft.CodeAnalysis.Razor.Workspaces.Test.Common (`net8.0`;`net472`)
2022-12-30 03:44:42 +03:00
### Language Server
- Microsoft.AspNetCore.Razor.LanguageServer.Common.Test (`net8.0`)
- Microsoft.AspNetCore.Razor.LanguageServer.Test (`net8.0-windows`)
- Microsoft.AspNetCore.Razor.LanguageServer.Test.Common (`net8.0`;`net472`)
2022-12-30 03:44:42 +03:00
### Roslyn OOP (for Visual Studio) Tests
- Microsoft.CodeAnalysis.Remote.Razor.Test (`net8.0`;`net472` - only on Windows)
2022-12-30 03:44:42 +03:00
### Visual Studio Code (Windows)
- Microsoft.VisualStudio.Editor.Razor.Test (`net472`)
- Microsoft.VisualStudio.Editor.Razor.Test.Common (`net472`)
- Microsoft.VisualStudio.LanguageServer.ContainedLanguage.Test (`net472`)
- Microsoft.VisualStudio.LanguageServer.ContainedLanguage.Test.Common (`net472`)
- Microsoft.VisualStudio.LanguageServerClient.Razor.Test (`net472`)
- Microsoft.VisualStudio.LanguageServices.Razor.Test (`net472`)
- Microsoft.VisualStudio.LiveShare.Razor.Test (`net472`)
- Microsoft.VisualStudio.Razor.IntegrationTests (`net472`)