我正在使用.net中的类库在C#方法中编写必要的业务逻辑。在类库的每个类中,我编写了一个单独的方法来服务于特定的目的。我的项目文件夹存储在F:驱动器上,其中包含了一个名为XML的文件夹和一个XML文件。现在我该如何在C#中指定应用程序路径,并使用该路径来指定XML文件的路径?您能否提供代码或任何链接,以解决上述问题?除了上述方式之外,还有其他动态指定XML文件路径的方法吗?
您是否拥有与可执行文件/类库相关的XML文件?如果是这样,只需获取程序集对象并检索其位置。
使用System.Reflection.Assembly.GetExecutingAssembly()
获取程序集对象。这将是调用GetExecutingAssembly的程序集-因此,如果您在类库中调用此函数,它将返回类库程序集。Assembly.Location
包含程序集的路径,您可以使用System.IO.Path
中的函数修改路径以指向子目录。
如果如您在评论中所示,XML文件是嵌入式资源,则可以使用以下代码检索它们:
var asm = System.Reflection.Assembly.GetExecutingAssembly();
foreach (string resourceName in asm.GetManifestResourceNames()) {
var stream = asm.GetManifestResourceStream(resourceName);
// Do something with stream
}
AppDomain.CurrentDomain.BaseDirectory
现在我应该如何在C#中给出应用程序路径,然后使用该路径来指定XML文件的路径?- Scordo
IO.Path.Combine(IO.Path.GetDirectoryName(Application.ExecutablePath),"XML")
来获取所需的xml文件位置。Environment.GetCommandLineArgs
来获取路径信息。 - OregonGhost