C#のビルド方法について質問です。
IDEをつかわず、コマンドプロンプト上でC#のソースをビルドする時の方法について質問です。
まず以下のようなコードがあるとします。
まずC:\の直下に以下のソースを作成しました。
===================================================
using System;
using System.IO;
using System.Windows.Forms;
namespace Add.TestClass{
public class LibraryClass{
public LibraryClass(){
MessageBox.Show("クラスライブラリコンストラクタの実行");
}
}
}
===================================================
上記クラスをdllファイルとしてビルドします。
csc /t:library /out:Add.TestClass library.class
と上記のようにビルドしました。するとAdd.TestClass.dllというファイルが確かにできあがりました。
次にこれを実際に実行するためのファイルをつくりました。
それが以下になります。
同じくC:\直下に以下のようなソースを作成します。
===================================================
using System;
using System.IO;
using System.Windows.Forms;
using Add.TestClass;
public class MainClass{
public static void Main(String [] args){
LibraryClass obj = new LibraryClass();
}
}
===================================================
このファイルをビルドします。
csc /r:Add.TestClass.dll main.cs
としてビルドし、その後 mainというファイルを実行しました。
するとキチンとMessageBoxで MessageBox.Show("クラスライブラリコンストラクタの実行");が実行されました。
ここまでは問題ないのですが、この場合 main.exeファイルとAdd.TestClass.dllというファイルが
同じ階層に存在するような状態になっているのですが、これを main.exeファイルのある階層にdllというディレクトリを作成し
そのdllの中にAdd.TestClass.dllというファイルをおいた階層状況でmain.exeファイルを実行したいのです。
そのためにまず、 csc /r:”C:\dll\Add.TestClass.dll" main.cs
上記のようなビルドオプションでビルドしてみたのですが、ビルドはとおりましたが
--------------------------------------------------------------------------------------------------------------------
ハンドルされていない例外: System.IO.FileNotFoundException: ファイルまたはアセン
ブリ 'Add.TestClass, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'、ま
たはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりませ
ん。
場所 MainClass.Main(String[] args)
--------------------------------------------------------------------------------------------------------------------
というエラーがでました。
このdllファイルを特定の任意のディレクトリ内において、main.exeを実行してうまく動くようにするためには
どのようなビルドオプションをつけたらいいのでしょうか?
よろしくご教授お願いいたしま。