Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

C#

C#のエラー「CS1069~このアセンブリへの参照を追加する事を検討してください」の対処方法+実際のソース例も掲載

投稿日:2020年9月10日 更新日:

<目次>

(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)エラーが解消

<エラー修正後プログラム>
※特になし(プログラム自体の修正はなく、パッケージのインストールのみ)

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-C#

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

SOAP通信の仕組みやHTTPプロトコルとの違いなど

  <目次> (1) SOAP通信の仕組みやHTTPプロトコルとの違いなど  (1-1) SOAPとは?  (1-2) SOAPを構成する要素  (1-3) SOAPの通信の仕組み&HTTP …

C#のコンソールアプリで引数を与えて実行する方法

<目次> (1) C#のコンソールアプリで引数を与えて実行する方法  (1-1) 設定箇所  (1-2) サンプルプログラム  (1-3) サンプルプログラムの補足 (1) C#のコンソールアプリで引 …

C#のIComparerの実装方法や用法について(サンプルプログラムあり)

<目次> (1) C#のIComparerの実装方法や用法について  (1-1) IComparerの概要  (1-2) STEP0:比較をするクラスの定義  (1-3) STEP1:ICompare …

C#のlockとは?意味や使い方とサンプルプログラムをご紹介

  <目次> (1) C#のlockとは?意味や使い方とサンプルプログラムをご紹介  (1-1) 概要  (1-2) 構文  (1-3) サンプルプログラム  (1-4) lockステートメ …

C#のdynamic型とは?使いどころやvarとの違いもご紹介

  <目次> (1) C#のdynamic型とは?使いどころやvarとの違いもご紹介  (1-1) dynamic型とは?  (1-2) dynamic型の使いどころ  (1-3) 動作確認 …

  • English (United States)
  • 日本語
Top