質問するログイン新規登録
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

Q&A

1回答

308閲覧

Visualstudio2022のWPFプロジェクトで、'error CS0102: 型 'MainWindow' は既に 'SupportPanel' の定義を含んでいます'というエラーが出る。

kahito

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

0グッド

0クリップ

投稿2025/06/19 05:29

0

0

実現したいこと

上手くビルドを成功させたい。

発生している問題・分からないこと

WPFアプリの開発をおこなっているときに、ビルドしようとしたら、このようなエラーが起きて、ビルドに失敗した。ソースコードは一部分。何回やっても同じで、一度も成功していない。

エラーメッセージ

error

11>C:\Users\tazu0\source\repos\WpfApp7\.vs\WpfApp7\obj\WpfApp7\Debug\net8.0-windows\App.g.cs(52,21,52,40): warning CS0108: 'GeneratedApp.InitializeComponent()' は継承されたメンバー 'App.InitializeComponent()' を非表示にします。非表示にする場合は、キーワード new を使用してください。 21>C:\Users\tazu0\source\repos\WpfApp7\WpfApp7\MainWindo.xaml.cs(686,26,686,36): error CS8646: 'IComponentConnector.Connect(int, object)' が複数回、明示的に実装されています。 31>C:\Users\tazu0\source\repos\WpfApp7\WpfApp7\MainWindo.xaml(206,47,206,59): error CS0102: 型 'MainWindow' は既に 'SupportPanel' の定義を含んでいます 41>C:\Users\tazu0\source\repos\WpfApp7\WpfApp7\MainWindo.xaml(207,49,207,57): error CS0102: 型 'MainWindow' は既に 'Support1' の定義を含んでいます 51>C:\Users\tazu0\source\repos\WpfApp7\WpfApp7\MainWindo.xaml(214,49,214,56): error CS0102: 型 'MainWindow' は既に 'MenuBtn' の定義を含んでいます 61>C:\Users\tazu0\source\repos\WpfApp7\WpfApp7\MainWindo.xaml(219,54,219,63): error CS0102: 型 'MainWindow' は既に 'MenuItems' の定義を含んでいます 71>C:\Users\tazu0\source\repos\WpfApp7\WpfApp7\MainWindo.xaml(240,47,240,55): error CS0102: 型 'MainWindow' は既に 'MainGuid' の定義を含んでいます 81>C:\Users\tazu0\source\repos\WpfApp7\.vs\WpfApp7\obj\WpfApp7\Debug\net8.0-windows\MainWindo.g.cs(99,22,99,36): error CS0102: 型 'MainWindow' は既に '_contentLoaded' の定義を含んでいます 91>C:\Users\tazu0\source\repos\WpfApp7\.vs\WpfApp7\obj\WpfApp7\Debug\net8.0-windows\MainWindo.g.cs(106,21,106,40): error CS0111: 型 'MainWindow' は、'InitializeComponent' と呼ばれるメンバーを同じパラメーターの型で既に定義しています 101>C:\Users\tazu0\source\repos\WpfApp7\.vs\WpfApp7\obj\WpfApp7\Debug\net8.0-windows\MainWindo.g.cs(126,56,126,63): error CS0111: 型 'MainWindow' は、'System.Windows.Markup.IComponentConnector.Connect' と呼ばれるメンバーを同じパラメーターの型で既に定義しています 111>C:\Users\tazu0\source\repos\WpfApp7\WpfApp7\MainWindo.xaml.cs(9474,81,9474,85): warning CS8625: null リテラルを null 非許容参照型に変換できません。 121>C:\Users\tazu0\source\repos\WpfApp7\WpfApp7\MainWindo.xaml.cs(9525,84,9525,88): warning CS8625: null リテラルを null 非許容参照型に変換できません。 131>C:\Users\tazu0\source\repos\WpfApp7\WpfApp7\MainWindo.xaml.cs(9590,86,9590,90): warning CS8625: null リテラルを null 非許容参照型に変換できません。 141>プロジェクト "WpfApp7_i2zrwlgq_wpftmp.csproj" のビルドが終了しました -- 失敗。

該当のソースコード

