dotnet / dotnet/msbuild

Hint users on binlogs overwriting and how to prevent it

Open
#14,319 3 comments 0 reactions 0 assignees View on GitHub
triaged
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 8h
Merged PRs (30d)
141

Description

### Summary

By default msbuild silently overwrites preexisting binlogs when binary logging is enabled. This can be hitting users of guard especially when single command leads to multiple msbuild invocations under the hood (e.g. dotnet publish).

It would be good to inform users about when this happens - ideally in a way that is very clear when viewing / investigating binlogs

### Background and Motivation

MSBuild is able to produce unique binlog file names:

https://github.com/dotnet/msbuild/blob/ad7e074ca3a93f4af30405c4cd24db04151d7ce8/src/MSBuild/Resources/Strings.resx#L729-L734

But the feature is not well known, and users mostly default to simple `-bl` - this can lead to situations where their binlogs are overwritten and they are not aware.

### Proposed Feature

.

### Alternative Designs

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the linked Strings.resx entries and the existing -bl/binlog handling in MSBuild. The proposed feature is not specified, so first determine where users investigate binlogs and what warning or guidance is appropriate for repeated MSBuild invocations. Done should include an agreed user-facing behavior and corresponding coverage for the overwrite scenario.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.