Чтобы заставить это работать:
- В вашем файле XAML замените пространство имен XAML пространством имен CLR.Например, вместо
xmlns:c1="http://schemas.componentone.com/winfx/2006/xaml"
используйте что-то вроде xmlns:c1="clr-namespace:C1.WPF;assembly=C1.WPF.4"
.
Это необходимо, поскольку при запуске App.exe он еще не загружал библиотеку элементов управления.В библиотеке элементов управления атрибут создает отображение из пространства имен XAML в пространство имен CLR.Явно указав пространство имен CLR и сборку, XamlReader может найти класс для создания экземпляра.
Создать фиктивный экземпляр в коде Views.Экземпляр-пустышка - это экземпляр чего-то из библиотеки элементов управления.Это создает зависимость в Views.dll от библиотеки элементов управления.
// force the compiler to add a reference to C1.WPF.4.dll
let private forceC1DllReference = C1.WPF.Anchor.TopLeft
type MainWindowView = XAML< "MainWindow.xaml" >
Этот второй выглядит как хак.Интересно, есть ли лучший способ сказать: «Пожалуйста, добавьте ссылку на эту DLL, даже если я не использую типы из нее».