我在一个用F#、FsXaml和Elmish.WPF构建的WPF应用程序中得到了这个错误。
System.Xaml.XamlObjectWriterException:
Cannot create unknown type '{http://schemas.componentone.com/winfx/2006/xaml}C1ProgressIndicator'.
at System.Xaml.XamlObjectWriter.WriteStartObject(XamlType xamlType)
at FsXaml.InjectXaml.from(String file, Boolean loadFromResource, Object root)
虽然我可以在我的App项目中包含对C1.WPF.4.dll的引用,但我还是不愿意。
有更好的方法吗?
发布于 2019-03-16 21:47:04
为了让它发挥作用:
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可以找到要实例化的类。
第二个感觉就像个黑客。我想知道是否有更好的方式说,“请添加对这个DLL的引用,即使我没有使用它的类型。”
https://stackoverflow.com/questions/55201786
复制相似问题