私はいくつかのマークアップ拡張機能の作成に取り組んでいましたが、非常に奇妙な 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 Update 2 を実行しています VS 2012 Update 1 でも同じソリューションが機能します