ThisAssembly.Git 1.5.0
前缀已保留
dotnet add package ThisAssembly.Git --version 1.5.0
NuGet\Install-Package ThisAssembly.Git -Version 1.5.0
<PackageReference Include="ThisAssembly.Git" Version="1.5.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add ThisAssembly.Git --version 1.5.0
#r "nuget: ThisAssembly.Git, 1.5.0"
// Install ThisAssembly.Git as a Cake Addin #addin nuget:?package=ThisAssembly.Git&version=1.5.0 // Install ThisAssembly.Git as a Cake Tool #tool nuget:?package=ThisAssembly.Git&version=1.5.0
此包生成一个静态的 ThisAssembly.Git
类,其中包含以下 Git 属性的常量,来自当前项目
- 提交
- Sha(提交的前 9 个字符)
- 根(规范化为正斜杠)
- Url(如果 PublishRepositoryUrl=true)
- 分支(从 CI 环境变量中获取)
此包依赖于您项目安装的 Microsoft.SourceLink.* 包引用,具体取决于您的基于 Git 的源代码管理服务器(例如 GitHub、Azure DevOps、BitBucket 等)。
Branch
属性是由当前受支持的 CI 系统提供的环境变量填充的:GitHub Actions、Azure DevOps、AppVeyor、TeamCity、Travis CI、Circle CI、GitLab CI、Buddy 和 Jenkins。
只要 CI 系统提供拉取请求编号,分支名称就是 pr[NUMBER]
,例如 pr123
。这使得它可以轻松用作 semver 元数据标签。
注意:默认情况下,这些常量的值在“真实”构建过程中填充(也就是说,不是用于填充intellisense的IDE/设计时间构建)。这是为了防止对编辑器性能产生负面影响。然而,这意味着,当在IDE中检查这些属性时,它们似乎总是为空(尽管在运行时从不为空)。如果您想强制在设计时间构建中填充这些值,请将
EnableSourceControlManagerQueries
属性设置为true
。此属性由dotnet/sourcelink定义和文档化。
在MSBuild级别,目标可以依赖于提供的InitializeGitInformation
目标,该目标设置了以下命名的等效属性:
- RepositoryCommit
- RepositorySha
- RepositoryRoot
- RepositoryUrl
- RepositoryBranch
这些属性的名字是有意选择的,以便与nuget pack和nugetizer使用的属性匹配,用于填充相关的包元数据。
因此,如果您拥有GitHub仓库,安装这三个包将确保您拥有内置的正确元数据和可能的简单包装体验。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" />
<PackageReference Include="ThisAssembly.Git" />
<PackageReference Include="NuGetizer" />
</ItemGroup>
</Project>
将$(ThisAssemblyNamespace)
MSBuild属性设置为设置生成的ThisAssembly
类的根命名空间。否则,它将在全局命名空间中生成。
赞助商
产品 | 版本 兼容的和额外的计算目标框架版本。 |
---|---|
.NET | net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
.NET Core | netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。 |
.NET Standard | netstandard2.0 兼容。 netstandard2.1 已计算。 |
.NET Framework | 计算了net461。 计算了net462。 计算了net463。 计算了net47。 计算了net471。 计算了net472。 计算了net48。 计算了net481。 |
MonoAndroid | 计算了monoandroid。 |
MonoMac | 计算了monomac。 |
MonoTouch | 计算了monotouch。 |
Tizen | 计算了tizen40。 计算了tizen60。 |
Xamarin.iOS | 计算了xamarinios。 |
Xamarin.Mac | 计算了xamarinmac。 |
Xamarin.TVOS | 计算了xamarintvos。 |
Xamarin.WatchOS | 计算了xamarinwatchos。 |
-
.NETStandard 2.0
- ThisAssembly.Constants (>= 1.5.0)
NuGet 包 (1)
显示依赖于 ThisAssembly.Git 的前 1 个 NuGet 包
包 | 下载 |
---|---|
ThisAssembly 包含所有 ThisAssembly.* 包的元包。 |
GitHub 仓库
此包不用于任何流行的 GitHub 仓库。
版本 | 下载 | 最后更新 |
---|---|---|
1.5.0 | 1,017 | 7/24/2024 |
1.5.0-rc.4 | 39 | 7/24/2024 |
1.5.0-rc.3 | 34 | 7/23/2024 |
1.5.0-rc.2 | 38 | 7/23/2024 |
1.5.0-rc.1 | 50 | 7/21/2024 |
1.5.0-rc | 83 | 7/8/2024 |
1.5.0-beta | 83 | 7/8/2024 |
1.4.3 | 14,343 | 1/30/2024 |
1.4.2 | 238 | 1/30/2024 |
1.4.1 | 7,160 | 8/30/2023 |
1.4.0 | 2,061 | 8/11/2023 |