NetLah.AssemblyInfo.BuildTime.Target 1.0.0

Prefix Reserved
dotnet add package NetLah.AssemblyInfo.BuildTime.Target --version 1.0.0                
NuGet\Install-Package NetLah.AssemblyInfo.BuildTime.Target -Version 1.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NetLah.AssemblyInfo.BuildTime.Target" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NetLah.AssemblyInfo.BuildTime.Target --version 1.0.0                
#r "nuget: NetLah.AssemblyInfo.BuildTime.Target, 1.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install NetLah.AssemblyInfo.BuildTime.Target as a Cake Addin
#addin nuget:?package=NetLah.AssemblyInfo.BuildTime.Target&version=1.0.0

// Install NetLah.AssemblyInfo.BuildTime.Target as a Cake Tool
#tool nuget:?package=NetLah.AssemblyInfo.BuildTime.Target&version=1.0.0                

NetLah.AssemblyInfo.BuildTime.Target - MSBuild targets

MSBuild target for assembly build-time generation.

Nuget package

NuGet

Build Status

Build Status

Getting started

1. Add/Update PackageReference to .csproj

<ItemGroup>
  <PackageReference Include="NetLah.Abstractions" Version="0.2.0" />
  <PackageReference Include="NetLah.AssemblyInfo.BuildTime.Target" Version="0.2.0" PrivateAssets="All" />
</ItemGroup>

2. Output during build

Microsoft (R) Build Engine version 17.0.0+c9eb9dd64 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.

  Determining projects to restore...
  All projects are up-to-date for restore.
  SampleApp -> C:\Work\NetLah\abstractions\samples\SampleApp\bin\Debug\net6.0\SampleApp.dll
  SampleApp [buildTime] := 2021-11-08T21:26:28 (net6.0)

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:01.84

2. Retrieve build datetime of assembly

var asm = new AssemblyInfo(typeof(AssemblyInfo).Assembly);
Console.WriteLine($"AssemblyTitle:{asm.Title}");
Console.WriteLine($"Version:{asm.InformationalVersion} BuildTime:{asm.BuildTimestampLocal}; Framework:{asm.FrameworkName}");

The output:

AssemblyTitle:NetLah.Abstractions
Version:0.2.0-rc2.2 BuildTime:2021-11-08T21:26:28+08:00; Framework:.NETStandard,Version=v2.0

3. Or Retrieve build datetime of entry assembly

var appInfo = ApplicationInfo.Initialize(null);
Console.WriteLine($"AppTitle:{appInfo.Title}");
Console.WriteLine($"Version:{appInfo.InformationalVersion} BuildTime:{appInfo.BuildTimestampLocal};Framework:{appInfo.FrameworkName}");

Output:

AppTitle:SampleApp
Version:0.2.0-rc2.2 BuildTime:2021-11-08T21:26:56+08:00; Framework:.NETCoreApp,Version=v6.0

4. Use Directory.Build.targets to declare build date time attribute to all projects inside the solution

  • Set build date time to projects that already include packageReference NetLah.AssemblyInfo.BuildTime.Target
<ItemGroup>
  <PackageReference Update="NetLah.Abstractions" Version="0.2.0" />
  <PackageReference Update="NetLah.AssemblyInfo.BuildTime.Target" Version="0.2.0" PrivateAssets="All" />
</ItemGroup>
  • Set build date time to all projects
<ItemGroup>
  <PackageReference Update="NetLah.Abstractions" Version="0.2.0" />
  <PackageReference Include="NetLah.AssemblyInfo.BuildTime.Target" Version="0.2.0" PrivateAssets="All" />
</ItemGroup>
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • .NETStandard 2.0

    • 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.

Version Downloads Last updated
1.0.0 3,021 6/5/2023
0.2.0 2,486 12/15/2022
0.2.0-rc1 2,141 9/15/2022