「これはヤバかったな」という遅刻エピソード

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 …
に詳しく手順が記載されていましたが、このVisual C#版が見たいのですが見当たりませんでした。

よろしくお願いします。

A 回答 (4件)

> 「チュートリアル: ダイナミック リンク ライブラリの作成と使用 (C++)Visual Studio 2010 」



でいう DLL は C# では作れません。

C#では、.NETライブラリアセンブリ(拡張子 .dll)を作成できますが別物です。

DLL
http://msdn.microsoft.com/ja-jp/library/1ez7dh12 …

アセンブリ (.NET)
http://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%BB% …

この回答への補足

最初は状況がよく把握できていませんでしたのでいろいろ調べていましたが、
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
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/11/22 11:21

VC#2010EEでもプロジェクトの種類を「クラス ライブラリ」にするだけでしたね。


ちゃんと説明のところに「C# クラス ライブラリ(.dll)を作成するためのプロジェクトです。」と出てました。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/11/22 11:19

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



使用したいクラスを作って,公開したいメソッドを作成して,
ビルドすれば,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();
}
 }
}
----------------------------------

補足日時:2012/08/16 14:18
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/11/22 11:22

「C# DLL」で検索したら…


http://msdn.microsoft.com/ja-jp/library/3707x96z …
なんてページが見つかりました。
VS2005向けでしたのでURLを書き換えると…
http://msdn.microsoft.com/ja-jp/library/3707x96z …
なんてページがありました。

IDEで可能なのか…は不明です。
# VC#2010 ExpressEditionしかありませんので…。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/11/22 11:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報