代码之家  ›  专栏  ›  技术社区  ›  Ehsan Akbar

'程序集'系统线程通道'引用程序集'系统.threading.tasks.extensions,v.”,当前数据库中不存在

  •  0
  • Ehsan Akbar  · 技术社区  · 5 年前

    CREATE ASSEMBLY ClassLibrary1
    AUTHORIZATION dbo
    FROM 'C:\Debug\ClassLibrary1.dll'
    WITH PERMISSION_SET = UNSAFE
    GO
    

    你可以在这里看到我的DLL

    enter image description here

    enter image description here

    '程序集'系统线程通道'引用程序集'系统.threading.tasks.extensions,version=4.2.0.0,culture=neutral,publickeytoken=cc7b13ffcd2ddd51',当前数据库中不存在。SQL Server尝试从引用程序集的来源位置定位并自动加载引用的程序集,但该操作失败(原因:版本、区域性或公钥不匹配)。请将引用的程序集加载到当前数据库中,然后重试请求。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Niels Berglund    5 年前

    嗯,很有趣-你创建程序集的方式扩展dll应该是自动创建的。

    • 我假设您已手动将所有dll复制到您的目录中。如果 channels dll使用的扩展的版本就是您在 目录。
    • 程序集,因为不允许所有clr dll。尝试创建 手动扩展dll,然后是通道dll。

    有些dll很难部署到db中,这是有原因的,所以不妨问问你自己,你是否能在db之外完成你想用dll做的事情。每次我看到dll的引用系统线程,和系统内存我很担心。

    哦,我知道你想做什么了-你想调用Rabbit,我假设你正在使用一个最新的Rabbit客户端dll。我有一个模糊的记忆,即后面的dll不能部署到SQL。实际上,我在2017年写了一篇关于如何做到这一点的博文。 Have a look at the post ,看看是否对你有帮助。