Visual Studio 2008 XAML Designer не нравится пространство имен по умолчанию в той же сборке - PullRequest
0 голосов
/ 05 декабря 2009

Окружающая среда

  • Visual Studio 2008 SP1
  • Visual C #
  • Проект приложения WPF
  • .NET Framework 3.5

Задача

У вас есть пользовательский элемент управления в той же сборке, что и другой пользовательский элемент управления или окно, и вы используете его в этом новом пользовательском элементе управления или окне. Он компилируется и работает нормально, однако конструктор не работает и выдает исключение " Не удалось создать экземпляр типа 'x'. ". Это предотвращает рендеринг дизайнера и компиляцию проекта, пока он виден.

1024 * Обход *

Хотя скрытие конструктора в этих элементах управления и окнах позволяет компилировать код, это не является ожидаемым решением, поскольку не позволяет мне просматривать и полностью использовать конструктор для этих элементов управления и окон.

Примеры кода

xmlns:local="clr-namespace:Foo.Bar.MyWpfApplication"

...

<Grid>
    <local:MyUserControl Grid.Row="1" x:Name="myControl" />
</Grid>

Также пробовал этот оператор пространства имен без изменения проблемы:

xmlns:local="clr-namespace:Foo.Bar.MyWpfApplication;assembly="

Вопрос

Кто-нибудь имел эту проблему и решил ее?

Для справки я попробовал решения, опубликованные в этой теме, но они не работали.

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/56f933c8-a093-4c47-8e1a-cde4bb1864e9

Ответы [ 2 ]

0 голосов
/ 26 января 2010

Это ошибка в VS 2008 SP1 и только в больших и / или сложных проектах. Как сообщается, это было исправлено в Visual Studio 2010 Beta 2, что, по моему мнению, является правильным. Поскольку кажется, что 2010 год был исправлен в отношении этой проблемы, я сомневаюсь, что они исправят это в 2008 году.

0 голосов
/ 05 декабря 2009

Вы не указали VS 2008 SP1 в своей среде. Вы должны обязательно иметь это установлено. Кроме этого, все, что я могу предложить, это не использовать дизайнер WPF в 2008 году - он воняет.

...