2012年4月9日 星期一

解決SQL SERVER 2008 昇級SQL SERVER 2012 後無法使用 Visual Studio 2010 開啟 SQL SERVER 資料庫專案


近期將SQL SERVER 2008 昇級到SQL SERVER 2012之後,
卻發生無法使用 Visual Studio 2010 開啟 SQL SERVER 資料庫專案的問題。
一開啟SQL SERVER 資料庫專案,Visual Studio 2010 即提示
無法載入檔案或組件 'Microsoft.SqlServer.Management.SqlParser, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' 或其相依性的其中之一。系統找不到指定的檔案。
Could not load file or assembly 'Microsoft.SqlServer.Management.SqlParser, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. the system cannot find the file specified.
經查,應是 Visual Studio 2010 需要 Microsoft.SqlServer.Management.SqlParser V.10 版,但昇級 SQL SERVER 2012 後的更新版本為V.11  , 造成專案找不到該dll 無法開啟,解決方法如下︰

先至安裝SQL SERVER 2008版的主機上取出下面二個檔案(C:\Windows\assembly)。

1.Microsoft.SqlServer.Management.SqlParser.dll
2.Microsoft.SqlServer.Management.SqlParser.Resources.dll
重新註冊一次後,問題即可解決

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\gacutil /i C:\Microsoft.SqlServer.Management.SqlParser.dll
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\gacutil /i C:\Microsoft.SqlServer.Management.SqlParser.Resources.dll

PS.每個人的  gacutil  檔案位置會隨著安裝的 Visual Studio 版本、安裝路徑而有不同的結果,請先自行尋找 gacutil  檔案的位置,上列指令採 Visual Studio 2010 ;安裝路徑為預設值。

1 則留言:

Eric 提到...

找了半天, 你解決了我的問題, 感謝.

不過我的問題是在 Windows 7 x64 VS2010 上發生, 並未升級SQL SERVER 2012. 但解法一樣.