问题标签 [mono.addins]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3268 浏览

.net - MEF 与 Mono.AddIn

我正在开发一个 .NET 3.5 C# 桌面应用程序。它应该可以通过插件进行扩展。

是否有任何文章等讨论 MEF 和 Mono.AddIn 之间的差异,以帮助我做出明智的决定?

或者更好的是,您是否对这两个框架都有经验并可以对它们发表评论?

谢谢,帕特里克

0 投票
1 回答
132 浏览

mono.addins - 使用 Mono.Addins 本地条件

如此处所述您如何在 AddinManager 上“注册 ConditionType 的实例”?

0 投票
1 回答
246 浏览

c# - 使用 Mono.Addins 检测到 BindingFailure 消息

我正在为我的项目使用 Mono.Addins。这是我的代码:

我收到一个错误:

显示名称为“Mono.Addins.CecilReflector”的程序集未能在 ID 为 2 的 AppDomain 的“加载”绑定上下文中加载。失败的原因是:System.IO.FileNotFoundException:无法加载文件或程序集“Mono” .Addins.CecilReflector, Version=0.6.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' 或其依赖项之一。该系统找不到指定的文件。文件名:'Mono.Addins.CecilReflector,版本=0.6.0.0,文化=中性,PublicKeyToken=0738eb9f132ed756'

解决这个问题的任何想法。预先感谢。

0 投票
1 回答
77 浏览

plugins - 插件如何从 AddinRoot 检索和处理数据?

我打算在我的 C#/.NET 项目中使用 Mono.Addins。

为此,我阅读了 codeplex.com 中提供的编程指南和参考手册,从 github.com 下载了最新版本的源代码,并成功构建了源包中包含的所有示例。但是,无论是在线文档还是示例项目,都试图通过创建 ExtensionNode 的新实例来演示如何扩展 AddinHost。似乎遗漏了一些关于如何从 AddinHost 检索和处理数据的内容。

例如,假设我有一个处理 RTF 文档的文本编辑器,并且我想为插件提供以自己的方式查找/替换文档的可能性(例如,Regex / Forward / Backward / Whole document / Current Line. ..),所以插件需要先从 AddinHost 获取内容。这是我需要回答的问题。

有任何想法吗?

0 投票
2 回答
467 浏览

c# - Mono.Addin 实现不检索插件

我正在使用 Mono.Addins 框架、C# 和 Visual Studio 2010 编写一个可扩展的应用程序。

我的应用程序的结构如下:

项目1:

项目2(参考项目1):

项目3(参考项目1):

问题是:在 foreach 语句中没有产生任何插件。

ps:所有.dll都编译在同一个目录下。

0 投票
1 回答
247 浏览

c# - 如果从 AutoCAD 初始化,Mono 插件不会加载

我有一个相当复杂的应用程序,这个应用程序的结构如下:

Main.exe(是一个独立的应用程序)

Main.exe用途Project1.dll(其中包含一个表格)

中包含的表单Project1.dll由另一个 dll ( Project2.dll) 扩展,使用mono.addins

Main.exe我可以看到以正确方式扩展的表单。

我还实现了一个Project3.dll通过 autocad 内部加载的 autocad 连接器(比如 )netload,该连接器使用 的形式,Project1.dll并且该形式也必须在 autocad 中扩展。

结果是在 AutoCAD 中我的表单似乎没有扩展,如果我调试代码:

foreach 不会产生任何插件。

请注意,这些 .dll 中的每一个都存储在同一目录中。

我想问题出在 autocad exe 文件的不同位置,但我尝试了一些调整,但都没有工作..

我试过了:

  • 创建一个包含 .dlls 路径的 .addins 文件。
  • 使用所有 .dll 的副本创建一个子文件夹 \addins\
  • 初始化AddinManager给出的.dll路径
  • 更新AddinManager.Registry给定的 .dll 路径

代码结构相当复杂(涉及许多文件和项目),因此不太容易粘贴或提供一些工作代码。

0 投票
1 回答
163 浏览

c# - Resource 与 EmbeddedResource 哪个更适合图像?

我有一个包含大量图像的 WPF 应用程序。我听说 Build Action - Embedded Resource 使图片文件内置到程序集中,因此增加了加载它所需的内存大小。

是真的吗?我正在使用Mono.Addins项目,它只支持加载嵌入式资源,除非我想使用其他发现 + 加载方法。

嵌入式资源对图像有害吗?

0 投票
0 回答
95 浏览

mono.addins - Mono.Addins:一个主应用程序可以注册一个扩展点被另一个应用程序注册的扩展吗?

我有以下情况:

共同项目

  • 注册一些扩展点(所有接口)有一个公共扩展管理器类,它返回注册的扩展

图书馆计划

  • 注册为 addin root 注册扩展点由 Common Project 注册的扩展 注册扩展点

  • 有一个扩展管理器,它返回注册到上述扩展点的扩展

  • 查询公共项目以检索一种类型的扩展名但一无所获(扩展名由主应用程序注册,尚未尝试将 exe 的副本放在插件目录中)

主应用程序(exe)

  • Registered ass addin root 注册一个扩展点在 Common Project 中的扩展
  • 查询扩展点和扩展都在库项目中注册的扩展。
  • 仅当 Library.dll 在 ./addins 目录中时才能成功获取扩展名。

我的问题是

  1. 难道我们不能有一个单独的项目,它只注册扩展点并拥有其他程序集,包括对这些点的主应用程序导出/注册扩展吗?
  2. 我们应该将所有扩展点保留在主应用程序还是某个插件根目录中?如果扩展开发人员发布的扩展引用了注册点的主程序集的过时版本怎么办?