C# Visual Studio 可执行文件无法读取同一文件夹中的文件

C# Visual Studio Executable cannot read files within same folder

申请信息: Visual Studio 2019 .NET 5.0 Windows 表格申请。

我正在制作一个 App.Config 文件,它将以 XML 格式存储用户特定变量。可执行文件将读取文件并提取信息。 我确保将调试文件夹中的所有内容复制到新文件夹 (C:\Program Files (x86)\Test)

它对我有效,但对于一半的最终用户来说,该程序无法读取配置文件。程序加载但未读取配置文件。

我是否缺少文件夹本身的安全设置?我以管理员身份 运行 .exe 文件,但它仍然找不到位于同一测试文件夹中的文件。

代码以防万一(我认为这是安全问题而不是代码问题):

            XDocument xdocument = XDocument.Load("Application.config");
            IEnumerable<XElement> items = xdocument.Root.Elements();
            foreach (var item in items)
            {
                Configs.Add(item.Name.ToString(), item.Value.ToString());
            }

            Logging.WriteToLog("Config File:");
            foreach (string item in Configs.Keys)
            {
                Logging.WriteToLog(item + ": " + Configs[item].ToString());
            }

            if(!ReadBoards())
            {
                return false;
            }

            return true;

XML 文件名为 Application.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <LogFilePath>C:\Program Files (x86)\Test\Logs\</LogFilePath>
<Email>email@email.com</MondayEmail>
</configuration>

也许在那种情况下,通过运行可执行文件的警报(或消息框)检查可执行文件目录路径运行时是个好主意。所以我建议你在加载应用程序配置文件之前检查可执行路径运行时。如果那样的话,你也许可以解决我认为的问题。

不知何故,创建的测试文件夹没有正确的安全权限,添加时不接受权限。解决方案是删除测试文件夹并手动创建它并设置安全性。