On our last architecture board, one of the architects shared the following problem. After upgrading to Visual Studio 17.5 Razor ViewComponents were no longer rendered. Instead the viewcomponent tag remained on the page.
*UPDATE: In the meanwhile Visual Studio 2022 version 17.5.2 got released which contains a fix for the issue I'm explaining below*
This problem manifested not only on the local developer machine but also on the build server after upgrading the Visual Studio Build tools to 17.5. The root cause is a bug in the latest dotnet runtimes that are installed as part of the Visual Studio upgrade. It affects the following dotnet runtimes 6.0.14 and 7.0.3 that match with this SDK version: 6.0.114, 6.0.309, 6.0.406 for .Net 6 and 7.0.103, 7.0.200 and 7.0.201 for .Net 7.
As a workaround we included an extra build step in our yaml pipeline that uses a non affected SDK version:
Of course this would require all our teams to update their projects. So what we did instead was rolling back the Visual Studio version on the build server. This is a feature that recently got introduced so right on time to help us out with this problem.
Open the Visual Studio installer, click on More and choose Rollback to previous version.
**UPDATE: I was a little bit too fast when clicking publish for this post. After the rollback was completed, I noticed that the build server was still using the impacted MSBuild version (MSBuild version 17.5.0-preview-23061-01+040e2a90e for .NET).**
For more information and some other workaround check out this Github issue: ViewComponents called with the vc taghelper are broken on 7.0.3 · Issue #8281 · dotnet/razor (github.com)