Specifying Supported Target Project Types in NuSpec

Some packages really only make sense for a particular target framework. For example, a set of WP7 Silverlight controls do not make sense when targeting an ASP.NET application.

Note that filtering would not prevent you from trying to install a package that targets one package to a framework that it doesn't target. It would merely not show you that package in the default list.

Filtering on Target Project Types

Console

No filtering is applied.

Add Package Dialog

Packages in the list should be filtered such that only those that apply to the current target framework are displayed. However, we need a way for you to override that just in case.

Show All Button. In this case, the UI is simpler, but provides less control. We filter based on the current framework by default, but have some way to visually indicate that you're not seeing all results. We give you an option to click on a button (or link or something) to see all results. Kind of like how Outlook works when search returns a large number of results.

For solution-level dialog, we always show all packages.

UI

If installing into a project, we automatically filter on the target project and provide an escape to show all. Perhaps a checkbox with a label that describes the filter and lets the user to show all.

No target framework filtering at the solution level.

For the PowerShell console, we also apply filtering automatically. Need to think about a flag to show all for the current project.

NuSpec

No changes. The server has to infer this on upload and store it.

Server Side

Add corresponding filtering to the OData service method.

Notes

  • We considered a separate target framework dropdown, but one big problem with this approach is we'll start to have a lot of ugly filtering dropdowns in the GUI.

Last edited Jul 7, 2011 at 12:53 AM by haacked, version 7