试图运行的XNA F#项目时FileNotFound异常
-
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位的DLL XNA工作。但是相较于2010年犯规让我改变的解决方案平台。我要如何解决这个问题?
解决方案
我不知道有足够的了解XNA,但它在GAC“,或者你需要复制XNA的DLL您的.exe旁边?这听起来像或许有Microsoft.Xna.Framework.dll旁边的.exe文件可能会解决这个问题。
修改
根据所述六十四分之三十二位信息,或许在.fsproj文件手动更改“<平台>”。 (右键单击项目,“卸载项目”,然后再次右击和“编辑Whatever.fsproj”,拨开XML有“86”(而不是“64”或“AnyCPU”)作为平台的价值,保存和右键单击项目和“刷新”。)(在Beta1的各种F#错误合谋,使平台/ SolutionConfiguration体验不到最佳。)
不隶属于 StackOverflow