如何在MonoDevelop中为旧版本指定插件依赖项
本文关键字:插件 依赖 版本 MonoDevelop | 更新日期: 2023-09-27 18:03:04
我正在使用MonoDevelop的AddinMaker插件来创建一个插件,我不仅想在我用来开发插件的版本(5.9.2)上运行,而且想在旧版本(>= 5.0)上运行。
到目前为止,我发现有三个点定义了对其他插件的依赖:
在AddinInfo.cs:[assembly: AddinDependency("::MonoDevelop.Core", MonoDevelop.BuildInfo.CompatVersion)]
[assembly: AddinDependency("::MonoDevelop.DesignerSupport", MonoDevelop.BuildInfo.CompatVersion)]
[assembly: AddinDependency("::MonoDevelop.Ide", MonoDevelop.BuildInfo.CompatVersion)]
[assembly: AddinDependency("::MonoDevelop.SourceEditor2", MonoDevelop.BuildInfo.CompatVersion)]
在Manifest.addin.xml: <Dependencies>
<Addin id="::MonoDevelop.Core" version="5.0" />
<Addin id="::MonoDevelop.DesignerSupport" version="5.0" />
<Addin id="::MonoDevelop.Ide" version="5.0" />
<Addin id="::MonoDevelop.SourceEditor2" version="5.0" />
</Dependencies>
然后还有通过Project Pad UI添加的"插件参考",它似乎根本不支持设置目标版本。
每当我使用mdtool pack MyPlugin.dll
打包插件时,就会创建一个包,其中包含自动生成的addin.info文件中的重复行:
<Dependencies>
<Addin id="::MonoDevelop.Core" version="5.9.2" />
<Addin id="::MonoDevelop.Ide" version="5.9.2" />
<Addin id="::MonoDevelop.SourceEditor2" version="5.9.2" />
<Addin id="::MonoDevelop.DesignerSupport" version="5.9.2" />
<Addin id="::MonoDevelop.DesignerSupport" version="5.0" />
<Addin id="::MonoDevelop.Ide" version="5.0" />
<Addin id="::MonoDevelop.SourceEditor2" version="5.0" />
<Addin id="::MonoDevelop.Core" version="5.0" />
</Dependencies>
我怀疑包含"5.0"作为版本的条目来自我在上面提到的文件中的设置(AddinInfo.cs似乎就足够了),而"5.9.2"条目似乎来自其他地方。有办法摆脱这些吗?我所依赖的所有api都已经在5.0中存在了。
我在Xamarin论坛上有一个交流,答案是如果你想让你的插件与Xamarin Studio 5.0兼容,你需要在那个版本上构建你的插件。见:https://forums.xamarin.com/discussion/comment/170110 Comment_170110