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