Я в Visual Studio 2017, использую .Net 4.6.1
Я создал библиотеку (в проекте A) стилей WPF, элементов управления, конвертеров и т. Д. Для использования при создании приложений. Идея заключается в том, что в случае изменения фирменного стиля мы можем переиздать библиотеку, и все приложения, ссылающиеся на нее, будут переименованы.
Project A не содержит ошибок или предупреждений и правильно создает файл .dll.
Однако, когда я ссылаюсь на .DLL в Проекте B, xaml, который ссылается на некоторые компоненты .DLL, выдает сообщение Loading designer... You can continue working while the designer is loading in the background
навсегда. Когда я пытаюсь запустить проект B, он говорит мне, что он находится в режиме перерыва с System.StackOverflowException
, и все.
Я попытался добавить и удалить строки в файле app.xaml:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/WPFLibrary;component/Styles/Colours.xaml"/>
<ResourceDictionary Source="pack://application:,,,/WPFLibrary;component/Styles/Brushes.xaml"/>
<ResourceDictionary Source="pack://application:,,,/WPFLibrary;component/Styles/Text.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
и это дает мне подсказку, возможно, в том, что только некоторые ссылки (или, может быть, слишком много ссылок?) Приводят к сбою конструктора, но у меня чертовски много времени, пытаясь выяснить, что происходит.
Есть ли у вас какие-либо идеи о том, как я могу отладить эту проблему, учитывая, что Проект A, где проблема, кажется, строится правильно? Например, какие-либо советы или хитрости или дополнительные инструменты, которые могут выявить проблемы во время разработки?
В качестве альтернативы, любые советы о том, как проверить все в Проекте B, должны быть приняты. Я проверил все ссылки, пространства имен и словари ресурсов и уверен, что синтаксис правильный, но, может быть, есть ошибка, которую я мог бы пропустить?