DotNet.ReproducibleBuilds 1.2.4
前缀已保留
dotnet add package DotNet.ReproducibleBuilds --version 1.2.4
NuGet\Install-Package DotNet.ReproducibleBuilds -Version 1.2.4
<PackageReference Include="DotNet.ReproducibleBuilds" Version="1.2.4"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add DotNet.ReproducibleBuilds --version 1.2.4
#r "nuget: DotNet.ReproducibleBuilds, 1.2.4"
// Install DotNet.ReproducibleBuilds as a Cake Addin #addin nuget:?package=DotNet.ReproducibleBuilds&version=1.2.4 // Install DotNet.ReproducibleBuilds as a Cake Tool #tool nuget:?package=DotNet.ReproducibleBuilds&version=1.2.4
DotNet.ReproducibleBuilds
此存储库生成一个包,它可以在一步中启用可重复构建,并记录有助于通过隔离启用可重复性的 MSBuild 设置。
此存储库记录了各种 MSBuild 设置以实现可重复性,并提供了两个 nuget 包来启用这些设置的一些功能。
这些包包括:
- DotNet.ReproducibleBuilds
- DotNet.ReproducibleBuilds.Isolated
DotNet.ReproducibleBuilds nuget 包
强烈建议所有项目启用这些设置,无论是通过添加此包还是按照以下说明手动操作: https://devblogs.microsoft.com/dotnet/producing-packages-with-source-link/
此包设置以下属性
PublishRepositoryUrl
=true
EmbedUntrackedSources
=true
DebugType
=embedded
。如果您喜欢,可以在项目中指定portable
,但您还需要上传该.snupkg
文件。IncludePackageReferencesDuringMarkupCompilation
=true
(使 WPF 修复生效)ContinuousIntegrationBuild
=true
在 CI 系统上
它还为所有存储库类型添加了 SourceLink 依赖项(将自动使用正确的一个)。
有关使用Source Link进行调试的更多信息,请参阅此处。
使用方法
将以下内容添加到您的Directory.Build.props
文件中,以便将包添加到解决方案中的所有项目 -- 使用最新版本包。
<ItemGroup>
<PackageReference Include="DotNet.ReproducibleBuilds" Version="1.1.1" PrivateAssets="All"/>
</ItemGroup>
需要MSBuild 16.10来生成可以完整复现的二进制文件。您需要Visual Studio 2019 16.10和/或.NET 5.0.300 SDK。如果您使用的是较低版本,您将收到警告。
预发布版包可在以下NuGet源中获取:https://pkgs.dev.azure.com/dotnet/Projects/_packaging/ReproducibleBuilds/nuget/v3/index.json
DotNet.ReproducibleBuilds.隔离的文档和nuget包
强烈建议所有项目启用这些设置,无论是通过添加此包还是手动,如Documentation/Reproducible-MSBuild中所述。
此软件包配置了各种属性和项目组,以防止您的构建意外地依赖于您的源代码库未描述的其他已安装软件。所有构建依赖项都应来自您选择的MSBuild SDK,或来自从您的包源恢复的NuGet包。
如果使用相同版本的SDK和相同的NuGet源检查出相同的提交,您应该得到相同的构建结果。
使用方法
将以下内容添加到您的项目顶部或Directory.Build.props
文件中
<Sdk Name="DotNet.ReproducibleBuilds.Isolated" Version="1.1.1" />
已在MSBuild 16.7上测试(撰写本文时的最新长期支持版)。
贡献
有关向此项目贡献的信息,请参阅CONTRIBUTING.md。
此项目采用了贡献者契约中定义的行为准则,以阐明我们社区中预期的行为。有关更多信息,请参阅.NET基金会行为准则。
许可证
此项目使用MIT许可证授权。
.NET基金会
Dotnet.ReproducibleBuilds是.NET基金会项目。
相关项目
您应该看看这些相关项目
此软件包没有依赖项。
NuGet包 (2)
显示依赖DotNet.ReproducibleBuilds的前两个NuGet包
包 | 下载 |
---|---|
FSharp.AWS.DynamoDB
一个用于AWS DynamoDB SDK的惯用F#包装器。 |
|
AspireDashboardHelper
一个辅助库,可以将Aspire Dashboard docker镜像添加到您的项目中。 |
GitHub存储库 (55)
显示依赖DotNet.ReproducibleBuilds的前五个最受欢迎的GitHub存储库
存储库 | 星标 |
---|---|
dotnet/Silk.NET
这是一个高速的OpenGL、OpenCL、OpenAL、OpenXR、GLFW、SDL、Vulkan、Assimp、WebGPU和DirectX绑定库,您母亲曾经警告过您。
|
|
morelinq/MoreLINQ
对LINQ to Objects的扩展。
|
|
elastic/elasticsearch-net
这是一个强类型的Elasticsearch客户端库,允许您与之交互。它是由Elastic维护和支持的官方客户端。
|
|
Dotnet-Boxed/Templates
带有电池的.NET项目模板,提供最少的代码,使您能够快速开始。
|
|
oxyplot/oxyplot
一个用于.NET的跨平台绘图库。
|
# 更新日志
## [1.2.0]
### 新增
- [支持传递包引用](https://github.com/dotnet/reproducible-builds/pull/16) - 感谢 @meziantou!
- [在构建环境中存在时添加 RepositoryBranch 包元数据](https://github.com/dotnet/reproducible-builds/pull/27) - 感谢 @kzu!
### 已删除
- [删除自动提供的 .NET Framework 引用包 PackageReference,因为 SDK 已经提供](https://github.com/dotnet/reproducible-builds/pull/33) - 感谢 @MattKotsenas!