Skip to content

RestoreTask: Control whether to embed files in the binlog #12957

@KirillOsenkov

Description

@KirillOsenkov

NuGet Product(s) Involved

NuGet.exe, MSBuild.exe, dotnet.exe

The Elevator Pitch

Need some properties on RestoreTask to control whether to embed files in the binlog, and possibly filter out .dgspec.json files.

We've found that the embedded .nuget.dgspec.json files are huge, and our binlog is 1 GB in size. .dgspec.json files total 3.5 GB for us uncompressed. Would be nice to be able to control whether to include .dgspec files here:

https://github.com/NuGet/NuGet.Client/blob/5ce332fb834feea1f6c974d17456c8c9d5504e09/src/NuGet.Core/NuGet.Build.Tasks/RestoreTask.cs#L216

Not sure how fine grained to make it. Just one property on the task to embed dgspec files, default to true? (No effect if no binlog present). Or 4 properties to control each of the four types of files? Or a main property to control all files?

Embedding files is useful and a good default, but for large builds embedding dgspec file specifically renders the binlog almost unusable.

Additional Context and Details

No response

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions