在加载插件并尝试创建“XYZ”控件时,应用程序抛出以下异常:
“用户控件‘XYZ’没有由URI '/ThePluginAssembly;component/XYZ.xaml'标识的资源”,在UserControls构造函数的InitializeComponent()方法中。
关键点如下:
1)用户控件位于插件程序集中。
2)我正在尝试从插件程序集内部创建用户控件。
3)插件与主应用程序位于同一目录中。
4)只有在通过XAML创建UserControl时才会出现问题。我在同一程序集中还有几个其他的UserControl,但是我使用代码实例化这些控件。只有在尝试通过XAML创建UserControl时,我才会收到错误消息。
通过一些谷歌搜索,我意识到当我的插件在应用程序中加载两个实例时会发生这种情况。当我从其中一个文件夹中删除了我的插件(我允许该插件从两个位置加载)时,该异常不再出现。
我的问题:
1)WPF尝试解析URI以加载我的控件的原因是什么?
2)是否有一种方法可以在应用程序中加载两个插件实例,并消除异常?或者有没有一种方式为每个实例创建唯一的URI(如果此异常是由冲突的URI引起的)。
任何评论或参考都将有所帮助。
感谢您的关注。
编辑:
与Phil发布的相同问题:如何强制WPF使用使用程序集强名称的资源URI?Argh!
“用户控件‘XYZ’没有由URI '/ThePluginAssembly;component/XYZ.xaml'标识的资源”,在UserControls构造函数的InitializeComponent()方法中。
关键点如下:
1)用户控件位于插件程序集中。
2)我正在尝试从插件程序集内部创建用户控件。
3)插件与主应用程序位于同一目录中。
4)只有在通过XAML创建UserControl时才会出现问题。我在同一程序集中还有几个其他的UserControl,但是我使用代码实例化这些控件。只有在尝试通过XAML创建UserControl时,我才会收到错误消息。
通过一些谷歌搜索,我意识到当我的插件在应用程序中加载两个实例时会发生这种情况。当我从其中一个文件夹中删除了我的插件(我允许该插件从两个位置加载)时,该异常不再出现。
我的问题:
1)WPF尝试解析URI以加载我的控件的原因是什么?
2)是否有一种方法可以在应用程序中加载两个插件实例,并消除异常?或者有没有一种方式为每个实例创建唯一的URI(如果此异常是由冲突的URI引起的)。
任何评论或参考都将有所帮助。
感谢您的关注。
编辑:
与Phil发布的相同问题:如何强制WPF使用使用程序集强名称的资源URI?Argh!