C#フォームを使用してゲームエディターを作成しようとしていますが、逆シリアル化に関して問題が発生しました。プロジェクトにコンテンツ参照を追加するオプションさえないため、フォームアプリケーションでコンテンツパイプラインを使用できません。フォームアプリでコンテンツパイプラインを使用するにはどうすればよいですか?XMLコンテンツをロードして逆シリアル化する別の方法はありますか?
2 に答える
.csprojファイルを手動で編集しPropertyGroup
、アセンブリ名、プロジェクトGUIDなどを含む次のセクションを最初のセクションに追加します。
<ProjectTypeGuids>{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
おそらく追加する必要があります
<XnaFrameworkVersion>v4.0</XnaFrameworkVersion>
<XnaPlatform>Windows</XnaPlatform>
プロジェクトをVSに再ロードすると、プロジェクトへのコンテンツ参照を追加できるはずです。
ここで指定されている2つのGUIDは、WindowsとXNA(Windows)用です。プロジェクトを再ターゲットする必要がある場合の、いくつかの一般的なプロジェクトタイプのGUID (少し古いものですが)のリストを次に示します。
Winforms Series 2:ContentLoadingAppHubサンプルをご覧ください。
基本的に、適切なmicrosoft.xna.framework.content
クラスをロードして呼び出し、コンパイルされたxnbファイルを読み取ります。
内の名前空間のクラスを使用しmicrosoft.xna.framework.content.pipeline
て、xnbファイルを作成します(これは、コンテンツプロジェクトが行うことです)。
コンテンツパイプラインの概要については、こちらをご覧ください:コンテンツパイプラインとは何ですか?
XMLコンテンツをロードして逆シリアル化する別の方法はありますか?
はい、必要な.netのシリアル化方法を使用してくださいXDocument
。