-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Suppose you have a Project p which has a set of Documents D. Each document d in D has a set of linked documents Ld, each of which has a ProjectId. A union L can be formed from Ld for every d in D.
A Document d is included in all projects if Ld equals L. When Ld is a strict subset of L, a diagnostic should be reported and a code fix provided to include the document in the remaining projects (L - Ld).
Background
The .NET SDK has 6 projects representing the slightly different builds covering the supported target environments (.NET 3.5, .NET 4.0, .NET 4.5, Windows Store Apps, portable-net40, and portable-net45). It's easy for a developer to add a class to one of these projects and forget to add it to the remaining 5, which leaves some targets without the feature. This analyzer would detect the omission during development (for users running Visual Studio 2015), or during the CI build for a pull request at the latest.