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.
このエラーをグーグルで検索しましたが、適切なものが見つからないようです。私たちが行った変更では、新しい参照や変更された参照はありませんでした。そのため、サーバーから欠落している何かに関連しているとは思いません。コードは以前はかなり長い間そこで機能していました。ここで何が起こっているか知っている人はいますか?