Frage

ich es geschafft, zusammen, um eine geeignete Implementierung einer Probe Spiel in F # mit xna schustern. Jedoch wenn ich versuche, meine abgeleitete Spielklasse zu instanziiert, wirft der Code eine FileNotFound Ausnahme versucht, die Microsoft.Xna.Framework Baugruppe zuzugreifen. Warum geschieht das?

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

Ich habe die richtigen Referenzen durch die Art und Weise hinzugefügt. Edit: nach einiger Exploration, fand ich, dass mein F # -Projekt auf 64-Bit kompiliert wird, die nicht mit dem 32-Bit-XNA-DLLs funktioniert. Allerdings VS 2010 doesnt lassen Sie mich die Lösungsplattform ändern. Wie kann ich dieses Problem beheben?

War es hilfreich?

Lösung

Ich weiß nicht genug über XNA, aber ist es im GAC ', oder haben Sie die XNA-DLLs kopieren müssen neben Ihrer Exe? Es klingt wie vielleicht mit Microsoft.Xna.Framework.dll neben Ihre Exe es lösen können.

EDIT

Auf der Basis der 32/64-Bit-Infos, ändert vielleicht manuell die "" in der .fsproj Datei. (Rechts das Projekt klicken, ‚Unload Projekt‘, dann rechts klicken Sie erneut auf und ‚Edit Whatever.fsproj‘, steckt die XML ‚x86‘ zu haben (und nicht ‚x64‘ oder ‚AnyCPU‘) als Plattform Wert, speichern und Rechtsklick-Projekt und 'Reload'.) (verschiedene F # Fehler in Beta1 verschwören die Plattform / SolutionConfiguration-Erfahrung suboptimal zu machen.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top