我正在使用一些用 C# 编写的 SQL 2005 CLR 代码。我们最近更改了一些函数以允许 NULL 参数。我们通过将参数从“double”类型更改为“SqlDecimal”类型来做到这一点。我们成功测试了开发中的更改,并已将更新部署到生产服务器。我们使用 SQL 脚本从服务器中删除现有代码,然后创建更新的程序集和相关对象。我们在开发和测试中使用的 SQL 脚本已经部署到生产服务器上,没有任何更改,但是当我们在那里运行它时,我们看到一个错误:
Creating CLR assemblies
Msg 6218, Level 16, State 2, Line 2
CREATE ASSEMBLY for assembly 'Company.Db.CLRStoredProcedures' failed because assembly 'Company.Db.CLRStoredProcedures' failed verification. Check if the referenced assemblies are up-to-date and trusted (for external_access or unsafe) to execute in the database. CLR Verifier error messages if any will follow this message
[ : StoredProcedures::clrproc_OSGBtoWGS84][mdToken=0x600002e][offset 0x0000002C] Unable to resolve token.
我已经用谷歌搜索了这个错误,但似乎找不到任何合理的东西。在我们所做的更改中,没有新的或更改的引用,因此我认为这与服务器中缺少的任何内容无关,代码之前已经在那里工作了很长一段时间。有谁知道这里发生了什么?