AssemblyMeta.Git
1.1.0
dotnet add package AssemblyMeta.Git --version 1.1.0
NuGet\Install-Package AssemblyMeta.Git -Version 1.1.0
<PackageReference Include="AssemblyMeta.Git" Version="1.1.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="AssemblyMeta.Git" Version="1.1.0" />
<PackageReference Include="AssemblyMeta.Git"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add AssemblyMeta.Git --version 1.1.0
#r "nuget: AssemblyMeta.Git, 1.1.0"
#:package AssemblyMeta.Git@1.1.0
#addin nuget:?package=AssemblyMeta.Git&version=1.1.0
#tool nuget:?package=AssemblyMeta.Git&version=1.1.0
AssemblyMeta.Git
Generates the current repository's git information as AssemblyMeta.Git constants.
Commit: taken verbatim fromRepositoryCommitwhen set, otherwise SourceLink'sSourceRevisionIdSha: taken verbatim fromRepositoryShawhen set, otherwise the first 9 characters ofCommit, or the full length when shorterRoot: repository root with forward slashes, ending in a slash when non-emptyUrl: only filled whenPublishRepositoryUrl=trueorRepositoryUrlis already setBranch: taken verbatim fromRepositoryBranchwhen set, otherwise CI environment variables win; pull requests are recorded asprplus the number. Falls back to SourceLink without CI. Only when queries are on and there is still no branch does it read.git/HEADunder 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 的SourceRevisionIdSha: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 | Versions 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. |
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 |