I was working on creating some markup extensions and started to get very weird VS behaviours. I have extracted and pinpointed the issue in the separate solution. Problem is that VS can't create a CLR object in XAML.
Here it is:
View:
<Window x:Class="WpfApplication4.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wpfApplication4="clr-namespace:WpfApplication4">
<Window.Resources>
<wpfApplication4:Dog x:Key="doggy" />
</Window.Resources>
<Grid />
</Window>
Code behind:
using System.Windows;
namespace WpfApplication4
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
Dog class:
namespace WpfApplication4
{
public class Dog
{
}
}
App.Xaml (no code in App.Xaml.cs):
<Application x:Class="WpfApplication4.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>
Exception I am getting:
Error 1 The name "Dog" does not exist in the namespace "clr-namespace:WpfApplication4". \\hopr1\folders$\vxk\Documents\Visual Studio 2012\Projects\WpfApplication4\MainWindow.xaml 6 9 WpfApplication4
I am able to run solution, but designer fails with "Invalid Markup" error Any ideas?
Edit
I am running VS 2012 Update 2 The same solution work in VS 2012 Update 1
For anyone coming across this now, BEFORE YOU DO ANYTHING ELSE... if you're certain your classes/namespaces are correct and rebuilding has not solved your problem:
Try restarting Visual Studio
That's it!
This appears to be a bug with Visual Studio 2012 (also appears to affect all other versions that support XAML development)
Update: If restarting Visual Studio doesn't work, reboot the entire PC.
Update: As mentioned in comments by @Dunk, if restarting Visual Studio doesn't work, try deleting the .suo file
Your solution is running on a network share. .Net (and Visual Studio) applications can run into permission / access issues when running on a network share.
Copy your solution to a local drive (with full trust) and you should be fine.
It is possible to get a network drive working with full trust - you can find answers for this on StackOverflow and other places - but in my experience I keep running into obstacles when I do this, so try to avoid it unless it's absolutely critical to the problem at hand.
E.g. this question gives instructions about how to do this:
Give FullTrust to UNC share for Visual Studio 2012 and .Net 4.0
I've only ever tried this with VS2010 so (as indicated in the link) you might have better joy with 2012.
I experienced the same issue, but my files are stored locally. My IValueConverter resides in a different assembly than the view using it. Even though VS2013 IntelliSense suggested the following, it wasn't working:
xmlns:conv="clr-namespace:MySharedAssembly.Converters"
After I explicitly added the assembly at the end, it worked:
xmlns:conv="clr-namespace:MySharedAssembly.Converters;assembly=MySharedAssembly"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With