コマンドラインでC#のプログラムをコンパイルと実行する方法
mainが1つでsubが1の場合は以下にある。
http://d.hatena.ne.jp/taka_2/20080124/p6
mainが1つでsubが2つの場合はコマンドはどうするか。
以下に使用したコマンドを示す
csc /target:library sub1.cs
csc /target:library sub2.cs
csc /R:sub1.dll /R:sub2.dll main1.cs
とすると
error CS0246: 型または名前空間名 'sub1' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
のエラーメッセージが表示される。
わかっている方がおりましたら、教えて下さい。
以下にプログラムを示す。
//----------------------------------------------------------------------------
// mainファイルの内容
using System ;
using System.Text;
using System.IO;
using sub1 ; // subの名前空間を指定(分割コンパイル用)
using sub2 ; // subの名前空間を指定(分割コンパイル用)
namespace main1
{
class Program
{
static void Main(string[] args)
{
int a = 10 ;
int b = 5 ;
sub1.dfsub_cs1 df1 = new sub1.dfsub_cs1() ; // sub1のクラスを確保(分割コンパイル用)
sub2.dfsub_cs2 df2 = new sub2.dfsub_cs2() ; // sub2のクラスを確保(分割コンパイル用)
Console.Write("add {0,3:D} * {1,3:D} = {2,5:D}\n", a,b, df1.multiply( a, b) );
Console.Write("add {0,3:D} / {1,3:D} = {2,5:D}\n", a,b, df2.divide( a, b) );
return ;
}
}
}
//----------------------------------------------------------------------------
// sub1ファイルの内容
namespace sub1
{
public class dfsub_cs1
{
public int multiply(int a, int b )
{
return a * b ;
}
}
}
//----------------------------------------------------------------------------
// sub2ファイルの内容
namespace sub2
{
public class dfsub_cs2
{
public int divide(int a, int b )
{
return a / b ;
}
}
}
No.2ベストアンサー
- 回答日時:
> csc /target:library sub1.cs
> csc /target:library sub2.cs
> csc /R:sub1.dll /R:sub2.dll main1.cs
私の環境では示されているコマンドラインで正常にコンパイルされ
作成されたexeも問題なく実行できました。
お使いのsub1.csに本当にnamespace sub1が
定義されているかご確認ください。
きちんと定義されている場合はすべてのファイルを
フルパスで指定するとどうなるでしょうか。
sub1.cs、sub2.cs、main1.cs が c:\tempにあるとしたら
csc /target:library /out:c:\temp\sub1.dll c:\temp\sub1.cs
csc /target:library /out:c:\temp\sub2.dll c:\temp\sub2.cs
csc /R:c:\temp\sub1.dll /R:c:\temp\sub2.dll /out:c:\temp\main1.exe c:\temp\main1.cs
とか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
” OS ビルド ” の意味が分か...
-
C言語でヘッダファイルにグロー...
-
VBAを何回も作り直して、容量が...
-
「fatal error C1189」を回避す...
-
Makefile作成時の拡張子.oとは?
-
エクセルVBAではRound...
-
<math.h>があるのにsqrtが・...
-
マクロ コンパイルがグレーバック
-
Visual Studio .net ヘッダーフ...
-
1 つ以上の複数回定義されてい...
-
「猫でもわかるプログラミング...
-
セミコロンについて
-
外部シンボル "_main"は未解決です
-
ExcelVBAで『ByRef 引数の型が...
-
コンパイルできない…
-
C++プログラムにおけるexeファ...
-
c言語 文字列の比較
-
C++のhppファイルをCでinclude
-
戻り値について
-
NETCOBOLのサブプログラムについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
” OS ビルド ” の意味が分か...
-
1 つ以上の複数回定義されてい...
-
「fatal error C1189」を回避す...
-
エクセルVBAではRound...
-
Makefile作成時の拡張子.oとは?
-
C言語でヘッダファイルにグロー...
-
ILSpyで、デコンパイルできない。
-
セミコロンについて
-
<math.h>があるのにsqrtが・...
-
クリティカルエラー Expressio...
-
外部シンボル "_main"は未解決です
-
マクロ コンパイルがグレーバック
-
[c++] <pthread.h>がinclude で...
-
C++コンパイル時に『 C1083: in...
-
【VC++6.0(MFC)】警告「LINK : ...
-
ビルドとリビルドの違いを教え...
-
コンパイルエラー:ユーザ定義...
-
VB6で開発中…標準モジュール間...
-
コンパイル??
おすすめ情報