いつもどこかでデスマーチ♪

不定期に、私の日常を書き込みしていきます。

'InitializeComponent'は現在のコンテキスト内に存在しません。の対処法

2020年08月31日 21時33分14秒 | .NET系
「'InitializeComponent'は現在のコンテキスト内に存在しません。」の対処法

ググると出てくるもの
1.名前空間+クラス名が、XAMLの「x:Class」と一致していない
AiueoPage.xaml.csファイルの
namespace 【Test.Modules.AiueoPages.Views】
と
public partial class 【AiueoPage】 : UserControl

AiueoPage.xamlファイルの
<UserControl x:Class="【Test.Modules.AiueoPages.Views.AiueoPage】"
</pre>
と一致していること

2.「bin」「obj」フォルダを削除後にリビルド
 VS閉じて、全プロジェクトから消した方が無難
3.VSを閉じて開きなおす
 意味があるのかないのか…
このあたりが大体ヒットします。
それでもだめだった!という方は、下記の方法を試してみてください。

4.プロジェクトファイルの確認 (.net Core 3.1 の場合です。)
Test.Modules.AiueoPages.csproj
正しい奴
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <UseWPF>true</UseWPF>
    <AssemblyName>Test.Modules.AiueoPage</AssemblyName>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Prism.Wpf" Version="7.2.0.1422" />
  </ItemGroup>
</Project>


間違ってる奴
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <AssemblyName>Test.Modules.AiueoPage</AssemblyName>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Prism.Wpf" Version="7.2.0.1422" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\..\Test.Core\Test.Core.csproj" />
  </ItemGroup>
</Project>


違い:
1.Sdk="Microsoft.NET.Sdk.WindowsDesktop" のSDKに指定されているパスから、WindowsDesktop が消えている
2.4行目の「UseWPF」タグが消えている

1.に関しては 【.Net Core3.1】 限定かな? 【.Net 5】以降は「<Project Sdk="Microsoft.NET.Sdk">」 が正しいよね

これを治すことで、出なくなりました。
しかし、WPFでプロジェクト追加する場合って何を選択すればいいのだ…?
クラスライブラリじゃないって事か…?


検索用:WPF InitializeComponent エラー 治らない 原因 不明 新規作成 画面作成 ユーザコントロール UserControl
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« iPhone と +メッセージ | トップ | RepeatButton がめちゃくちゃ... »

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

.NET系」カテゴリの最新記事