using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Configuration; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Management; using System.Net; using System.Net.NetworkInformation; using System.Net.Security; using System.Reflection; using System.Resources; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security.Cryptography.X509Certificates; using System.Text; using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Markup; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Windows.Threading; using AppleComponentSupport; using CommonServiceLocator; using Core.Downloader.Business; using Core.Http; using Core.Tracing; using Core.Tracing.Enum; using Core.Tracing.GA4; using Core.Tracing.GA4.Model; using IBackupLibrary.Decription; using iMobie.iDeviceConfig; using LogLib; using Microsoft.Win32; using Module.Base; using Module.Base.Model; using Module.Base.Utilities; using Module.Base.View.DialogWindow; using Module.Base.ViewModel; using Module.Base.ViewModel.DialogWindow; using Module.Base.ViewModel.Module; using Newtonsoft.Json; using Prism; using Prism.Commands; using Prism.Events; //using static Prism.Events.EventBase; using Prism.Ioc; using Prism.Modularity; using Prism.Mvvm; using Prism.Regions; using Prism.Services.Dialogs; using Prism.Unity; using Project.Shell.Controls; using Project.Shell.Model; using Project.Shell.Model.Activate; using Project.Shell.Model.Environment; using Project.Shell.Model.Update; using Project.Shell.Properties; using Project.Shell.Utilities; using Project.Shell.Utilities.NewActivate; using Project.Shell.Utilities.UpdateConfig; using Project.Shell.View; using Project.Shell.View.Window; using Project.Shell.View.Window.Activate; using Project.Shell.View.Window.Activity; using Project.Shell.View.Window.Device; using Project.Shell.ViewModel; using Project.Shell.ViewModel.Window; using Project.Shell.ViewModel.Window.Activate; using Project.Shell.ViewModel.Window.Activity; using Project.Shell.ViewModel.Window.Device; using Project.Structure.SEnum; using Project.Structure.SEvent; using Project.Structure.SEvent.Events; using Project.Structure.SEvent.Events.FunctionButton; using Project.Structure.SPrism; using Resource.Controls; using Resource.Utilities; using Service.iOSSupport; using Service.iOSSupport.DeviceBackup; using Service.iOSSupport.DeviceRestore; using Service.iOSSupport.Model; using Service.RG; using Service.RG.Config; using Service.RG.Model; using UI.Controls; using UI.Controls.Controls; using UI.Controls.Controls.IElement; using UI.Controls.Enum; using Utilities; public partial class MainWindow : CustomWindow, IComponentConnector { internal Grid SupportPanel; internal Button Support1; internal Button MenuBtn; internal ContextMenu MenuItems; internal Grid MainGuid; private bool _contentLoaded; public MainWindow() { InitializeComponent(); EventTool.GetEvent<EventGetSupportPosition>().Subscribe(OnGetSupportPosition); } private void OnGetSupportPosition(Action<Func<Rect>> obj) { obj(delegate { Point point = SupportPanel.TranslatePoint(default(Point), this); return (base.FlowDirection == FlowDirection.LeftToRight) ? new Rect(point.X, point.Y, SupportPanel.ActualWidth, SupportPanel.ActualHeight) : new Rect(base.ActualWidth - point.X, point.Y, SupportPanel.ActualWidth, SupportPanel.ActualHeight); }); } private void CustomWindow_PreviewKeyDown(object sender, KeyEventArgs e) { ((PubSubEvent<KeyEventArgs>)(object)EventTool.GetEvent<EventKeyDown>()).Publish(e); } private void Menu_Click(object sender, RoutedEventArgs e) { MenuItems.PlacementTarget = MenuBtn; MenuItems.Placement = PlacementMode.Custom; ContextMenu menuItems = MenuItems; menuItems.CustomPopupPlacementCallback = (CustomPopupPlacementCallback)Delegate.Remove(menuItems.CustomPopupPlacementCallback, new CustomPopupPlacementCallback(MenuItemCallBack)); ContextMenu menuItems2 = MenuItems; menuItems2.CustomPopupPlacementCallback = (CustomPopupPlacementCallback)Delegate.Combine(menuItems2.CustomPopupPlacementCallback, new CustomPopupPlacementCallback(MenuItemCallBack)); MenuItems.MinWidth = 190.0; MenuItems.IsOpen = false; MenuItems.IsOpen = true; } private CustomPopupPlacement[] MenuItemCallBack(Size popupSize, Size targetSize, Point offset) { CustomPopupPlacement[] array = new CustomPopupPlacement[1]; Point popupPoint = PlacementTool.GetPopupPoint(popupSize, targetSize, PlacementEnum.Bottom, default(Thickness), base.FlowDirection); array[0] = new CustomPopupPlacement(popupPoint, PopupPrimaryAxis.None); return array; } [DebuggerNonUserCode] [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] public void InitializeComponent() { if (!_contentLoaded) { _contentLoaded = true; Uri resourceLocator = new Uri("/AnyUnlock - iPhone Password Unlocker;component/mainwindow.xaml", UriKind.Relative); Application.LoadComponent(this, resourceLocator); } } [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] [DebuggerNonUserCode] [EditorBrowsable(EditorBrowsableState.Never)] void IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { default: _contentLoaded = true; break; case 1: ((MainWindow)target).PreviewKeyDown += CustomWindow_PreviewKeyDown; break; case 2: SupportPanel = (Grid)target; break; case 3: Support1 = (Button)target; break; case 4: MenuBtn = (Button)target; MenuBtn.Click += Menu_Click; break; case 5: MenuItems = (ContextMenu)target; break; case 6: MainGuid = (Grid)target; break; } } }

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

