AssemblyMeta.Git 1.1.0

dotnet add package AssemblyMeta.Git --version 1.1.0
                    
NuGet\Install-Package AssemblyMeta.Git -Version 1.1.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="AssemblyMeta.Git" Version="1.1.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AssemblyMeta.Git" Version="1.1.0" />
                    
Directory.Packages.props
<PackageReference Include="AssemblyMeta.Git">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AssemblyMeta.Git --version 1.1.0
                    
#r "nuget: AssemblyMeta.Git, 1.1.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.
#:package AssemblyMeta.Git@1.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AssemblyMeta.Git&version=1.1.0
                    
Install as a Cake Addin
#tool nuget:?package=AssemblyMeta.Git&version=1.1.0
                    
Install as a Cake Tool

AssemblyMeta.Git

Generates the current repository's git information as AssemblyMeta.Git constants.

  • Commit: taken verbatim from RepositoryCommit when set, otherwise SourceLink's SourceRevisionId
  • Sha: taken verbatim from RepositorySha when set, otherwise the first 9 characters of Commit, or the full length when shorter
  • Root: repository root with forward slashes, ending in a slash when non-empty
  • Url: only filled when PublishRepositoryUrl=true or RepositoryUrl is already set
  • Branch: taken verbatim from RepositoryBranch when set, otherwise CI environment variables win; pull requests are recorded as pr plus the number. Falls back to SourceLink without CI. Only when queries are on and there is still no branch does it read .git/HEAD under the repository root

.NET 8+ SDK ships SourceLink built in — no Microsoft.SourceLink.* reference needed.

Design-time builds do not query by default (EnableSourceControlManagerQueries is written as false when unset) and all five constants are [pending build]. Set the property explicitly to true to fill them during design-time builds too.

Downstream targets can depend on InitializeGitInformation and read the same-named MSBuild properties: RepositoryCommit, RepositorySha, RepositoryRoot, RepositoryUrl, RepositoryBranch.

Branch sources: GitHub Actions, Azure DevOps, GitLab, AppVeyor, TeamCity, Travis CI, CircleCI, Jenkins and Buddy.


把当前仓库的 Git 信息生成为 AssemblyMeta.Git 常量。

  • Commit:RepositoryCommit 已有值时原样采用,否则是 SourceLink 的 SourceRevisionId
  • Sha:RepositorySha 已有值时原样采用,否则是 Commit 的前 9 位;不足 9 位时用全长
  • Root:仓库根目录,正斜杠,非空时以斜杠结尾
  • Url:仅当 PublishRepositoryUrl=true,或已经设置 RepositoryUrl 时填充
  • Branch:RepositoryBranch 已有值时原样采用,否则 CI 环境变量优先;拉取请求记为 pr 加编号。没有 CI 时回落到 SourceLink。查询已打开且仍没有分支时,才读仓库根上的 .git/HEAD

.NET 8+ SDK 已内置 SourceLink,不必再引用 Microsoft.SourceLink.*。

设计时构建默认不查询(EnableSourceControlManagerQueries 为空时会被写成 false),五个常量都是 [pending build]。要在设计时也填充,把该属性显式设为 true。

下游 targets 可以依赖 InitializeGitInformation,读取同名 MSBuild 属性:RepositoryCommit、RepositorySha、RepositoryRoot、RepositoryUrl、RepositoryBranch。

分支来源:GitHub Actions、Azure DevOps、GitLab、AppVeyor、TeamCity、Travis CI、CircleCI、Jenkins,以及 Buddy。

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on AssemblyMeta.Git:

Package Downloads
AssemblyMeta

Meta-package aggregating AssemblyInfo, Constants, Project, Metadata, Git, Resources and Strings; generates assembly metadata as strongly-typed constants at compile time. / AssemblyMeta 元包,聚合 AssemblyInfo、Constants、Project、Metadata、Git、Resources 与 Strings,把程序集元信息在编译期生成为强类型常量。

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.0 113 10/27/2026
1.0.0 124 10/24/2026
1.0.0-preview 118 10/23/2026