When trying to build a C# project in Visual Studio 2022 v17.5, I got compiler errors. This was strange because the only thing that has changed was the Visual Studio version. Here is the exact error I got:
In this project I was using the Strawberry Shake GraphQL client. This client uses a custom GraphQL compiler build action and it was exactly this step that failed.
The quick fix
Let me first explain a quick fix. This problem is indeed related to the Visual Studio version which seems to became more strict on what is allowed and what not. To get rid of the error, restart your Visual Studio instance and run it under Administrator privileges.
Updating to Strawberry Shake 13
Unfortunately before I arrived at the quick fix above I took the long path and started an update to Strawberry Shake v13. This turned to be more work than I had expected.
Let me walk you through the steps:
- Remove the package references to StrawberryShake.CodeGeneration.CSharp.Analyzers and StrawberryShake.Transport.Http and replace it with the StrawberryShake.Server package:
dotnet add package StrawberryShake.Server
- Update the StrawberryShake CLI tools:
dotnet tool install StrawberryShake.Tools –local
Tool 'strawberryshake.tools' was successfully updated from version '12.0.1' to version '13.0.5' (manifest file C:\projects\Example\.config\dotnet-tools.json).
- Remove the custom build action for your GraphQL files. This is now done through C# source generators:
- Now something where I lost a lot of time on, the latest version only works for .NET 6 or higher. Unfortunately you don't get any error message but the code is not generated. So check that your project is using at least .NET Core 6:
That's it!