コマンドラインで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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- PHP isset — 変数が宣言されていること、そして null とは異なることを検査 1 2022/03/27 17:34
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
” OS ビルド ” の意味が分か...
-
ILSpyで、デコンパイルできない。
-
戻り値について
-
「fatal error C1189」を回避す...
-
エクセルVBAではRound...
-
VBAを何回も作り直して、容量が...
-
C言語でmからnまでの合計を求め...
-
<math.h>があるのにsqrtが・...
-
C++コンパイル時に『 C1083: in...
-
bccでwinmm.libをリンクする方...
-
不要な #include
-
RPGでプログラムからソースファ...
-
セミコロンについて
-
VMwareのLinuxでコンパイルでき...
-
C言語でヘッダファイルにグロー...
-
windowsでLinuxで作成したソー...
-
コンパイルエラー:ユーザ定義...
-
C#のコマンドラインの分割コ...
-
漢字のコメントをはずすとコン...
-
他のLinuxでも動くa.outの作り方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
<math.h>があるのにsqrtが・...
-
” OS ビルド ” の意味が分か...
-
Makefile作成時の拡張子.oとは?
-
「fatal error C1189」を回避す...
-
1 つ以上の複数回定義されてい...
-
ILSpyで、デコンパイルできない。
-
C言語でヘッダファイルにグロー...
-
エクセルVBAではRound...
-
セミコロンについて
-
マクロ コンパイルがグレーバック
-
C++コンパイル時に『 C1083: in...
-
外部シンボル "_main"は未解決です
-
PRO*C コンパイルエラー
-
コンパイルエラー:ユーザ定義...
-
クリティカルエラー Expressio...
-
ビルドとリビルドの違いを教え...
-
RPGでプログラムからソースファ...
-
戻り値について
-
C++のhppファイルをCでinclude
おすすめ情報