Compiler and tooling experience for Razor ASP.NET Core apps in Visual Studio, Visual Studio for Mac, and VS Code.
Перейти к файлу
David Wengier 4b3e4096e8
Cohost diagnostics support (#10882)
Fixes https://github.com/dotnet/razor/issues/10696
Fixes https://github.com/dotnet/razor/issues/10769
Fixes https://github.com/dotnet/razor/issues/10874
Needs Roslyn change: https://github.com/dotnet/roslyn/pull/75102

The actual code change was quite straight foward. The test code was a
bigger pain. Previously in cohosting tests we had two MEF composition,
one for Razor and one for Roslyn. Since Roslyn diagnostics can only run,
or at least start, in devenv, we now need three MEF compositions -
Roslyn devenv, Roslyn OOP and razor OOP - and two workspaces - Roslyn
devenv and Roslyn OOP - and our previous MEF infrastructure really
didn't handle this well, as evidenced by the fact that this PR also
fixes https://github.com/dotnet/razor/issues/10874

Now our MEF infra is simpler: We still cache catalogs etc. statically
the save time, but we create an `ExportProvider` as needed and expect
consumers to dispose of it like any other `IDisposable`, though there is
also here a test fixture to share the editor composition in the
formatting tests so we don't pay a huge penalty in terms of test run
time.

Commit-at-a-time if you want to read the story from beginning to end,
but it should be reasonably okay to just review as a whole too.
2024-09-18 14:11:37 +10:00
.config
.devcontainer Dev Container (#10751) 2024-08-19 15:43:03 -07:00
.github
.vscode Dev Container (#10751) 2024-08-19 15:43:03 -07:00
docs Use Basic.Reference.Assemblies in Mvc Extension tests (#10888) 2024-09-17 09:52:55 +02:00
eng Cohost diagnostics support (#10882) 2024-09-18 14:11:37 +10:00
src Cohost diagnostics support (#10882) 2024-09-18 14:11:37 +10:00
.editorconfig PR Feedback 2024-09-09 14:19:52 +10:00
.gitattributes
.gitignore
.globalconfig
.vsconfig
CODE-OF-CONDUCT.md
CONTRIBUTING.md
Directory.Build.props ExcludeFromSourceBuild->ExcludeFromSourceOnlyBuild (#10892) 2024-09-16 21:40:48 +00:00
Directory.Build.targets
Directory.Packages.props Bump WebTools and remove legacy CLaSP package 2024-08-30 14:55:54 +10:00
LICENSE.txt
NOTICE.txt Update NOTICE.txt (#10768) 2024-08-20 13:19:01 -07:00
NuGet.config Update dependencies from https://github.com/dotnet/arcade build 20240826.3 2024-08-27 19:24:28 +00:00
README.md
README_compiler.md
Razor.Slim.slnf Use Basic.Reference.Assemblies in Mvc Extension tests (#10888) 2024-09-17 09:52:55 +02:00
Razor.sln Use Basic.Reference.Assemblies in Mvc Extension tests (#10888) 2024-09-17 09:52:55 +02:00
SECURITY.md
SpellingExclusions.dic
activate.ps1
activate.sh
azure-pipelines-compliance.yml
azure-pipelines-conditional-integration.yml
azure-pipelines-integration-dartlab.yml
azure-pipelines-official.yml
azure-pipelines-richnav.yml
azure-pipelines.yml
build.cmd
build.ps1
build.sh
clean.cmd
clean.ps1
clean.sh
global.json Update dependencies from https://github.com/dotnet/arcade build 20240903.1 (#10835) 2024-09-04 12:33:30 -07:00
restore.cmd
restore.sh
startvs.cmd
startvs.ps1

README.md

ASP.NET Core Razor

This repository is the open-source implementation for the Razor experience in ASP.NET Core. It contains the compiler and IDE tools for working on Razor ASP.NET Core apps using Visual Studio and Visual Studio Code.

Contributing

All work on Razor happens directly on GitHub. Both core team members and external contributors send pull requests which go through the same review process. Some of the best ways to contribute are to try things out, file issues, join in design conversations, and make pull requests.

Getting Started with Razor

If you are unfamiliar with ASP.NET Core or Razor, follow the links below to learn more:

Also check out the .NET Homepage for released versions of .NET, getting started guides, and learning resources.

Reporting security issues and bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

Status

Build Status

These are some other repos for related projects:

Code of conduct

See CODE-OF-CONDUCT.md