我正在创建一些标记扩展,并开始获得非常奇怪的VS行为。我已经在单独的解决方案中提取并指出了问题所在。问题是VS无法在XAML中创建CLR对象。
这里是:
视图:
<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>
后面的代码:
using System.Windows;
namespace WpfApplication4
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
狗类:
namespace WpfApplication4
{
public class Dog
{
}
}
App.Xaml(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>
我得到的异常:
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
我可以运行解决方案,但是设计器因“无效标记”错误而失败。
编辑
我正在运行VS 2012更新2在VS 2012更新1中相同的解决方案