我正在尝试使用 .NET CLR 创建存储过程。我成功地将以下代码编译成 .NET 3.5 DLL。
Imports System.Math
Imports System.Text.RegularExpressions
Imports Microsoft.SqlServer.Server
Partial Public Class LevenshteinerAndSoundexer
<SqlProcedure()> _
Public Shared Function getLevenshteinDistance(ByVal string1 As String, ByVal String2 As String) As Integer
然后,我使用以下代码成功地将其添加为程序集:
create assembly
LevenshteinLibrary
from 'Path\LevenshteinLibrary.dll'
但是当我用这段代码创建程序时
create procedure testCLR(@s1 nvarchar(1000), @s2 nvarchar(1000))
as external NAME LevenshteinLibrary.LevenshteinerAndSoundexer.getLevenshteinDistance
我得到错误
“在程序集 'LevenshteinLibrary' 中找不到类型 'LevenshteinLibrary'”
为什么它不能“看到”这个功能?
当我在 ILSpy 中检查 DLL 时,会发生以下情况:
这是我扩展库时的样子