VS Designer Components

Apr 29, 2011 at 2:20 AM

I'm creating a Nuget package that includes runtime and design time assemblies.  And I want to deliver both via Nuget. 

The problem is that Nuget adds a reference to the design time assembly to the target project.  If you do that then you have to reference WPF assemblies as well.

Also I need to register a VSPackage with Visual Studio so that the Workflow Activities appear in the toolbox but only when that project is open.

I'm sure that there are similar issues for people building controls that include design time components.  Typically these components get delivered via an MSI or VSIX package that does all the registration at a machine level.

Nuget is so much more project oriented.  I'm trying to work out what it means to bring design time components in at a project level.  Is that even possible?

I suppose I could deliver just the runtime components via nuget and use a vsix package to install the design time components.  Is that the right way?


Apr 29, 2011 at 4:51 PM

Yes, using VSIX for the design time components is the right way.

As a matter of fact, we have two bugs logged that will address exactly the issues you’ve brought up. J

· Issue 263: Allow specifying assemblies in lib that you don't want referenced

· Issue 676: NuGet Packages Should Be Able to indicate a related VSIX that gets installed

The first one we hope to fix in the next release. The second one we don’t have scheduled yet. We have a prototype, but we need to think through the UI.

For example, suppose you install a VSIX related to a NuGet and check in your code. Now I get latest. Unfortunately, I didn’t install that package, you did. So I don’t have the VSIX on my machine. What happens? Ideally we could provide some subtle notification to me that there are related VSIXes available and I should consider installing them.