我有以下情况:
共同项目
- 注册一些扩展点(所有接口)有一个公共扩展管理器类,它返回注册的扩展
图书馆计划
注册为 addin root 注册扩展点由 Common Project 注册的扩展 注册扩展点
有一个扩展管理器,它返回注册到上述扩展点的扩展
- 查询公共项目以检索一种类型的扩展名但一无所获(扩展名由主应用程序注册,尚未尝试将 exe 的副本放在插件目录中)
主应用程序(exe)
- Registered ass addin root 注册一个扩展点在 Common Project 中的扩展
- 查询扩展点和扩展都在库项目中注册的扩展。
- 仅当 Library.dll 在 ./addins 目录中时才能成功获取扩展名。
我的问题是
- 难道我们不能有一个单独的项目,它只注册扩展点并拥有其他程序集,包括对这些点的主应用程序导出/注册扩展吗?
- 我们应该将所有扩展点保留在主应用程序还是某个插件根目录中?如果扩展开发人员发布的扩展引用了注册点的主程序集的过时版本怎么办?