1

このリンクのコードを使用して、生成された .cs ファイルを実行時にコンパイルしようとしています。ファイル (Gen.cs と呼びます) は CodeDOM によって生成され、別のファイル (Base.cs と呼びます) をサブクラス化します。ランタイム コンパイルから次のエラー メッセージが表示されます。

タイプまたは名前空間名「Base」が見つかりませんでした。using ディレクティブまたはアセンブリ参照がありませんか?

このエラーは、コンパイル時に Base.cs が見つからないことを意味することを知っています。私は C# と C# ファイルの動的コンパイルの両方に慣れていないので、これを区別するのは少し難しいです。Base も Gen も名前空間を使用せず、両方の .cs ファイルが同じディレクトリにあります。足りないものはありますか?Gen.cs が Base.cs を認識できないのはなぜですか?

編集-これは関連する場合と関連しない場合がありますが、gmcsを介した手動コンパイルの結果は次のとおりです(私はMacOSを使用しています)

mtrc$ gmcs -lib:Base.cs Gen.cs Gen.cs(13,27): エラー CS0246: 型または名前空間名 `Base' が見つかりませんでした。using ディレクティブまたはアセンブリ参照がありませんか?

4

1 に答える 1