(1) C#のエラー「CS1069~このアセンブリへの参照を追加する事を検討してください」の対処方法
(1-1) 発生状況・エラーメッセージ
(1-2) 原因
(1-3) 対処法
(1) C#のエラー「CS1069~このアセンブリへの参照を追加する事を検討してください」の対処方法
(1-1) エラー概要
<エラーメッセージ>
CS1069: 型名 'SqlConnection'は名前空間'System.Data.SqlClient'に見つかりませんでした。この型はアセンブリ'System.Data.SqlClient,Version=4.6.1.0, Culture=neutral,PublicKeyToken=b03f57f11d50a3a'に転送されました。このアセンブリへの参照を追加することを検討してください。
本エラーはC#プログラムでDB接続をするための「SqlConnection」型の変数を定義した際に発生しました。このエラーは何のアセンブリが起因で発生したか?によって色々なパターンの文言があると思いますが、今回は「SqlConnection」クラスで起こった例を紹介します。
(図111)①エラー画面(例)
(図111)②エラー詳細
<エラー発生プログラム>
(エラー発生行は16行目)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { string dataSource, initCatalog, userId, passWord, connectionString; dataSource = "XXXX"; initCatalog = "XXXX"; userId = "XXXX"; passWord = "XXXX"; connectionString = @"Initial Catalog=" + dataSource + ";Initial Catalog=" + initCatalog + ";User ID=" + userId + ";Password=" + passWord; SqlConnection cnn = new SqlConnection(connectionString); cnn.Open(); MessageBox.Show("DBコネクションを確立しました"); } } }
(1-2) 原因
原因は必要なパッケージがインストールされていなかったためです。今回の例では「SqlConnection」クラスを使うために必要な「System.Data.SqlClient」パッケージがインストールされていなかったため、エラーになっていました(ソースコード自体の問題ではない)。
(1-3) 対処法
対処としては、Nugetから必要なパッケージをインストールします。Nugetは.NET Frameworkに対応したパッケージマネージャです。
(1-3-1) Nugetパッケージ管理画面の表示
ソリューションを右クリックして「Nugetパッケージの管理」を選択します。
(図131)
(1-3-2) アセンブリの検索
左上の検索窓から必要となるパッケージを検索します。今回の例ではSqlConnectionクラスでエラーになっていたため、このクラスを含んだパッケージである「System.Data.SqlClient」を探します。
該当のパッケージがヒットしたら、選択して右側の「インストール」を押下します。
(図132)①
(図132)②インストールが進行する様子
(図132)③途中、変更内容の一覧が表示されます。
(図132)④ライセンスへの同意するなら「同意する」を押下
(1-3-3) 解消確認
(図133)エラーが解消
<エラー修正後プログラム>
※特になし(プログラム自体の修正はなく、パッケージのインストールのみ)