Ошибка конструктора wpf xaml

каждый раз, когда мы открываем файл * .xaml в нашем проекте - мы видим неработающий дизайнер и множество сообщений «тип не найден» «сборка не найдена» и т. д. После пары экспериментов я обнаружил корень проблемы: создайте новое приложение WPF, создайте папку в корне проекта, добавьте в папку какой-нибудь конвертер значений, попробуйте использовать его в своем 'MainWindow.xaml'

вы, вероятно, напишете что-то вроде этого:

xmlns:Folder="clr-namespace:WpfApp.Folder"

а потом

   <Window.Resources>
        <Folder:SomeValueConverter x:Key="someKey"/>
    </Window.Resources>

Тебе известно...

А теперь самое интересное! когда вы создаете свой проект для x86 или «любого процессора» - все будет хорошо, дизайнер будет доступен, все пространства имен будут импортированы отлично! НО, просто измените конфигурацию проекта на x64 ... Перестройте решение и откройте представление дизайна. .. Вы будете удивлены ... ошибки, не найденные типы и т. Д. Как, черт возьми, использовать VS xaml Designer в x64 приложениях?

Windows 7 Enterprise x64, Visual Studio 2010 Ultimate


person illegal-immigrant    schedule 15.03.2011    source источник
comment
Ааааи пример ошибки будет .....   -  person    schedule 15.03.2011
comment
* Неопределенное пространство имен CLR. URI 'clr-namespace' относится к пространству имен 'WpfInteractive.Folder', которое не включено в assemblyError * Тип 'Folder: SomeConverter' не найден. Убедитесь, что у вас есть ссылка на сборку и что все сборки, на которые есть ссылки, созданы.   -  person illegal-immigrant    schedule 15.03.2011


Ответы (2)


Другие сообщали о той же проблеме. Один из предложенный обходной путь заключался в том, чтобы выполнить проектную работу с 32-разрядной целью, а затем переключиться на 64-разрядную версию только тогда, когда вы будете готовы для компиляции и развертывания.

person Chris Wenham    schedule 15.03.2011
comment
@C. Лоуренс Уэнам, есть идеи, решена ли эта проблема? Переключение целей каждый раз, когда я хочу скомпилировать и запустить код, не может быть решением ... - person Matt; 21.03.2015

В моем случае я использовал обфускатор (точнее, ConfuserEx) в качестве этапа после сборки в Release конфигурация, которая вызвала такое поведение. Возврат к конфигурации отладки устранил проблему. В качестве альтернативы, удаление шага после сборки также решит проблему.

person dotNET    schedule 24.06.2016