我正在嘗試從特定的dll創建程序集。我執行命令是由於對.net程序集的引用而無法創建程序集
從 CREATE ASSEMBLY 「xx.xx.blobviewer」 'd:\ XX \ XX \ XX \ BlobSniffer \ BlobSniffer.dll' WITH PERMISSION_SET =不安全
的消息我得到的響應是:
大會 'BlobSniffer' 的引用組件 'system.runtime.serialization,版本= 4.0.0.0,文化=中性 公鑰= b77a5c561934e089',它不存在於目前的0123數據庫。 SQL Server試圖從引用程序集 來自的相同位置找到並自動加載引用的程序集,但該操作已失敗(原因:2(系統不能 找到指定的文件))。請將引用的程序集加載到當前數據庫的 中,然後重試您的請求。
我試圖複製要求的.NET的DLL-S到BlobSniffer文件夾,但之後,我複製所有引用的程序我得到這個:
CREATE ASSEMBLY裝配 'BlobSniffer' 失敗,因爲裝配 'microsoft.visualbasic.activities.compiler'格式不正確或不是純粹的.NET程序集。無法驗證的PE標頭/本地存根。
第一個問題,爲什麼我甚至需要複製.net程序集,是不是應該自動檢索?
第二個問題,裝配被標記爲畸形的有什麼問題?該程序集也是.net框架的一部分,並且沒有外部類。
omegasbk:不知道您是否注意到了,但@rolo發佈了一個非常正確的答案。爲了確保你的第一個問題得到直接回答,我在答覆的評論中增加了一些細節。但是,這個答案非常重要。有關使用SQLCLR的更多信息,我正在SQL Server Central上編寫一系列名爲[SQLCLR的階梯](http://www.sqlservercentral.com/stairway/105855/)(需要免費註冊)。級別5「在SQL Server中使用.NET」專門處理此問題。 – 2015-08-17 04:25:39