dotnet / dotnet/project-system
Introduce a UI option to "log design-time builds"
- Dominant language
- C#
- Stars
- 1k
- Forks
- 415
- PR merge metrics
- No merged PRs in 30d
Description
In the new project system, similar to normal build warnings and errors, [design-time build](https://github.com/dotnet/roslyn-project-system/blob/master/docs/design-time-builds.md) warnings and errors show up in the Error List. The idea here is for a few different reasons:
1. It lets users a little more aware of the sorts of issues that break the design-time build, and hence the language service and other features that rely on it.
2. It lets the project system get of the business of logging specific errors and warnings when references can't be found, are the wrong framework, etc. Instead, we just surface the actual MSBuild warnings/errors that come from the build.
This is great, however, when you get an error/warning there's not an easy way to turn on logging for these builds to figure out _why_ these errors or warnings were logged. CPS does log these builds to the Output window if a specific registry key has been set - however, given the changes in the new installer to support side-by-side VS versions, this registry key now has be set in the privateregistry.bin in %APPDATA%. This is difficult to set, and has to be set every new VS instance that you install.
To simplify this, I propose we add a new option in **Projects and Solutions** -> **Build and Run** to set this registry key:

Optionally, we could also generalize this to turn on [TRACEDESIGNTIME](https://github.com/dotnet/roslyn-project-system/blob/master/docs/design-time-builds.md#visual-studio-2015-or-below) option for the legacy project system.
Contributor guide
Assessment
This issue has not been assessed yet.