C#のWinFormsプロジェクトで、Windows.Gaming.Input アセンブリを利用する際に”型または名前空間の名前 ‘Gaming’ が名前空間 ‘Windows’ に存在しません” が表示される場合の対処法について備忘録的に投稿します。
‘Gaming’ 名前空間が存在しない
C#でWindowsに接続しているゲームコントローラーの状態を取得するためのアセンブリ[Windows.Gaming.Input]を追加した際に、ビルド時に
using Windows.Gaming.Input
”CS0234: 型または名前空間の名前 ‘Gaming’ が名前空間 ‘Windows’ に存在しません (アセンブリ参照があることを確認してください)” が表示される場合があります。
プロジェクトの編集でターゲットを変更
エラーが表示される原因は[TargetFramework]が適切でない可能性があります。
Visual Studioの[プロジェクトファイルの編集]メニューで表示された[.csproj]ファイルを編集します。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<!--
<TargetFramework>net10.0-windows</TargetFramework>
-->
<TargetFramework>net10.0-windows10.0.19041.0</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
WinFormsの場合、既定値では[net10.0-windows]が設定されているので、この値を[net10.0-windows10.0.19041.0]に変更します。
エラー表示が無くなれば、[TargetFramework]が適切ではないのが原因です。
まとめ
今回は短い記事ですが、WinFormsプロジェクトで、Windows.Gaming.Input アセンブリを利用する際に”型または名前空間の名前 ‘Gaming’ が名前空間 ‘Windows’ に存在しません” が表示される場合の対処法について書きました。
エラーの原因は “Windows.Gaming.Input” アセンブリが利用できる .NET Framework の対象が正しく設定されていない可能性があります。
[プロジェクトファイルの編集]メニューで表示された[.csproj]ファイルを編集します。
WinFormsプロジェクトで”型または名前空間の名前 ‘Gaming’ が名前空間 ‘Windows’ に存在しません” が表示される人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。
