こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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#版が見たいのですが見当たりませんでした。

よろしくお願いします。

投稿日時 - 2012-07-27 15:35:42

QNo.7613454

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

> 「チュートリアル: ダイナミック リンク ライブラリの作成と使用 (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)

投稿日時 - 2012-07-30 12:35:39

補足

最初は状況がよく把握できていませんでしたのでいろいろ調べていましたが、
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自体は作成できないという理解で正しいでしょうか。

投稿日時 - 2012-08-29 08:55:28

お礼

まだ解決していませんが
時間が経っていますので一旦クローズします。
ありがとうございました。

投稿日時 - 2012-11-22 11:21:54

ANo.3

Wr5

VC#2010EEでもプロジェクトの種類を「クラス ライブラリ」にするだけでしたね。
ちゃんと説明のところに「C# クラス ライブラリ(.dll)を作成するためのプロジェクトです。」と出てました。

投稿日時 - 2012-07-28 20:45:17

お礼

まだ解決していませんが(ANo.2の補足参照)
時間が経っていますので一旦クローズします。
ありがとうございました。

投稿日時 - 2012-11-22 11:19:44

単に,クラスライブラリのプロジェクトで作り始めれば良いだけだと思いますけど.

使用したいクラスを作って,公開したいメソッドを作成して,
ビルドすれば,DLLが生成されるでしょう.


あとは,それを使う側から,参照設定で,DLLを指定して読み込んで
使うだけですよね.

投稿日時 - 2012-07-27 23:45:17

補足

>あとは,それを使う側から,参照設定で,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();
}
 }
}
----------------------------------

投稿日時 - 2012-08-16 14:18:19

お礼

まだ解決していませんが
時間が経っていますので一旦クローズします。
ありがとうございました。

投稿日時 - 2012-11-22 11:22:39

ANo.1

Wr5

「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しかありませんので…。

投稿日時 - 2012-07-27 16:06:54

お礼

まだ解決していませんが(ANo.2の補足参照)
時間が経っていますので一旦クローズします。
ありがとうございました。

投稿日時 - 2012-11-22 11:19:19