質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

1901閲覧

GACにMySql.Data.dllをインストールしたい

.......

総合スコア23

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2021/10/28 03:27

編集2021/10/29 06:31

ゲーム開発をしているのですが、ユーザーの情報を取得するために
C#でMySQLに接続しようと思いました。using MySql.Dataで接続するらしいのですが、MySqlが見つからないとエラーが出ます。調べてみた限り、
VisualStudioでしかできないようです。
別にVisualStudioでやってもいいのですが、
GACのusingディレクティブに、MySql.Data.dll をインストールする方法もあると思うのですが、その方法が分かりません。
なので、その方法を教えてほしいです。

補足情報

Windows10 Home
Framework64 4.0.30319

Framework64のcsc.exeでコンパイルしています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/10/28 03:47

「その他のやり方」って何ですか? 自分でも何が分からないか分かってないのでは? 一度読んでください→ https://teratail.com/help/question-tips "人に質問をするには、自分が何を尋ねたいかを知っている必要があります。これは、「自分が今『何がわからないのか』がわかっていて、言語化できている」ということです。何がわからないかわからない人から質問を受けても、答える側も困ってしまいます。"
退会済みユーザー

退会済みユーザー

2021/10/28 05:35

開発環境(OS, Visual Studio のバージョン)ぐらいは書きましょう。 Windows だと思って話を進めていたが、どうも話が通じないのでよくよく聞いてみたら、実は Mac で Visual Studio も Mac 用だったという話もあるのですよ。
BeatStar

2021/10/28 13:47

もしかしてdotnetなりcsc(あるいはMSBuild)なりのコンパイラだけでやろうとしていますか? もしそうなら、それも書いておいたほうがいいかもしれません。 普通、C#でやる場合はVC#でやる前提が多いので。
退会済みユーザー

退会済みユーザー

2021/10/29 00:52

質問のタイトルを「C# MySql.Dataを使いたい。」から「GACにMySql.Data.dllをインストールしたい」に書き直してますが、回答が付いた後でそういうことをすると、検索などでここにたどり着いた人が上から順に読んでいったとき回答と話のつじつまが合わなくなるので止めましょう。書くなら回答者の指摘を受けて書き直したことが分かるように書いてください。
guest

回答1

0

ベストアンサー

NuGet パッケージを追加すれば MySql.Data.dll がプロジェクトに含まれるようになるので MySQL に接続できるようになります(もちろん MySQL 本体はインストール済みなのが前提です)。

イメージ説明

以下のようなコードを書けば接続してデータを取得できます。

using System; using MySql.Data.MySqlClient; namespace ConsoleAppMySQL { class Program { static void Main(string[] args) { string query = "SELECT Code, Name, Continent FROM country"; string connStr = "server=localhost;user id=root;password=********;database=world"; using (var connection = new MySqlConnection(connStr)) { using (var command = new MySqlCommand(query, connection)) { connection.Open(); using (var reader = command.ExecuteReader()) { while (reader.Read()) { var code = reader[0].ToString(); var name = reader[1].ToString(); var continent = reader[2].ToString(); Console.WriteLine($"Code: {code}, Name: {name}, Continent: {continent}"); } } } } } } }

投稿2021/10/28 07:23

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

.......

2021/10/28 08:34

プロジェクトとはVisual Studioのことですか?
退会済みユーザー

退会済みユーザー

2021/10/28 09:07

Visual Studio で作るプロジェクトです。基本のキですよ。わからなければググってみよう。
.......

2021/10/28 10:07

つまり、visual studioのプロジェクトにMySQL.Data.dllが追加されるわけで、 Microsoft.Netのframework64には追加されないのですか?直接追加する方法を教えて欲しいのです。
退会済みユーザー

退会済みユーザー

2021/10/28 11:44

GAC に登録したいと言ってますか?
.......

2021/10/28 23:35

そうです。その方法がないなら、 Visual Studioでやろうと思います。
退会済みユーザー

退会済みユーザー

