F#和xna字体问题

F#和xna字体问题,f#,xna,F#,Xna,不久前我决定学习F#,为了让自己更有趣,我想使用XNA。只有一个问题我似乎无法解决,它与内容管道有关。基本上,要画一个字符串,我需要一个字体。要获得字体,我需要内容管道。但由于我使用的是F#,我似乎根本无法访问内容管道。那么如何绘制文本呢 注意:为了让F#和XNA运行,我刚刚在visualstudio中添加了对XNA程序集的引用。不知道还有没有别的办法,一直没能找到 保重,, KerrXNA“游戏项目”和“游戏库项目””模板之一是,它们能够保存对XNA“内容项目”的“内容引用”。(请注意,您需要

不久前我决定学习F#,为了让自己更有趣,我想使用XNA。只有一个问题我似乎无法解决,它与内容管道有关。基本上,要画一个字符串,我需要一个字体。要获得字体,我需要内容管道。但由于我使用的是F#,我似乎根本无法访问内容管道。那么如何绘制文本呢

注意:为了让F#和XNA运行,我刚刚在visualstudio中添加了对XNA程序集的引用。不知道还有没有别的办法,一直没能找到

保重,, Kerr

XNA“游戏项目”和“游戏库项目””模板之一是,它们能够保存对XNA“内容项目”的“内容引用”。(请注意,您需要安装XNA Game Studio。)

当您构建game[library]项目时,它将调用它引用的所有内容项目的构建。内容项目不能独立编译的原因是,它们可以为不同的平台(Xbox、Windows等)和不同的配置文件(Reach、HiDef)构建-这些选项由引用项目指定(其中可能有许多)

为非XNA游戏项目类型进行内容构建的简单方法是简单地创建一个空的“Windows游戏库项目”(或您所针对的任何平台)。将内容引用添加到该库。然后从项目中引用该库

VisualStudio非常聪明,可以在复制空DLL时将内容复制到项目的输出目录中


另一个选项可能是使用
MSBuild.exe
直接编译内容项目。您必须自己指定平台和配置文件,如下所示:

/property:XNAContentPipelineTargetPlatform=Windows;XNAContentPipelineTargetProfile=Reach

对于这样的事情,最好的方法是创建一个最小的C#项目来完成所有字体/图形的工作,然后将其添加为对F#项目的引用,F#项目完成所有工作,我只是添加对该库的引用(更具体地说,是编译的程序集),就像我引用XNA时那样?或者你是说别的什么?在.NET方面还没有那么丰富的经验,所以我还有很多东西要学。感谢您的回复:)。您应该能够右键单击F#项目,然后“添加参考”。从“项目”选项卡中选择shim项目(如果直接引用已编译的程序集,我不确定它是否会工作-我怀疑它不会工作)。这可能是个问题。我只有Visual Studio Shell和Visual C#Express。Visual Studio Shell允许我使用F,但不能使用C,Visual C Express允许我使用C,但不能使用F。我不知道我是否能把C项目和F项目联系起来。不过,我们必须仔细研究一下。我认为,在这种情况下,您唯一的选择可能是调用
MSBuild
作为后期构建步骤,并设置
OutDir
属性,以便将其输出到与您的F#项目相同的目录。我终于让它工作了:)。我只是编译了一个基本的C#XNA项目,然后复制了字体的xnb文件。有点老套,但至少它起作用了。谢谢你的帮助,否则我不会想到的。