[Visual Studio]編譯器警告-找不到組件 Microsoft.Data.Tools.Schema.Sql.UnitTesting

幾年前使用Visual Studio 2012曾發生過類似的問題,當時是安裝SQL Server Data Tools解決,Visual Studio 2017的年代,再次遇到。好,來解決這個惱人的小問題。

 

錯誤訊息:

無法解析此參考。找不到組件 "Microsoft.Data.Tools.Components, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"。請檢查以確定磁碟上有該組件。 如果程式碼需要此參考,可能會發生編譯錯誤。     

無法解析此參考。找不到組件 "Microsoft.Data.Tools.Schema.Sql.UnitTesting, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"。請檢查以確定磁碟上有該組件。 如果程式碼需要此參考,可能會發生編譯錯誤。

 


檢查SQL Data Tool

下載Visual Studio Installer,下載後點選執行檔,然後按一下繼續

 

更多 > 修改

個別元件 > 雲端、資料庫和伺服器 > 安裝SQL Server Data Tools

確認粉紅色圈選的個別元件是否有安裝

 


檢查參考檔案是否存在

如果編譯器還是跳出警示,再繼續檢查參考的dll檔案是否存在。

因為是兩顆Microsoft.Data.Tools的dll出問題,先檢查C:\Windows\Microsoft.NET\,果然發Microsoft.Data.Tools.Schema.Sql.UnitTesting及Microsoft.Data.Tools.Components 資料夾

以Sql.UnitTesting資料夾為例,我們最新只有到14.0.0.的版本

從14.0.0.0 按右鍵複製出15.0.0.0的資料夾

Microsoft.Data.Tools.Schema.Sql.UnitTesting及Microsoft.Data.Tools.Components 兩個資料夾都要。

Visual Studio再重新Build,就消除警告了。

 


參考

Visual Studio 2017 warning issues

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/09f82922-2fe5-46cc-bc70-b63f137aec28/visual-studio-2017-warning-issues-?forum=vssetup

 

Missing Microsoft.Data.Tools.Schema.Sql.UnitTesting. Again

https://stackoverflow.com/questions/44603822/missing-microsoft-data-tools-schema-sql-unittesting-again