You can absolutely create an
AssemblyInfo.cs file and configure your assembly like you did in the past. Of course, since the properties are set using assembly attributes, you do not need to use
AssemblyInfo but can choose any other file name or even an existing one.
That being said, the reason that the
AssemblyInfo.cs is no longer included in the default templates is that the new SDK-style project type supports setting this information within the
csproj project file.
So the usual approach to setting the version of your assembly would be to set the
Version property within your project file (or have that automatically set as part of your build process). For example:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp3.0</TargetFramework> <Version>1.2.3</Version> </PropertyGroup> … </Project>
Since this is a MSBuild property, you can also set this during the build process e.g. with
dotnet build /p:Version=1.2.3.
There are also the properties
VersionSuffix which can be used to automatically construct version numbers from the environment (e.g. Git commit ids, or build numbers).
In addition to the version related properties, there are also some more NuGet properties you can set in the project file, which makes the
AssemblyInfo.cs mostly redundant.