[Tips]Could not load file or assembly Microsoft.SqlServer.Management.Sdk.Sfc
前言
今天在使用VS2008連DB時,發現測試連接都OK,但是按完成時卻都出現一個錯誤。
---------------------------
伺服器總管
---------------------------
無法加入資料連接。 無法載入檔案或組件 'Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' 或其相依性的其中之一。 系統找不到指定的檔案。
---------------------------
確定
---------------------------
我記得之前都還可以啊,而且最近也沒安裝或更新過DBMS。
看起來很像是VS2008參考的Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0,這顆不存在於GAC裡面。
真是怪,沒法子只好上MSDN forum找找看。
Solution
後來發現似乎有不少人都有這樣的問題,
可以參考這兩篇:
1.http://social.msdn.microsoft.com/Forums/en-US/sqlnetfx/thread/1d2cb76b-642f-4067-9667-aacdbc142f74
2.http://social.msdn.microsoft.com/Forums/en-US/vssetup/thread/5abfbb57-dac9-4039-b121-ae21c9b9352c
看了一下,有人質疑原本的專案可以跑,裝了VS2008 SP1才不能跑,
可能原因似乎是VS2008參考的SqlServer是9.0的組件,SP1則是10.0的組件。
而10.0的部分,要額外安裝SQL 2008 SMO。那就裝吧!
我是安裝了三個檔:
- Microsoft SQL Server System CLR Types - http://go.microsoft.com/fwlink/?LinkId=123721&clcid=0x409
- Microsoft SQL Server 2008 Management Objects - http://go.microsoft.com/fwlink/?LinkId=123708&clcid=0x409
- Microsoft SQL Server 2008 Native Client - http://go.microsoft.com/fwlink/?LinkId=123717&clcid=0x409
結果就在GAC裡面看到少的那顆dll。
只是在這邊隨手做個memo,方便其他人遇到這個錯時可以找到連結。
blog 與課程更新內容,請前往新站位置:http://tdd.best/