Я публикую этот вопрос, чтобы я мог задокументировать решение, так как я нашел его очень сложным и трудоемким для решения.
Я использую Лорана Буньона отлично MVVMLight Toolkit в проекте Silverlight 4, и я использую его шаблон ViewModelLocator с Microsoft.Practices.ServiceLocation. ServiceLocator для загрузки моделей времени разработки для Blendability.Первоначально загрузка представлений в Expression Blend 4 работала, и привязка данных времени разработки была отличной.В какой-то момент это перестало работать без каких-либо сообщений об ошибках в Blend.
Я использовал Visual Studio 2010 SP1 для подключения к Blend.exe для устранения проблемы.Исключение EntryPointNotFoundException (точка входа не найдена) генерируется в этой строке кода:
return ServiceLocator.Current.GetInstance<ExampleViewModel>();
Как ни странно, я смог загрузить тот же View в Visual Studio XAMLДизайнер успешно с моей привязкой данных времени работы работает правильно.Я использовал другой экземпляр Visual Studio, чтобы присоединить отладчик к экземпляру Visual Studio, в котором размещен XAML Designer, и смог подтвердить, что вызов ServiceLocator выполнялся успешно.
Сведения об исключении (трассировка стека, InnerExcetion и т. Д.) Не выполнялисьдайте мне дальнейшую подсказку к этой проблеме, и различные поиски в Интернете бесполезного сообщения об ошибке не смогли пролить дополнительный свет.
Мне, в конечном счете, повезло с использованием окна Visual Studio Immediate для выполнения части строки кода, которая вызывала проблему, и я получил гораздо лучшее сообщение об ошибке:
?ServiceLocator.Current
Тип 'Microsoft.Practices.ServiceLocation.ServiceLocator »существует как в« Microsoft.Practices.ServiceLocation.dll », так и в« Microsoft.Practices.ServiceLocation.dll »
. Сравнивая набор изменений с ранее работающим кодом, я заметил, что добавилссылка на GalaSoft.MvvmLight.Extras.SL4 в отдельном модульном тестовом фреймворке для проекта Silverlight (который ссылается на проект пользовательского интерфейса).Этот тестовый проект ссылался на сборку из C: \ Program Files (x86) \ Laurent Bugnion (GalaSoft) \ Mvvm Light Toolkit \ Binaries \ Silverlight4, где проект UI ссылался на него из .. \ packages \ MvvmLightLibsPreview.4.0.0 \Lib \ SL4.Я использовал nuget пакет MvvmLightLibsPreview , чтобы добавить MVVM Light в клиентский проект.
В результатах Blend - ошибки и окна вывода не отображалось ни одного сообщения об ошибкеточка.Очевидно, что никаких реальных ответов не требуется, если только не существует каких-либо методов устранения неполадок с использованием Blend, которые помогли бы мне быстрее разобраться в проблеме.