Исключение FileNotFound при попытке запустить проект XNA F#

StackOverflow https://stackoverflow.com/questions/985101

  •  13-09-2019
  •  | 
  •  

Вопрос

Мне удалось собрать подходящую реализацию примера игры на 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 не позволяет мне изменить платформу решения.Как это исправить?

Это было полезно?

Решение

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

РЕДАКТИРОВАТЬ

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top