Microsoft.SqlServer.Server 命名空间

Microsoft.SqlServer.Server namespace

我正在尝试实现公共语言运行时 (CLR) 程序集以与 SQL 服务器一起使用。为了创建 dll,我使用 Visual Studio 2019。

我有示例教程中的以下代码:

using System;
using System.Collections;
using System.Text;
using System.Data;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;


namespace Split
{
    public class Class1
    {
        [SqlFunction(
            DataAccess = DataAccessKind.None,
            FillRowMethodName = "MyFillRowMethod"
            , IsDeterministic = true)
        ]

        public static IEnumerable Split(string stringToSplit, string delimiters)
        {

            string[] elements = stringToSplit.Split(delimiters.ToCharArray());
            return elements;
        }

        public static void MyFillRowMethod(Object theItem, out SqlChars results)
        {
            results = new SqlChars(theItem.ToString());
        }
    }
}

但是我遇到了这个错误:

Error CS0234 The type or namespace name 'SqlServer' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)

任何人都可以告诉我解决问题的方法吗?

如错误信息提示:

您可能遗漏了对 System.Data.SqlClient 的引用,其中包含 Microsoft.SqlServer.Server 命名空间中的 SqlFunctionAttribute

  1. 右键单击您的项目,然后单击 Manage NuGet Packages...

  2. 搜索 System.Data.SqlClient

  3. 安装

这应该可以解决您的问题。