ScheduleMasterCore icon indicating copy to clipboard operation
ScheduleMasterCore copied to clipboard

关于程序集任务中DLL版本依赖的问题

Open JomHuang opened this issue 4 years ago • 6 comments

程序集任务,上传的程序包中的DLL不能和节点程序中的DLL冲突,导致任务编写繁杂,如果依赖的程序包过多,对引用版本号也有很多限制,是否由解决办法

JomHuang avatar Oct 28 '20 07:10 JomHuang

场景1:引用的DLL集和HOST中的版本有冲突,导致错误。 场景2:引用host中不存在的DLL程序集,这个DLL应该放在那里,host文件夹里面还是和JOB代码一起打包。

JomHuang avatar Nov 03 '20 00:11 JomHuang

任务的程序集以及它引用的程序集是单独打包的,不需要添加到HOST引用里,也不需要放在HOST的哪个文件夹,这些打包的程序集会在独立的AssemblyContext中运行,应该不会出现你说的版本冲突问题。

hey-hoho avatar Nov 03 '20 01:11 hey-hoho

这里应该不兼容.net framework的dll吧 , 23333

Inuyasha-Monster avatar Nov 15 '20 10:11 Inuyasha-Monster

我也碰到了,阿里云oss的core版的dll,跑不起来,自己用控制台可以跑,搞不定哪里出问题

feelhum avatar Dec 02 '20 02:12 feelhum

我也碰到了,阿里云oss的core版的dll,跑不起来,自己用控制台可以跑,搞不定哪里出问题

毕竟向下兼容这个东西没办法做得 , 微软是阻断式的 , 通过http(或者其他远程调用)隔离吧

Inuyasha-Monster avatar Dec 02 '20 02:12 Inuyasha-Monster

引用的DLL集和HOST中的版本有冲突, 可以在打包 .ZIP 文件的时候删除冲突的 .DLL , 这样就可以运行了。 目前只发现 SQLSERVER 的驱动会冲突。
编写PLUGIN 的时候尽量 DLL 工程设置为 .NET CORE 3.1 , 这样可以最大程度避免 DLL 引用问题

Harryguo2020 avatar Feb 17 '21 08:02 Harryguo2020