我正在尝试创建我的第一个 CLR 程序集。我已经在 VS 中创建了一个 dll,现在我尝试在 SQL Server 中使用它。
我尝试使用以下代码创建程序集:
CREATE ASSEMBLY SQLCLRroy
FROM '...\SqlExternalFunctions\bin\Debug\net5.0\SQLExternalFunctions.dll';
但我收到错误
程序集“SqlExternalFunctions”引用程序集“system.runtime,version=5.0.0.0,culture=neutral,publickeytoken=b03f5f7f11d50a3a。”,当前数据库中不存在该程序集。
在网上搜寻后,我尝试这样做:
CREATE ASSEMBLY [System.Runtime]
FROM 'C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.dll'
这又会导致错误
警告:Microsoft .NET Framework 程序集“system.runtime,version=5.0.0.0,culture=neutral,publickeytoken=b03f5f7f11d50a3a”。您正在注册的内容尚未在 SQL Server 托管环境中进行全面测试,并且不受支持。
我是否需要以某种方式阻止我的 .NET 代码引用
System.Runtime
?我唯一的包裹是System.Data.SqlClient
我的.NET代码非常简单:
using System;
using System.Linq;
public static class SqlExternalFunctions
{
[Microsoft.SqlServer.Server.SqlFunction]
public static int myTest(int param )
{
return param;
}
}
使用 .Net Framework 而不是 .Net Core