Note: this post assumes some knowledge developing Visual Studio Extensions (VSIX).
Suppose you’re developing custom tooling that enhances (or otherwise modifies) current project types (for example, C# class libraries or Web applications). This is most commonly done by specifying custom MSBuild properties, typically by adding a
.targets file to the project file itself (possibly via NuGet, which can import
.targets files automatically).
One common way to interact with those custom properties is by adding a page in the project properties, however, most documentation about extending project properties refers to creating your own project systems. Any documentation about extending existing projects is either out of date, or nonexistent.