在 SQL 目录中找不到程序集 'system.directoryservices.accountmanagement'

Assembly 'system.directoryservices.accountmanagement' was not found in the SQL catalog

我正在使用 Visual Studio 在 VB.NeT 中为 SQL 数据库编写 CLR 程序集。

当我尝试部署我的项目时出现此错误:

Assembly 'system.directoryservices.accountmanagement' was not found in the SQL catalog

有人有什么想法吗?

该错误意味着该库不是 SQL 服务器的 CLR 主机中包含的内置 .NET Framework 库之一。以下文档列出了包含的一小部分库:

Supported .NET Framework Libraries

您需要通过以下方式手动导入该库:

CREATE ASSEMBLY [system.directoryservices.accountmanagement]
FROM FILE .....
WITH PERMISSION_SET = UNSAFE;

该过程将导入 system.directoryservices.accountmanagement 所依赖的任何其他库(如果有)。

请注意:这不能保证一定会成功。如果此链中的 ANY 库包含非托管代码(即“混合模式”程序集),则导入过程将失败,并且除了将代码更改为不依赖于您使用的初始框架库之外,没有其他解决方法。你会在第一次导入时发现。

您可以将此包含在 Visual Studio/SSDT 的预发布脚本中,以合并到发布脚本中。一定要先做一个存在性检查,这样第一次后就不会出错了。