- 締切済み
VS2010でC#のDLLを作成する手順
Visual Studio 2010でVisual C#のコードのDLLを作成したいのですが 簡単なコード例で具体的な操作手順を教えていただけないでしょうか。 (Microsoft Visual Studio 2010、OS WindowXP) Visual C++でDLLを作成する手順については 「チュートリアル: ダイナミック リンク ライブラリの作成と使用 (C++)Visual Studio 2010 」 <http://msdn.microsoft.com/ja-jp/library/ms235636(v=vs.100).aspx> に詳しく手順が記載されていましたが、このVisual C#版が見たいのですが見当たりませんでした。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- todo36
- ベストアンサー率58% (728/1234)
> 「チュートリアル: ダイナミック リンク ライブラリの作成と使用 (C++)Visual Studio 2010 」 でいう DLL は C# では作れません。 C#では、.NETライブラリアセンブリ(拡張子 .dll)を作成できますが別物です。 DLL http://msdn.microsoft.com/ja-jp/library/1ez7dh12(v=vs.80).aspx アセンブリ (.NET) http://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%AA_(.NET)
- Wr5
- ベストアンサー率53% (2173/4061)
VC#2010EEでもプロジェクトの種類を「クラス ライブラリ」にするだけでしたね。 ちゃんと説明のところに「C# クラス ライブラリ(.dll)を作成するためのプロジェクトです。」と出てました。
お礼
まだ解決していませんが(ANo.2の補足参照) 時間が経っていますので一旦クローズします。 ありがとうございました。
- toro-nekomata
- ベストアンサー率45% (24/53)
単に,クラスライブラリのプロジェクトで作り始めれば良いだけだと思いますけど. 使用したいクラスを作って,公開したいメソッドを作成して, ビルドすれば,DLLが生成されるでしょう. あとは,それを使う側から,参照設定で,DLLを指定して読み込んで 使うだけですよね.
お礼
まだ解決していませんが 時間が経っていますので一旦クローズします。 ありがとうございました。
補足
>あとは,それを使う側から,参照設定で,DLLを指定して読み込んで >使うだけですよね. 理解するのに時間がかかりましたが、なんとか、VS2010で、 C#のクラスライブラリのプロジェクトで ( .NET Framework 形式の ) DLL が作成できました。 このDLLをテストするために、同様に、VS2010で C#のコンソールアプリケーションのプロジェクトを作成していますが このコンソールアプリケーションのプロジェクトから クラスライブラリのプロジェクトで作成したDLLを 参照設定する仕方がよく分からないのですが ? コンソールアプリケーションのプロジェクトの 「参照の追加」のダイアログボックスの「参照」タブで、 クラスライブラリのプロジェクトで作成したDLLファイルを 指定すればよいのでしょうか。でもこの方法だと VBEの「参照設定」の「参照」ボタンがありませんので 「1つ上のフォルダへ」ボタンで クラスライブラリのプロジェクトのbin/Debug/ClassLibrary1.dll まで1階層ずつ移動して選択する感じになりますが? その前に、このDLLファイルを、 このDLLを使用するプロジェクト (コンソールアプリケーションのプロジェクト) に追加しておく必要があるのでしょうか。 その場合には、どのようにプロジェクトにDLLファイルを 追加すればよいのでしょうか。 それとも、作成したDLLを登録をすると コンソールアプリケーションのプロジェクトの 「参照の追加」のダイアログボックスの「.NET」タブ の一覧に表示されるようになるのでしょうか。 よろしくお願いします。 ・DLLのプロジェクト ---Class1.cs----------------------------------- using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace ClassLibrary1 { public class Class1 { public void test() { MessageBox.Show( "テスト", "TEST", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } -------------------------------------- ・DLLをテストするプロジェクト ---Program.cs----------------------- using System; using System.Collections.Generic; using System.Linq; using System.Text; using ClassLibrary1; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Class1 obj; obj = new Class1(); obj.test(); } } } ----------------------------------
- Wr5
- ベストアンサー率53% (2173/4061)
「C# DLL」で検索したら… http://msdn.microsoft.com/ja-jp/library/3707x96z%28v=vs.80%29.aspx なんてページが見つかりました。 VS2005向けでしたのでURLを書き換えると… http://msdn.microsoft.com/ja-jp/library/3707x96z%28v=vs.100%29.aspx なんてページがありました。 IDEで可能なのか…は不明です。 # VC#2010 ExpressEditionしかありませんので…。
お礼
まだ解決していませんが(ANo.2の補足参照) 時間が経っていますので一旦クローズします。 ありがとうございました。
お礼
まだ解決していませんが 時間が経っていますので一旦クローズします。 ありがとうございました。
補足
最初は状況がよく把握できていませんでしたのでいろいろ調べていましたが、 DLLには (1).NETによるDLL (2)COMによるDLL (3)それ以外のDLL(C,C++,Win32API) の3つがあり、 質問したサイトのは(3)のDLLの作り方で、 一方、C#では(1)と(2)のDLLしか作成できないから C#では質問したサイトのDLLは作れないという理解で正しいでしょうか。 つまり、C#では、Windowsフォームアプリケーションやコンソールアプリケーションなどから 他で作成したC,C++のDLLや、Win32APIのDLLを呼び出すプログラムは作成できるが、 C,C++のDLL自体は作成できないという理解で正しいでしょうか。