Fail clearly when building on unsupported frameworks, or with invalid property combinations
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 7.8k
- Forks
- 1.2k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 49
Description
Is your feature request related to a problem? Please describe.
One example of an issue can be found here. Any failures to correctly set up the target framework and various runtime flags in projects often lead to unrelated issues as the build can still 'succeed'.
Describe the solution you'd like
At the least, it would be nice if the build system immediately errors when targeting an unsupported framework. For example, early versions of .NET, or .NET Core.
This could be achieved by a set of property condition checks in the initial targets, that error when certain properties are invalid.
Over time this should be expanded to capture invalid combinations of properties. For example, you should set 'net5.0-windows' not just 'net5.0' when building the main entry project on windows; or you need to add a specific runtime identifier (e.g. #936)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the initial build targets and the property checks that configure target frameworks, runtime identifiers, and platform flags. Review the examples in issues #939 and #936, then define validation for unsupported frameworks and invalid property combinations. Done means invalid configurations fail early with clear build errors instead of succeeding and causing unrelated problems.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100