gpt4 book ai didi

c# - 如何在 MonoDevelop 中为旧版本指定添加依赖项?

转载 作者:太空宇宙 更新时间:2023-11-03 13:03:52 26 4
gpt4 key购买 nike

我正在使用 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添加的“Addin References”,似乎根本不支持设置目标版本。

每当我使用 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”作为版本的条目源 self 在上述文件中的设置(AddinInfo.cs 似乎就足够了),而“5.9.2”条目似乎源自其他地方。有没有办法摆脱那些?我依赖的所有 API 都已经在 5.0 中了。

最佳答案

我在 Xamarin 论坛上进行了一次交流,答案是如果你想让你的加载项与 Xamarin Studio 5.0 兼容,你需要在该版本上构建你的加载项。请参阅:https://forums.xamarin.com/discussion/comment/170110#Comment_170110

关于c# - 如何在 MonoDevelop 中为旧版本指定添加依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31450992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com