Expression Blend: Getting error "XXX" does not exist in the namespace "XXX", but not in VS2008

Anthony Brien picture Anthony Brien · Nov 30, 2009 · Viewed 7.9k times · Source

I am trying to use Blend 3.0 to edit a project that contains some WPF controls. This project already compiles and runs fine from Visual Studio 2008.

In Blend however, I'm getting mysterious errors that make no sense:

For example, I have a class that derives from Control :

namespace Company.WPFControls.SearchTextBox
{
    public class SearchTextBox : Control
    {
        ...
    }
}

And I try to use it in a resource, in the same assembly, to assign a style:

<ResourceDictionary 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:local="clr-namespace:Company.WPFControls.SearchTextBox" 

    <Style TargetType="{x:Type local:SearchTextBox}">
        ...
    </Style>
</ResourceDictionary>

I get the following error in Blend:

The name "SearchTextBox" does not exist in the namespace "clr-namespace:Company.WPFControls.SearchTextBox".

I've tried specifying the assembly name, by adding ;assembly=Company.WPFControls but it doesn't remove the error.

Is there any way to fix this or at least figure out where the problem comes from?

Answer

FrankyB picture FrankyB · Dec 11, 2009

I had the same problem with Blend 2, on a Windows Vista 64.

I normally compile my solution in VS2008, with a "Debug - x86" target on all my projects, so that it's compatible with some other 32 bits-only projects.

It looks like Blend loves the "Debug - Any CPU" targets. I basically changed my configuration manager so that it targets Any CPU platforms instead of x86.

So...

  • Open your solution in Blend and in VS2008
  • In VS2008, choose the menu Build -> Configuration Manager
  • Ensure that your solution configuration has a "Debug - Any CPU" for all projects
  • Compile in VS2008
  • tadaaaa Your blend project should update and remove those errors... well it did for me

I did the opposite to verify if it was really that, and it seems yes... I simply reverted the solution changes back to Debug - x86, cleaned everything, and rebuilded, and I was still back with the error "Does not exist [...]"

As for the "Why?"... I don't know, but at least it works now!