如何将未编译的内容与通过Visual Studio发布的C#程序一起包含在内

Set*_*eth 4 c# xna publish visual-studio

我正在尝试通过Visual Studio发布工具发布XNA游戏.游戏使用一些编译和一些非编译的内容.基本上,我通过XML序列化和短视频加载了一个级别.这两个文件基本上是流式传输的,因此它们不会被编译.发布工具包含已编译的内容,但是对相对路径的任何引用都会被破坏,因为已安装程序的CurrentDirectory是在AppData文件夹中设置的.

我知道XNA现在可以编译XML而无需编写自定义内容处理器,但我并不特别想重新编写它.我想我可以,如果没有其他选择,但仍然无法解决视频问题.

有没有办法设置发布工具,以便我可以做我需要做的事情?设置还是什么?或者我需要使用像NSIS这样功能更全面的工具吗?

Mic*_*han 7

右键单击项目,添加现有资源,浏览并选择要添加的文件.然后右键单击该文件并单击属性并将"构建操作"更改为内容,将"复制到输出目录"更改为"如果更新则复制"(或者如果需要则始终复制).然后,您可以使用相对路径访问它.

我将它用于我的XML,我可以使用以下代码访问我的内容:

XmlDocument document = new XmlDocument();
document.Load("Resources/DefaultConfig.xml");
Run Code Online (Sandbox Code Playgroud)

请注意我的DefaultConfig.xml文件位于我在Visual Studio中创建的"Resoruces"目录中(这是可选的,但它可以帮助我保持项目整洁)