DotNet.ReproducibleBuilds.Isolated 1.2.4

前缀已保留
dotnet add package DotNet.ReproducibleBuilds.Isolated --version 1.2.4                
NuGet\Install-Package DotNet.ReproducibleBuilds.Isolated -Version 1.2.4                
建议在 Visual Studio 的包管理器控制台中使用此命令,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="DotNet.ReproducibleBuilds.Isolated" Version="1.2.4">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>                
对于支持 PackageReference 的项目,请将此 XML 节点复制到项目文件中以便引用此包。
paket add DotNet.ReproducibleBuilds.Isolated --version 1.2.4                
#r "nuget: DotNet.ReproducibleBuilds.Isolated, 1.2.4"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。请在交互工具或脚本的源代码中复制此内容以引用包。
// Install DotNet.ReproducibleBuilds.Isolated as a Cake Addin
#addin nuget:?package=DotNet.ReproducibleBuilds.Isolated&version=1.2.4

// Install DotNet.ReproducibleBuilds.Isolated as a Cake Tool
#tool nuget:?package=DotNet.ReproducibleBuilds.Isolated&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.Isolated 文档和nuget程序包

强烈建议所有项目启用这些设置,无论是通过添加此程序包还是手动添加(如文档/Reproducible-MSBuild中所述)。

此程序包配置了各种属性和项组,以防止您的构建意外依赖于存储库中未描述的其他已安装软件。所有构建依赖项应来自您选择的MSBuild SDK或您从程序包源恢复的NuGet程序包。

如果您使用与相同SDK版本和相同NuGet源相同的提交,则应获得相同的构建结果。

使用方法

将以下内容添加到您的项目顶部或Directory.Build.props

<Sdk Name="DotNet.ReproducibleBuilds.Isolated" Version="1.1.1" />

已在MSBuild 16.7上测试(写作时的最新LTS版本)。

贡献

有关为此项目做出贡献的信息,请参阅CONTRIBUTING.md

本项目已采用贡献者誓言中定义的行为准则,以阐明我们社区中期望的行为。有关更多信息,请参阅.NET基金会的行为准则

许可

本项目采用MIT许可证

.NET基金会

DotNet.ReproducibleBuilds是.NET基金会项目

您应该查看以下相关项目

此包中没有支持的框架资源。

了解更多关于目标框架.NET标准的信息。

此包没有依赖项。

NuGet程序包

此包未由任何NuGet程序包使用。

GitHub存储库 (1)

显示依赖DotNet.ReproducibleBuilds.Isolated的前1个热门GitHub存储库

存储库 星标
dotnet/Silk.NET
这是一款高速OpenGL、OpenCL、OpenAL、OpenXR、GLFW、SDL、Vulkan、Assimp、WebGPU和DirectX绑定库,您的母亲曾警告您不要使用。
版本 下载 最后更新时间
1.2.4 13,392 6/27/2024
1.1.1 166,832 11/11/2021
0.1.66 31,080 7/27/2021
0.1.64 1,342 5/22/2021

## 更新日志

## [1.2.0]

### 已变更

- [当使用隔离SDK时,禁用SDK提供的隐式库程序包](https://github.com/dotnet/reproducible-builds/pull/21) - 感谢 @cmeeren!