使用VS2017,我創建了一個間接使用BouncyCastle.Crypto.dll
的SQL CLR DLL(用於SQL Server 2014),但無法爲其編寫CREATE ASSEMBLY
。它給出了一個警告,(我希望),但失敗並如何將帶有BouncyCastle.crypto.dll依賴項的程序集加載到SQL Server 2014中?
消息10332,級別16,狀態1,行85
大會 「BouncyCastle.Crypto」 是使用.NET Framework版本V1.1.4322建。 SQL Server當前使用版本v4.0.30319。消息6218,級別16,狀態2,行90
CREATE組裝 'SqlClrBits' ASSEMBLY失敗,因爲程序集 'BouncyCastle.Crypto' 驗證失敗。檢查引用的程序集是否在數據庫中執行最新和可信(用於external_access或unsafe)。 CLR驗證器錯誤消息,如果有任何將遵循此消息
[:Org.BouncyCastle.OpenSsl.PemReader :: ReadObject] [mdToken = 0x6002e46] [偏移量0x00000024]調用的'this'參數必須是調用方法的'this'參數。
[:Org.BouncyCastle.OpenSsl.PemReader :: ReadObject] [mdToken = 0x6002e46] [offset 0x00000102]調用的'this'參數必須是調用方法的'this'參數。
我已成功加載它(預BouncyCastle的),這需要
CREATE ASYMMETRIC KEY MyKey ... FROM EXECUTABLE FILE ...
CREATE LOGIN MyUser FROM ASYMMETRIC KEY MyKey
GRANT EXTERNAL ACCESS ASSEMBLY TO MyUser
之前我也勉強運行
ALTER DATABASE MyDb SET TRUSTWORTHY ON
我甚至在自己的權利做CREATE ASSEMBLY
爲BouncyCastle.Crypto
。 那麼..我如何將SQL CLR程序集加載到SQL Server中?