このエラー文の一部をコピペして調べてみたが、あまり参考になる情報がなかった。obj/などのファイルを消して再ビルドしても、解決しなかった。

補足

環境はVisualstudio2022のVer.17.14.4です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2025/06/19 05:51

ビルド時の出力ログを見るとファイル名はMainWindo.xaml.cs、ですがメインウインドウのクラスの名前はMainWindowで、MainWindo, MainWindowと名前が違います。一般に、自然に作るとクラス名とファイル名が一致します。ファイルを手動でコピーしたり、リネームしたりしてプロジェクトにMainWindowの*.csや*.xaml.csが混在してしまっていたりしませんか? で、勝手にプロジェクトに自動で取り込まれて二重定義になっているとか。
kahito

2025/06/19 06:29

MaioWindowに直しましたがダメでした。
dodox86

2025/06/19 06:50

> MaioWindowに直しましたがダメでした。 "Maio"?? MainWindowではなくてMaioWindowですか? 要は、ファイル名が違うけど同じようなクラス、メソッドが定義されているファイルが混ざってしまうような間違った手動操作をしちゃってませんか? と言う主旨のコメントです。 混ざっていれば、ファイル名等を正しいものに直して、プロジェクトを構成するファイルも整理して、ソシューション、プロジェクトをクリーン、リビルドしてみてください。
kahito

2025/06/19 07:29

Mainです失礼しました。
TN8001

2025/06/19 09:26

[Visualstudio2022のWPFプロジェクトで、g.csが原因のエラーが出る。](https://teratail.com/questions/ecp2ftjqe3csge) 同じ内容の質問を繰り返さないでください。 [ヘルプ|推奨していない質問](https://teratail.com/help/avoid-asking#question) あちらでは濁して聞きましたが↓なんてことを普通しないんですよ。 > Uri resourceLocator = new Uri("/AnyUnlock - iPhone Password Unlocker;component/mainwindow.xaml", UriKind.Relative); > Application.LoadComponent(this, resourceLocator); AnyUnlockがどんな製品か知りませんがmainwindow.xamlだけ取り込んで動くとも思えないし、怪しげなことの手伝いをする気もないです。
guest

回答1

0

とりあえず全文コピペ実装は辞めよう。僕も昔こんなだったから分からんでもないし、誰もが通る道だとは思う。Pythonだったらこんな感じでも動くかもしれんけど。

同じコピペでももっと丁寧に一行ずつ積み上げた方が学習にはなる。

errorMessage

11>C:\Users\tazu0\source\repos\WpfApp7\WpfApp7\MainWindo.xaml.cs(686,26,686,36): error CS8646: 'IComponentConnector.Connect(int, object)' が複数回、明示的に実装されています。 21>C:\Users\tazu0\source\repos\WpfApp7\WpfApp7\MainWindo.xaml(206,47,206,59): error CS0102: 型 'MainWindow' は既に 'SupportPanel' の定義を含んでいます 31>C:\Users\tazu0\source\repos\WpfApp7\WpfApp7\MainWindo.xaml(207,49,207,57): error CS0102: 型 'MainWindow' は既に 'Support1' の定義を含んでいます 41>C:\Users\tazu0\source\repos\WpfApp7\WpfApp7\MainWindo.xaml(214,49,214,56): error CS0102: 型 'MainWindow' は既に 'MenuBtn' の定義を含んでいます 51>C:\Users\tazu0\source\repos\WpfApp7\WpfApp7\MainWindo.xaml(219,54,219,63): error CS0102: 型 'MainWindow' は既に 'MenuItems' の定義を含んでいます

これも丁寧にエラーメッセージの解消に努めれば必ず動作させられるようになる。

例えば'MainWindow' は既に 'MenuItems' の定義を含んでいます の場合
2番目以降のMenuItems要素(WinformなのかWPFなのか分からんが)をソリューションを全文検索して見つければいい。

Visual studio などの開発環境は案外複雑なので、雑に全文コピペするだけでは動かないのだと覚えておこう。
基本中の基本だ。参考サイトにしてるサイトとか教えてもらうまでもなくそれでは絶対にうまくいかない。
地道に、丁寧に一個ずつ、単純に積み上げればいい。

逆に言うと、エラーさえ出なければ未完成でもビルドは通るようになっている。

Git Cloneまできるようにしてくれたらもうちょっと突っ込んだ回答をしてもいい。

投稿2025/06/22 00:32

sheephuman

総合スコア137

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問