dotnet / dotnet/msbuild

Preprocess flag allows some irrelevant logging to escape

Open
#1,799 0 comments 0 reactions 0 assignees View on GitHub
Area: Debuggability help wanted triaged
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 13h
Merged PRs (30d)
133

Description

```

```

```
msbuild /pp:out.txt test.proj
```
results in

```
C:\git\corefx>msbuild /pp:out.txt test.proj
The target "bt" listed in a BeforeTargets attribute at "C:\git\corefx\test.proj (3,26)" does not exist in the project,
and will be ignored.
The target "at" listed in an AfterTargets attribute at "C:\git\corefx\test.proj (3,45)" does not exist in the project,
and will be ignored.
C:\git\corefx>
```

When using `/preprocess`, no logging is expected except for cases where `/preprocess` cannot do its job (for example syntax error or import of nonexistent file)

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the issue with the XML in test.proj and `msbuild /pp:out.txt test.proj`. Trace the `/pp` or `/preprocess` logging path and determine why missing BeforeTargets and AfterTargets warnings are emitted. Done means irrelevant logging is suppressed during preprocessing while syntax errors and nonexistent imports still report failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.