私は、F# で xna を使用して、サンプル ゲームの適切な実装をまとめることができました。ただし、派生したゲーム クラスをインスタンス化しようとすると、コードは Microsoft.Xna.Framework アセンブリにアクセスしようとして FileNotFound 例外をスローします。なぜこれが起こるのですか?
コード:
#light
open System
open Microsoft.Xna.Framework
open Microsoft.Xna.Framework.Audio
open Microsoft.Xna.Framework.Content
open Microsoft.Xna.Framework.Design
open Microsoft.Xna.Framework.GamerServices
open Microsoft.Xna.Framework.Graphics
open Microsoft.Xna.Framework.Input
type SampleGame() as self =
class
inherit Game()
let mutable manager : GraphicsDeviceManager = null
let mutable spriteBatch : SpriteBatch = null
do
manager <- new GraphicsDeviceManager(self)
override Game.Initialize() =
base.Initialize()
override Game.LoadContent() =
spriteBatch <- new SpriteBatch(manager.GraphicsDevice)
base.LoadContent()
override Game.Update(gameTime) =
base.Update(gameTime)
if GamePad.GetState(PlayerIndex.One).Buttons.Back = ButtonState.Pressed then
self.Exit()
override Game.Draw(gameTime) =
manager.GraphicsDevice.Clear(Color.CornflowerBlue);
base.Draw(gameTime)
end
let game = new SampleGame()
game.Run()
ところで、適切な参照を追加しました。編集: いくつかの調査の後、F# プロジェクトが 64 ビットにコンパイルされていることがわかりました。これは、32 ビットの XNA dll では機能しません。ただし、VS 2010 ではソリューション プラットフォームを変更できません。これを修正するにはどうすればよいですか?