C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

CS0246 エラー /taku (22/04/26(Tue) 23:19) #99558
Re[1]: CS0246 エラー /WebSurfer (22/04/26(Tue) 23:31) #99559
Re[1]: CS0246 エラー /魔界の仮面弁士 (22/04/27(Wed) 09:46) #99560
  └ Re[2]: CS0246 エラー /taku (22/04/27(Wed) 19:32) #99569 解決済み


親記事 / ▼[ 99559 ] ▼[ 99560 ]
■99558 / 親階層)  CS0246 エラー
□投稿者/ taku (1回)-(2022/04/26(Tue) 23:19:31)

分類:[C#] 

宜しくお願い致します

ネット上にあるソースをコピーして貼り付け、Form1にボタンなど付けて
開始をすると下記のようなエラーがでます
どうしたらいいでしょうか
宜しくお願い致します



CS0246 型または名前空間の名前 'Form1' が見つかりませんでした
(using ディレクティブまたはアセンブリ参照が指定されていることを確認してください)
2022_0426 2244 C:\Users\TsujinoMasahiro\source\repos\2022_0426 2244\Program.cs 19 該当なし

[ □ Tree ] 返信 編集キー/

▲[ 99558 ] / 返信無し
■99559 / 1階層)  Re[1]: CS0246 エラー
□投稿者/ WebSurfer (2467回)-(2022/04/26(Tue) 23:31:16)
No99558 (taku さん) に返信

何を何で作っているかぐらいは質問に書きましょう。
(例: Windows Forms アプリを Visual Studio 2022 で .NET Framework 4.8 で作っています。

ホントに全てが Form1 なのか調べてみましたか?
[ 親 99558 / □ Tree ] 返信 編集キー/

▲[ 99558 ] / ▼[ 99569 ]
■99560 / 1階層)  Re[1]: CS0246 エラー
□投稿者/ 魔界の仮面弁士 (3335回)-(2022/04/27(Wed) 09:46:20)
No99558 (taku さん) に返信
> ネット上にあるソースをコピーして貼り付け

具体的にはどのソースですか?


> C:\Users\TsujinoMasahiro\source\repos\2022_0426 2244\Program.cs 19 該当なし

Program.cs の 19 行目ということは、既定では
 「Application.Run(new Form1());」
と書かれた行の事ですね。で、この Form1 が見つからない状態である、と。

また、フォルダー構成を見る限りでは、新規プロジェクト作成時において
ソリューションとプロジェクトを同一ディレクトリに作成するモードを選択されたのですね。


(1) まず初めに、Visual Studio のソリューション エクスプローラーにおいて、
そのプロジェクト内に Form1.cs が含まれているかどうかを確認してください。
含まれていないのなら、それがエラーの原因です。

(2) また、1 つのソリューション内に 1 つのプロジェクトしかない状態なのか、
それとも、1 つのソリューション内に複数のプロジェクトが存在している状態なのかが
もし分かれば教えてください。(もしも複数のプロジェクトである場合、今見ている Form1 と
エラーメッセージが示している Form1 は、別のプロジェクトのものなのかもしれません)


さて今回の場合、プロジェクト名として指定された "2022_0426 2244" という名前が少々気にかかります。

「数字のみで構成されたプロジェクト名」や
「数字で始まるソリューション名」や
「空白を含むプロジェクト名」は避けてください。

C# のクラスや名前空間あるいは変数などの名前の先頭文字が
数字になることや、空白を含むことが許可されていないためです。

プロジェクト名が "2022_0426 2244" の場合、
  アセンブリ名: "2022_0426 2244"
 既定の名前空間: "_2022_0426_2244"
の形でプロジェクトが生成されます。使用できない文字は "_" に置き換わって
生成されるので、一応問題は無いのですが、C# の命名ルールには沿わないので
そのような名前は避けておいた方が無難でしょう。


いずれにせよ、新規プロジェクトの名前を "2022_0426 2244" にしていた場合、各ファイルは

// ----- Form1.cs -----
namespace _2022_0426_2244
{
  public partial class Form1 : Form
  {
    // ……
  }


// ----- Program.cs -----
namespace _2022_0426_2244
{
  static class Program
  {
    [STAThread]
    static void Main()
    {
      // ……
      Application.Run(new Form1());
    }
  }
}

のように記述されていたはずです。

これは、エントリポイント (Program の Main メソッド)から呼ばれる Form1 が、
フルネームでは "_2022_0426_2244.Form1" という名前になることを意味します。

『ネット上にあるソースをコピーして貼り付け』た時に、この namespace の部分を、
誤って書き換えていないかを確認してみてください。Form1 の namespace(名前空間)を
書き換えてしまったことで、Application.Run(new Form1()); の Form1 が
変更前の namaespace 内に見当たらない状態になっているのだと推察しています。
[ 親 99558 / □ Tree ] 返信 編集キー/

▲[ 99560 ] / 返信無し
■99569 / 2階層)  Re[2]: CS0246 エラー
□投稿者/ taku (2回)-(2022/04/27(Wed) 19:32:18)
すみません。気を付けます

確認して直させて頂いたところ
実行できるようになりました
丁寧に教えて頂き
ありがとうございました
解決済み
[ 親 99558 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -