如何在C#.NET中提供应用程序路径?

时间:2010-08-19 14:03:51

标签: c# xml path

我正在使用.net中的类库在C#方法中编写必要的业务逻辑。在每个类库中,我正在编写用于特定目的的单一方法。我的包含类库的项目文件夹存储在F:驱动器上。我已将一个名为XML的文件夹添加到类库&在那里添加了XML文件。现在我应该如何在C#&中提供应用程序路径?然后使用该路径提供XML文件的路径?能否请您提供我可以解决上述问题的代码或链接?有没有其他方法(与上述方法不同),我们可以动态地给出XML文件的路径?

4 个答案:

答案 0 :(得分:2)

您是否拥有与可执行文件/类库相关的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
}

在这种情况下,我不知道是否有可能使用其中一个文件的路径来加载它,但是大多数处理文件的.NET类都可以使用流。

答案 1 :(得分:2)

AppDomain.CurrentDomain.BaseDirectory

答案 2 :(得分:0)

您在寻找Application.ExecutablePath吗? 然后,您可以使用IO.Path.Combine(IO.Path.GetDirectoryName(Application.ExecutablePath),"XML")获取所需的xml文件的位置。

答案 3 :(得分:0)

我相信this question会解决您的问题。