有没有考虑过把官方维护的插件发布为Nuget包 #23
Replies: 9 comments 3 replies
-
可以是可以,不过感觉有点滥用 nuget(下次有时间我看情况,传下吧),目前建议通过 git submodule 方式来开发插件 这里提醒一下,目前还不支持直接上传 nupkg 包插件(那个上传页面提示支持,但是需要将所有用到的dll一起打包进入nupkg,而默认 dotnet pack 是不会这么做的),支持直接上传 nupkg 插件目前在 PluginCore 已经搁置了,解析依赖再下载再解析,已经发现太多问题了,代码我也还没传上去(逃 后续 |
Beta Was this translation helpful? Give feedback.
-
好吧,主要是我小白没太整明白 submodule 怎么用🤡 |
Beta Was this translation helpful? Give feedback.
-
@Alex1911-Jiang <ItemGroup>
<PackageReference Include="PluginCore.KonataPlugin" Version="0.1.10">
<ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>
</ItemGroup> |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
似乎确实是我编译的插件会导致问题,我把 KnifeHub 删了重新解压,KonataPlugin 是能成功安装并启用的,但是尝试启用我编译的 QQHelloWorldPlugin 之后,别的插件也无法启用,并且原来正常安装和启用的 KonataPlugin 在禁用后点击卸载也会报插件不存在的错误,无法卸载 |
Beta Was this translation helpful? Give feedback.
-
可能是啥重复加载了,还有有时候依赖顺序不正确也可能导致(先加载 KonataPlugin,再加载 依赖插件,建议启用 KonataPlugin 后,随便填下账号密码,点击登录,确保 KonataPlugin 其中一些dll先加载,加载采用被动懒加载,在没有碰到类型前,不会主动加载非APlugin.dll) |
Beta Was this translation helpful? Give feedback.
-
注意看下最后一句,是不是 |
Beta Was this translation helpful? Give feedback.
-
@找到问题所在了,因为签名没变,KonataPlugin 匹配不上,我发布个新版本 KonataPlugin 指定一下版本 |
Beta Was this translation helpful? Give feedback.
-
突然想起来,为啥不发nuget包了, 因为这样会导致你用引用nuget包发布的插件,最终引用依赖项(插件.dll的依赖信息会带上nuget版本号),这样在搜索时,就会必须匹配版本号才行,这样插件依赖就不能兼容了,A插件更新版本后,B插件也必须更新
不过建议还是用项目依赖吧,配合上 git submodule,最近挺忙,nuget包方式怪麻烦的 |
Beta Was this translation helpful? Give feedback.
-
我的插件需要依赖 KonataPlugin ,但是如果这个插件更新,我要拉取源代码再编译使用起来不太方便,如果能通过 Nuget 就好了🙏
Beta Was this translation helpful? Give feedback.
All reactions