Wpf 发布找不到内容:"could not find part of the path "

Wpf publish can't find content: "could not find part of the path "

我创建了一个 Wpf 应用程序,它由 3 个项目组成,在一个不是我的主项目的项目中,我正在访问一些 config.xml 文件,从中读取数据并向其中写入数据。

在我的应用程序中,我访问此文件的方式很简单:

string xmlStr = File.ReadAllText("../Content/StationConfig.xml");

或:

doc.Save("../Content/StationConfig.xml");

在调试模式下它在我的应用程序上运行良好,但是当我发布时出现错误:

could not find part of path

它查看的位置是应用程序上的:

C:\Users\petric\AppData\Local\Apps.05BBVBO.9MZ\BWMQ2V0B.PE5\Content\StationConfig.xml

此文件需要在每台要安装我的应用程序的电脑上可用。 我的文件构建操作设置为内容 并将其复制到输出目录设置为始终复制。

我已经阅读了很多有关此问题的问题,但仍然无法找到解决方案,另请阅读:WPF Application Resource, Content, and Data Files

有什么建议吗?

它正在寻找目录 C:\Users\petric\AppData\Local\Apps.05BBVBO.9MZ\BWMQ2V0B.PE5 因为它是您当前的目录并尝试在发布时保存文档并检查您是否有许可与否。很可能它不允许您保存。因此,请检查您是否拥有该位置的全部权利。反过来,尝试将位置更改为相对路径以外的其他路径(暂时)。这可能会告诉你正确的方向。

好的,看完这个问题:Including xml files when deploying WPF applicationamit dayama 的帮助下,解决方案是查看

ApplicationDeployment.CurrentDeployment.DataDirectory

而不是看

AppDomain.CurrentDomain.BaseDirectory

因为这个 answer 是正确的建议。