C# 10 - Reuse global usings in multiple projects
One of the great things coming in c# is the concept of global using statements, taking away all those pesky repetitive using blocks at the top of your files. Much like one has with the _ViewImports.cshtml one has in ASP.NET Core. The global using are per project, meaning that if you have multiple projects in your solution and you have a set of global using statements that should be in all these, you’d need to copy these around by default.
Luckily, with a bit of .csproj magic, we can have one file that gets included in all of these projects.
Lets say you have a file called GlobalUsings.cs at the root of your solution looking like the following:
1
2
global using System.Collections;
global using System.Reflection;
To leverage this in every project within your solution, you’d simply open the .csproj file of the project and add the following:
1
2
3
<ItemGroup>
<Compile Include="../GlobalUsings.cs"/> <!-- Assuming your file sits one level up -->
</ItemGroup>
This will then include this reusable file for the compiler.