Search code examples
expression-blendsketchflow

Wrong assembly-references for Silverlight Sketchflow project in Blend 3


In my installation of Blend 3, the SketchStyles are missing when a new project is created. I found out that this is because the following automatic references in the project are wrong:

  • Microsoft.Expression.Interactions
  • Microsoft.Expression.Prototyping.Interactivity
  • Microsoft.Expression.Prototyping.RunTime
  • Microsoft.Expression.Prototyping.SketchControls

In the project references, these all point to my project path (where they don't live).

If I remove them manually, and instead set the references to ie this: "c:\Program Files (x86)\Microsoft SDKs\Expression\Blend 3\Interactivity\Libraries\Silverlight\Microsoft.Expression.Interactions.dll" everything works.

Any ideas on why, and how to fix this? Could it be the project template somehow?


Solution

  • Those assemblies are referenced just by name in the .csproj files, and use a registry key to resolve to the proper place, when they can't be found that way, they default to your project folder. I would say your installation is broken somehow, what did you use to install, and from where?

    The simplest solution is probably to uninstall the Blend 3 SDK, and Blend 3, and then reinstall Blend 3. There were a couple of problems from back when Blend 3 was in preview state, so if you had the MIX preview or RCs installed, it could be related.

    The registry keys are documented in this post from the Expression forums:

    Here is more info:

    You probably have two missing registry keys: (Note, these are for 64 bit machines, if you are in 32 bit, omit the Wow6432Node)

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Silverlight\v3.0\AssemblyFoldersEx\Expression SketchFlow

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Silverlight\v3.0\AssemblyFoldersEx\Expression Blend

    If you enter the location of the Blend SDK there, then you should be up and running.

    For the first registry path above, add a (Default) REG_SZ with Data: C:\Program Files\Microsoft SDKs\Expression\Blend 3\Interactivity\Libraries\Silverlight\

    For the second path above, add a (Default) REG_SZ with Data: C:\Program Files\Microsoft SDKs\Expression\Blend 3\Prototyping\Libraries\Silverlight\