2021/10/28 23:57

なら、最初から「MySql.Data.dll を GAC にインストールしたい」とかきましょう。お互い余計な手間と時間が省けます。 MySQL 本体のインストールはどうやったのですか? MySQL のインストーラーを使ったなら、その時一緒に Connector/NET がインストールされてませんか? であれば、GAC にインストール済みです。インストーラーを起動して調べてください。
.......

2021/10/29 00:39

Connector/NETはインストールされています。 GACにインストール済みということは、MySql.Dataは使えるということでしょうか?
退会済みユーザー

退会済みユーザー

2021/10/29 01:54

GAC にインストールしてあれば使えると判断して「MySql.Data.dll を GAC にインストールしたい」という質問になったのでは? もう一度書きますが、自分でも何が分からないか分かってないのでは? 一度読んでください→ https://teratail.com/help/question-tips "人に質問をするには、自分が何を尋ねたいかを知っている必要があります。これは、「自分が今『何がわからないのか』がわかっていて、言語化できている」ということです。何がわからないかわからない人から質問を受けても、答える側も困ってしまいます。"
.......

2021/10/29 06:22

私が質問したいことは、 GACにMySql.Data.dllをインストールする方法のことです。 Connector/NETがインストールされてるなら、MySql.Data.dllがGACにインストールされているはずなのに、MySql.Dataが使えないので、インストールされてないということです。なので、他にGACにMySql.Data.dll をインストールする方法を教えてほしいと言っているんです。それか、Connector/NETがインストールされてるのに、MySql.Data.dll がインストールされていない理由を見つけて、Connector/NETをインストールしたら、MySql.Data.dll をインストールするようにする方法を教えてください。
退会済みユーザー

退会済みユーザー

2021/10/29 06:40

VisualStudioを使えばいいのでは? 自力で問題解決出来ないのに、一般的ではない方法でビルドしようとするのは無駄に時間を浪費するだけです。殆どのC#開発者はVisualStudioで開発しているので、使わずにやろうとするならWeb上の情報も非常に少ないと思いますよ。
退会済みユーザー

退会済みユーザー

2021/10/29 06:42 編集

質問者さん、はっきり言って十分な知識がないのに Visual Studio を使わないで「csc.exeでコンパイルしています」というのがそもそもの問題です。Connector/NET がインストールされているなら、間違いなく MySql.Data.dll は GAC にインストールされています。GAC を見てないでしょ? インストールされてないというなら GAC を確認してからそう言いましょう。
.......

2021/10/29 06:43

ただ、できるかどうか知りたいだけです。
退会済みユーザー

退会済みユーザー

2021/10/29 06:44

何が?
.......

2021/10/29 06:45

GACは何度もみましたが、MySql.Data.dllは確認できません。
退会済みユーザー

退会済みユーザー

2021/10/29 06:48

どこを見たの?
.......

2021/10/29 06:49

windows10 Homeだと C:\Windows\Microsoft.NET\framework64ですね。
退会済みユーザー

退会済みユーザー

2021/10/29 07:00

違う。ググって調べれば分かるのにそういうこともやってないよね。 場所は .NET Framework 4.0 なら %windir%\Microsoft.NET\Assembly (Connector/NET 6.9.9 以降は .NET 4+ 用の .dll しか含まれないのでそこ) その下にGAC_MSIL というフォルダがあって、その中に MySql.Data というフォルダがあるはず。
退会済みユーザー

退会済みユーザー

2021/10/29 07:02

そこにあることが確認出来たらこのスレッドの課題「GACにMySql.Data.dllをインストールしたい」は解決しているのでベストアンサーを付けてクローズしてください。 次のステップとして、MySql.Data.dll が GAC にあるという条件で、Visual Studio を使わないで「csc.exeでコンパイル」して MySQL に接続して操作できるかということが知りたいのであれば、新たに別のスレッドを立てて質問してください。
.......

2021/10/29 07:11

ありますね。インストールに関しては解決しました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問