gpt4 book ai didi

c# - 如何从 WPF 应用程序中的相对路径加载?

转载 作者:可可西里 更新时间:2023-11-01 12:44:31 24 4
gpt4 key购买 nike

我正在读取一个 xml 文件,并希望根据应用程序的位置从相对目录创建它,类似于使用 Server.MapPath 或使用 tilda 的 ASP.NET。

WPF中如何获取相对路径?

WORKS: XDocument xmlDoc = XDocument.Load(@"c:\testdata\customers.xml");
DOES NOT WORK: XDocument xmlDoc = XDocument.Load(@"~\Data\customers.xml");
DOES NOT WORK: XDocument xmlDoc = XDocument.Load(@"~/Data/customers.xml");

最佳答案

XDocument xmlDoc = XDocument.Load(
Path.Combine(
AppDomain.CurrentDomain.BaseDirectory,
@"Data\customers.xml"));

我假设 Data 目录将与您的应用一起部署,与您的 EXE 在同一根目录中。这通常是安全的,除非涉及卷影复制;例如,当您使用 NUnit 测试此代码时。 (通过影子复制,组成您的应用程序的程序集会被复制到一个临时目录,但像这样的文件会被留下。)

假设您不打算在部署后修改 customers.xml,处理此问题的最安全方法是将该文件作为资源嵌入您的程序集中。

关于c# - 如何从 WPF 应用程序中的相对路径加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/806098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com