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

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

新規登録して質問してみよう
ただいま回答率
85.48%
DLL

DLL(Dynamic Link Library)とは、他のモジュールからも使用する事が出来る、関数とデータが格納されているモジュールのことです。

C#

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

Visual Studio

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

Q&A

3回答

7842閲覧

visual studio 2015 c#での、dll内のクラスの使用方法を教えて下さい。

qwertypask

総合スコア8

DLL

DLL(Dynamic Link Library)とは、他のモジュールからも使用する事が出来る、関数とデータが格納されているモジュールのことです。

C#

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

Visual Studio

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

0グッド

0クリップ

投稿2016/11/24 04:20

編集2016/11/24 04:21

###前提・実現したいこと
ここに質問したいことを詳細に書いてください

visual studio 2015(c#)にて、dll内のクラスを上手く読み込めず、困っています。
dllの使用の仕方を教えて下さい。

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

型 'System.IO.FileNotFoundException' のハンドルされていない例外が dll名.dll で発生しました

###該当のソースコード

c#

1ここにご自身が実行したソースコードを書いてください

###試したこと
1.「参照の追加」で、dllを追加。
2.フォームのクラスに、using dll名.dll;を追加。

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

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

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

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

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

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

guest

回答3

0

ファイルが見えてないようですね。エラー通り単純にファイルがないなら、
参照 > 対象のDLLを右クリックでプロパティを開き、ローカルにコピーがFalseになってるとかでしょうか?

デバッグしてるのであれば、出力先のフォルダ(プロジェクトフォルダのbin > Debug)にdllが出力されているか確認しましょう。
出力されていなければ、上記のローカルにコピーをTrueにすれば解決できるかと。

投稿2016/11/24 05:09

BEACHSIDE

総合スコア294

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

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

0

dll内のクラスを上手く読み込めず、困っています。

スローされた例外 System.IO.FileNotFoundException は、.dll を読み込めないと言うことではなくて、あなたがプログラムで指定した(と思われる)ファイルが見つからないと言っています。

投稿2016/11/24 04:29

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

qwertypask

2016/11/24 04:43

ご回答頂き、誠にありがとうございます。 「参照の追加」にて対象のdllを追加し、ソリューションエクスプローラーの 「参照」ツリー内に存在している状態なのですが、 dllファイルのパスに問題があるのでしょうか。
退会済みユーザー

退会済みユーザー

2016/11/24 04:54

私のレスの意味を理解されてないようです。例えば以下のようなコードを書いた時、path で指定されたファイルが見つからないときに FileNotFoundException がスローされるということを言っています。 FileStream fs = File.Open(path, FileMode.Open);
guest

0

こんにちは。

using dll名.dll

対象DLLの名前空間は何ですか?

投稿2016/11/24 04:25

Tak1wa

総合スコア4791

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

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

qwertypask

2016/11/24 04:39

ご回答頂き、誠にありがとうございます。 差し支え無ければ、対象dllの名前空間の調べ方を教えて頂けますでしょうか。 初歩的な質問で申し訳ございません。 よろしくお願い致します。
Tak1wa

2016/11/24 04:45

「参照の追加」の方法は色々あって、参照マネージャーのアセンブリタブに表示されているもの(GACなど)から選択する方法と、「参照(B)」ボタンを押下して直接DLLファイルを指定する方法があります。 後者で宜しいでしょうか。 この時点で、ソリューションエクスプローラー上にて警告アイコンなどは表示されてませんね? 名前空間の確認方法は、ソリューションエクスプローラーの参照ツリーからDLLを右クリックしてオブジェ宇都ブラウザーを開くと確認できるかと思います。
qwertypask

2016/11/24 05:08

ご回答頂き、誠にありがとうございます。 後者の方法にて、dllファイルの指定を行いました。 現在、参照ツリー内に対象dllが存在している状態です。 名前空間が確認出来ました。 申し訳ございません、こちらの名前は他社様から頂いたsdkの中に入っていた 固有名詞がついたものとなっていますので、具体的な名前空間名は 控えさせて頂きます。 sdkで、サンプルプログラムを頂いているのですが、 サンプルプログラム内のusingディレクティブと同じ名前空間を指定しているため、 名前空間の指定に間違いは無いと考えているのですが、いかがでしょうか? よろしくお願い致します。
red_bb

2016/11/24 05:21

qwertypask さん 横から失礼します。 他社様からのDLLということですので、別に名前を出さなくてもいいので、 どのようなソースか提示いただくとわかるかと思います。 このようにコーディングはされてるのでしょうか? http://qiita.com/ask/items/ee2ff5b8706effc0c3d8
naohiro19_

2017/05/15 14:08

「参照の追加」というのは C#/VB/F#のクラスライブラリおよび C++/CLIのCLRプロジェクト もしくはCOM形式のDLLでのみしか受け付けてくれません。 1. C++のWin32プロジェクトのスタティックライブラリを作成 2. C++のCLRプロジェクトの「クラスライブラリ」でDLLを作成 3. VB/C#などから2で作ったDLLを参照する
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問