C# 引用文件的正确方法是什么?

C# 引用文件的正确方法是什么?,c#,xml,vb.net,game-engine,C#,Xml,Vb.net,Game Engine,我正在尝试用winforms应用程序在VB.NET中制作一个游戏。我在一个XML文档中有关于spritesheets(帧信息、动画时间等)的数据,我一直在引用该文件 Dim XMLDocument As New XmlDocument XMLDocument.Load("C:\Development\Personal\GameConcept\GameConcepts\GameConcepts\SpriteSheet_FrameInfo.xml") 然后我从各个节点获取帧的适当信息 但是,我知道

我正在尝试用winforms应用程序在VB.NET中制作一个游戏。我在一个XML文档中有关于spritesheets(帧信息、动画时间等)的数据,我一直在引用该文件

Dim XMLDocument As New XmlDocument
XMLDocument.Load("C:\Development\Personal\GameConcept\GameConcepts\GameConcepts\SpriteSheet_FrameInfo.xml")
然后我从各个节点获取帧的适当信息

但是,我知道,当发布此应用程序时,无论XML文件格式存储在用户计算机上的何处,都需要引用该XML文件格式;我应该使用什么方法引用文件?

通常,您会使用该方法基于起始位置“构建”路径,例如

这允许您从相对路径(安装文件夹)工作到相应的文件,而无需对其进行硬编码

这看起来有点像(假设您将内容保留在“bin\Release”或类似位置):


为什么SpriteSheet_FrameInfo.xml文件不与编译的二进制文件位于同一目录中?我认为这种性质的文件将存储在应用程序的C:\ProgramData\文件夹中。
XMLDocument.Load(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "..\..\SpriteSheet_FrameInfo.xml"))