在阅读this question之后,我开始开发一个简单的演示,以查看它是否符合我的需求。
我能够启动并运行(目前有2个demoplugins)
现在我正在苦苦思考Docs
中未涵盖的一些问题问题一:版本
是否可以加载同一插件的多个版本?
可以说我有一个HelloWorld-Plugin,现在想对该插件进行更改,但保持旧的 stable 版本已注册并正在运行吗?
我已经用[assembly: Addin(Version = "2.0.0.0")]
和[assembly: Addin(Version = "1.0.0.0")]
进行了尝试,但是如果存在V2,我的V1现在将不再加载...
问题二:热插拔
我的下一个问题是,如果HostApp正在运行,则无法删除或更改文件系统中的Plugin-dll。这很麻烦,因为不能在不停止主机的情况下单独部署插件。
可以肯定的是,我可以编写一个简单的(Web)Api,该API允许Azure DevOps(例如)调用终结点handlig所有必需的东西,但这对我来说似乎有点尴尬。那么Mono.addins内部是否存在任何允许热插拔插件的隐藏机制?
预先感谢