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

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

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

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

0回答

1311閲覧

VisualStudioでdllの参照を追加しても再起動すると消滅する

退会済みユーザー

退会済みユーザー

総合スコア0

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/06/26 14:54

編集2021/06/27 04:50

前提・実現したいこと

UnityからMicrosoft SQL Serverを使用したいと考えています。
Visual Studio上でメニューバーの「ツール」→「Nugetパッケージマネージャー」→「NuGetパッケージの管理」から「Microsoft.Data.SqlClient」をインストールしました。
この時点ではVisual Studioで「MicrosoftにDataなんてない」とエラーが出ていたため、メニューバーの「プロジェクト」→「参照の追加」からUnityのプロジェクトファイル直下の「Packages\Microsoft.Data.SqlClient.3.0.0\lib\net461\Microsoft.Data.SqlClient.dll」を追加しました。
これでVisual Studio上でのエラーは出なくなりましたが、Unity上でのエラーが消えず困っていました。
その際にUnityを再起動したのですが、Visual Studioの方で参照が消え、Assembly-CSharpの設定ファイルも読み込まれません。
再度設定しなおしましたが、Unityを再起動すると再び参照が消え、Unity、Visual Studio双方でエラーが出力されました。

最初の段階で参考にした記事:
C# SQLServerに接続してselectするサンプル

追伸
初質問です。何か不備があればご教示ください。
平日は学校があるのでなかなか反応できないかもしれません。

発生している問題・エラーメッセージ

Unity

1Assets\Scripts\FieldScene\StorySystem.cs(5,17): error CS0234: The type or namespace name 'Data' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)

VisualStudio

1重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 2エラー CS0234 型または名前空間の名前 'Data' が名前空間 'Microsoft' に存在しません (アセンブリ参照があることを確認してください) Assembly-CSharp C:\Users[ユーザー名]\Documents\プロジェクト\IEC-002\Assets\Scripts\FieldScene\StorySystem.cs 5 アクティブ 3

当該エラーはUnity上のみのもので、Visual Studio上では同じ内容のエラーは出ていませんでしたが、Unityを再起動した際の再読み込みでエラーが出るようになりました。

該当のソースコード

C#

1using System; 2using System.Collections; 3using System.Collections.Generic; 4using System.Data; 5using Microsoft.Data.SqlClient; // ここでエラー(参照を追加しているだけ) 6using System.IO; 7using UnityEngine; 8using UnityEngine.SceneManagement; 9using UnityEngine.Tilemaps; 10using UnityEngine.UI; 11 12public class StorySystem : MonoBehaviour 13{ 14 // 中略 15 // 以下は最初の段階で参考にした記事からのコピペです 16 public void Test() 17 { 18 string sql = "SELECT id,name,romaji FROM SYAIN"; 19 20 try 21 { 22 using (SqlConnection conn = new SqlConnection()) 23 { 24 conn.ConnectionString = 25 @"Data Source=localhost\SQLEXPRESS;" + 26 "Initial Catalog=testDB1;" + 27 "Integrated Security=SSPI;"; 28 29 conn.Open(); 30 31 using (SqlCommand cmd = new SqlCommand(sql)) 32 { 33 cmd.Connection = conn; 34 cmd.CommandType = CommandType.Text; 35 36 using (SqlDataReader reader = cmd.ExecuteReader()) 37 { 38 while (reader.Read()) 39 { 40 Console.WriteLine(reader["id"] + ":" 41 + reader["name"] + ":" 42 + reader["romaji"]); 43 } 44 } 45 } 46 } 47 } 48 catch 49 { 50 51 } 52 } 53}

試したこと

・まずインターネット上で調べましたが、同様の現象が起きているという記述が見つかりませんでした(調べ方が悪いのかもしれないです)。

・同じ「Microsoft.Data.SqlClient.3.0.0」フォルダー内にある「Microsoft.Data.SqlClient.dll」に参照を変更しましたが変化がありませんでした。

・参照を再度設定し、Unityを再起動しましたが、再び参照が消えました。

補足情報(FW/ツールのバージョンなど)

Unityのバージョン:Unity 2019.4.16f1
Microsoft Visual Studio 2019

追記 2021/06/27 10:12

Unity側からNugetを使用してインポートしてみることにしました。
また追記します。

追記 2021/06/27 13:25

「NuGetforUnity」からインストールしようと試みましたが、一部のパッケージ(後述)が何度「Install」を押しても処理は開始されず、でした。
ダウンロードさせる気がないのでしょうか。

DLできなかったパッケージ(途中で諦めたのでもっとあるかもしれません)
System.Numerics.Vectors.dll
System.Security.Principal.Windows.dll
System.Data.SqlClient.dll

SQLServerを使用するには必要な手順だと思うですが、どうにかして回避できないものでしょうかね……

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

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

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

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

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

YAmaGNZ

2021/06/27 00:26

私も詳しくは知らないのですが、Unityの場合はVisualStudio上での設定ではなくUnityエディタ等での設定になるのではないでしょうか? 「Unity 参照 追加」あたりで検索すれば情報が出てきませんかね?
退会済みユーザー

退会済みユーザー

2021/06/27 00:27

分かりました。調べてみます。
退会済みユーザー

退会済みユーザー

2021/06/27 04:52

この方法で行うのは厳しいと判断しましたので、別の方法を探してみます。 お忙しい中、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問