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>
也许在那种情况下,通过运行可执行文件的警报(或消息框)检查可执行文件目录路径运行时是个好主意。所以我建议你在加载应用程序配置文件之前检查可执行路径运行时。如果那样的话,你也许可以解决我认为的问题。
不知何故,创建的测试文件夹没有正确的安全权限,添加时不接受权限。解决方案是删除测试文件夹并手动创建它并设置安全性。
申请信息: 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>
也许在那种情况下,通过运行可执行文件的警报(或消息框)检查可执行文件目录路径运行时是个好主意。所以我建议你在加载应用程序配置文件之前检查可执行路径运行时。如果那样的话,你也许可以解决我认为的问题。
不知何故,创建的测试文件夹没有正确的安全权限,添加时不接受权限。解决方案是删除测试文件夹并手动创建它并设置安全性。