2010年2月7日日曜日

ハンドルされていない例外

-
う~ん。
なんか、C#でdllと同じ名前のexeファイルを作るとハンドルされていない例外が発生します。

たとえばこんな感じです。


"A.cs"
namespace Sample
{
public class A
{
}
}


"main.cs"
using Sample;

class SampleProgram
{
static void Main()
{
A a = new A();
}
}


 この2つのファイルをそれぞれコンパイルします。

>csc /target:library /out:A.dll A.cs

>csc /out:A.exe /reference:A.dll main.cs


 一行目でA.dllを作り、それを使ってA.exeを作っています。実行すると

>A

ハンドルされていない例外: System.TypeLoadException: アセンブリ 'A, Version=0.0.0
.0, Culture=neutral, PublicKeyToken=null' から型 'Sample.A' を読み込めませんでし
た。
場所 SampleProgram.Main()



 という結末です。実行ファイルはmain.exea.exeのどちらかにしろってことですね。

Dでa.exeに慣れたからこっちにしよう。

0 件のコメント:

コメントを投稿