Visual studio 2012 XAML designer invalid markup Visual studio 2012 XAML designer invalid markup wpf wpf

Visual studio 2012 XAML designer invalid markup


There's also an issue with the ShadowCache (used for rendering designer) getting out of sync with your XAML in VS2012. I just found this out, as I was having a horrible time with the following error with derived user controls:

The local property XXXX can only be applied to types that are derived from YYYYY.

The shadow cache is located in your user profile directory:

app data\Local\Microsoft\VisualStudio\11.0\Designer\ShadowCache

You can delete everything in there and restart VS2012. After that, things worked much better (for at least a while!)


Delete everything in ShadowCache

C:\Users\username\AppData\Local\Microsoft\VisualStudio\11.0\Designer\ShadowCache\

Copy-pasteable paths

Just copy/paste one of these paths into Windows Explorer. %LOCALAPPDATA% is a Windows Environment Variable it will be replaced with the corresponding value when entered into Explorer (also works in Command Prompt)

VS2012

%LOCALAPPDATA%\Microsoft\VisualStudio\11.0\Designer\ShadowCache\

VS2013

%LOCALAPPDATA%\Microsoft\VisualStudio\12.0\Designer\ShadowCache\

VS2015

%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\Designer\ShadowCache\

ASP.NET

If you develop ASP.NET also delete

%LOCALAPPDATA%\Microsoft\WebsiteCache

%LOCALAPPDATA%\Temp\VWDWebCache


I'm not sure this will fix all cases but this is what worked for me (all the time now).

I have VS2012, using the Blend designer in the IDE, building an x64 application, when I would define a new ICommand and add the Command attribute, I would get the designer isn't supported in x64 error (I forget the exact warning). If I switch to x86, I'd get invalid XAML markup errors complaining the the ICommand wasn't recognized or was not accessible, no matter how many times I rebuilt in x64. If I switch to x86, build, then switch back to x64, voila, not problems with the designer.

Now I recall similar issues with VS2008 and Blend version 3 and 4. From what I've read in other posts, using Any CPU might also resolve the issue.