FileNotFound исключение при попытке запустить проект XNA F # - PullRequest
1 голос
/ 12 июня 2009

Мне удалось собрать подходящую реализацию примера игры на F # с xna. Однако, когда я пытаюсь создать экземпляр своего производного игрового класса, код выдает исключение FileNotFound, пытающееся получить доступ к сборке Microsoft.Xna.Framework. Почему это происходит?

Код:

#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. Однако VS 2010 не позволяет мне менять платформу решения. Как мне это исправить?

1 Ответ

2 голосов
/ 12 июня 2009

Я не знаю достаточно о XNA, но он «в GAC», или вам нужно скопировать DLL-файлы XNA рядом с вашим .exe? Похоже, что решение Microsoft.Xna.Framework.dll рядом с вашим .exe может решить эту проблему.

EDIT

На основании 32/64-битной информации, возможно, вручную измените "" в файле .fsproj. (Щелкните правой кнопкой мыши по проекту, «Выгрузить проект», затем снова щелкните правой кнопкой мыши и выберите «Редактировать Whwhat.fsproj», вставьте в XML значение «x86» (а не «x64» или «AnyCPU») в качестве значения платформы, сохраните и щелкните правой кнопкой мыши проект и выберите «Обновить».) (Различные ошибки F # в Beta1 предполагают, что опыт платформы / решения конфигурации не будет оптимальным.)

...