PatchProductVersion 1.0.1
See the version list below for details.
dotnet add package PatchProductVersion --version 1.0.1
NuGet\Install-Package PatchProductVersion -Version 1.0.1
<PackageReference Include="PatchProductVersion" Version="1.0.1" />
paket add PatchProductVersion --version 1.0.1
#r "nuget: PatchProductVersion, 1.0.1"
// Install PatchProductVersion as a Cake Addin #addin nuget:?package=PatchProductVersion&version=1.0.1 // Install PatchProductVersion as a Cake Tool #tool nuget:?package=PatchProductVersion&version=1.0.1
Purpose The package adds the revision information as AssemblyInformationalVersion attribute to an assembly. This same information is known as Product Version in the properties dialog of the Windows File explorer and Version property in the Sdk-style proj files. Sdk-style projects don't use the AssemblyInformationalVersion attribute. Instead they use the Version property defined in the .csproj file.
Per default the Version property is a concatenation of the AssemblyVersion property and the SourceRevisionId property. If the Version property has been explicitly defined (which must be the case, if you want to generate a package) the SourceRevisionId attribute will be concatenated to the Version attribute, if it exists.
The package takes advantage of this circumstance and creates a SourceRevisionId.props file, which contains the property definition.
PreRequisites This package works only inside a GIT repository.
Installation
install-package PatchProductVersion
How the package works For non-Sdk style proj files a file "AssemblyInformationalVersion.cs" is created. The code searches for the AssemblyInfo.cs file and extracts the assembly:AssemblyVersion attribute. The revision and current date is concatenated to the version string and placed as attribute into the file. You have to include the file into the project manually. Note: There is no support for languages other than c#.
Hint: Don't check in the generated file into the git repository, because it will be overwritten each time, a new revision has been committed.
For Sdk-style projects the SourceRevisionId will be generated in a new file SourceRevisionId.props. The package inserts an Import tag into the project file, so that the property is imported. After installation of the package you have to recompile twice to get the information into the compiled assembly. During the first compiler run the Import tag will be included in the project file. During the second run the imported property will be used. After this first use one compilation will be sufficient.
Hint: Don't check in the generated file into the git repository, because it will be overwritten each time, a new revision has been committed. Hint: After you changed and checked in your code you need to recompile to get the appropriate revision into your assembly.
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial release