【问题标题】:WPF Plugin not recognizedWPF 插件无法识别
【发布时间】:2013-02-15 00:27:23
【问题描述】:

我正在编写一个与插件一起使用的应用程序。 在主程序中,我通过在程序集中查找插件接口来加载所有插件。

我所有基于 WPF 的插件(VB.NET v4.0 和 C# v4.0)都会被识别,除了一个。该插件使用 ResourceDictionaries、大量模板和子目录。 这个插件是用 Visual Studio 2010 和 Expression Blend 4 用 C# 基于 WPF 4.0 编写的。

这很奇怪,因为插件在主程序中被识别。但经过几次测试和构建后,主程序停止识别插件。

我对工作插件和插件进行了备份,现在无法识别。 csproj 文件和设置几乎相同。

我找不到解决方案,谷歌也不太了解这个问题。

如果发现一些信息,XAML 代码会影响程序集,因此其他程序无法识别它。但是没有具体的信息,也没有解决方案。

有没有人知道这个问题并且更好 - 有没有人知道解决方案?

【问题讨论】:

  • 您能否发布一些代码来显示您如何加载插件?
  • 我发现了问题所在。插件抛出异常,插件管理器忽略了插件。但是现在我面临一个新问题:如果我尝试实例化我的主窗口,调试器会抛出异常,即找不到 System.Windows.Interactivity.dll。调试器说:(XamlParseException)找不到文件或程序集“System.Windows.Interactivity,PublicKeyToken=31bf3856ad364e35”或依赖项。系统找不到文件。如果我作为独立运行应用程序(插件有一个“Debug.xaml”,它以窗口模式加载插件),一切正常。

标签: c# wpf plugins expression-blend


【解决方案1】:

关于您的附加评论 (XamlParseException):

您是否在主项目(正在加载插件)和插件项目中引用了 System.Windows.Interactivity.dll?

【讨论】:

  • 我发现了问题。主程序是我的根文件夹中的 startet。所有插件都位于 root\plugins 中。问题是,我在插件文件夹中有 System.Windows.Interactivity.dll 而不是根目录。我的同事解决了这个问题,因为他编写了主程序。但是感谢您的帮助:)
猜你喜欢
  • 1970-01-01
  • 2019-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-12
  • 1970-01-01
  • 2020-06-06
相关资源
最近更新 更多