Question

J'ai réussi à concocter une mise en œuvre appropriée d'un jeu d'échantillons en F # avec XNA. Cependant, lorsque je tente de instancier ma classe de jeu dérivé, le code renvoie une exception FileNotFound essayant d'accéder à l'ensemble de Microsoft.Xna.Framework. Pourquoi cela?

Code:

#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()

J'ai ajouté les références appropriées par la voie. Edit: après une exploration, je trouve que mon projet F # est en cours d'élaboration à 64 bits, ce qui ne fonctionne pas avec les 32 bits XNA dll. Cependant VS 2010 ne marche pas me laisser changer la plate-forme de solution. Comment puis-je résoudre ce problème?

Était-ce utile?

La solution

Je ne sais pas assez sur XNA, mais est-ce dans le GAC », ou avez-vous besoin de copier les DLLs XNA à côté de votre .exe? On dirait peut-être avoir Microsoft.Xna.Framework.dll à côté de votre .exe peut le résoudre.

EDIT

D'après les informations 32/64-bit, peut-être modifier manuellement la "" dans le fichier .fsproj. (Clic droit sur le projet, « Décharger le projet », puis faites un clic droit à nouveau et « Modifier Whatever.fsproj », percez le XML d'avoir « x86 » (plutôt que « x64 » ou « AnyCPU ») comme la valeur de la plate-forme, enregistrer et droit projet et cliquez sur « Recharger ».) (Divers F # bugs dans Beta1 conspirent pour rendre l'expérience-SolutionConfiguration de plate-forme / moins optimale.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top