当前位置:首页 > 实用技巧 >

后端配置项没有正常加载什么意思(为什么开发工具里没有插入选项)

来源:原点资讯(www.yd166.com)时间:2024-01-15 20:04:07作者:YD166手机阅读>>

记录平时发现并解决的相关问题。

问题场景

当前编写的应用程序在启动时,需要加载配置文件,并在程序打开时加载配置文件中的url,加载失败时抛出加载失败的异常信息。

在bin目录下双击可执行问题,能够正常加载配置文件并打开对应的url。但是在将可执行文件的快捷方式固定在任务栏上,直接点击任务栏图标打开对应应用程序则提示加载配置文件异常。

报错提示找不到相关的配置文件:

后端配置项没有正常加载什么意思,为什么开发工具里没有插入选项(1)

问题分析

通过异常堆栈信息确认是配置文件加载失败,相关代码获取配置文件代码如下:

/// <summary> /// 默认页面URL配置文件 /// </summary> public static string indexUrlFile = "Resource/Config/station.xml"; /// <summary> /// 获取默认界面URL /// </summary> /// <returns></returns> public static string GetIndexUrl() { XmlDocument XmlDoc = new XmlDocument(); if (!File.Exists(indexUrlFile)) { throw new Exception("配置文件不存在"); } XmlDoc.Load(urlPath); if(XmlDoc == null) { throw new Exception("配置文件读取失败"); } XmlNodeList indexList = XmlDoc.GetElementsByTagName("index"); if(indexList.Count == 0 || indexList[0].Attributes.Count == 0 ) { throw new Exception("配置文件格式不正确"); } url = indexList[0].Attributes[0].Value; if (string.IsNullOrEmpty(url)) { throw new Exception("配置文件格式不正确"); } return url; }

通过查看代码确认配置文件的路径为相对路径:"Resource/Config/station.xml",同时通过问题场景确认,在任务栏点击快捷图标时,程序启动时获取到的路径为桌面路径,在桌面路径下去查找文件"Resource/Config/station.xml",而桌面路径下当然不可能存在对应的文件。

解决方案

问题是由于程序启动时根据当前程序的默认目录下再去查找配置文件"Resource/Config/station.xml",这时由于快捷方式启动时指向的默认目录不同就可能会导致配置文件加载失败的情况。

为了解决这个问题,程序启动时加载配置文件需要使用绝对路径获取配置文件信息,这时不管程序启动时默认指向的是哪个目录,只要能够定位到程序的安装目录就能够获取到配置文件信息。

修改代码如下:

/// <summary> /// 默认页面URL配置文件 /// </summary> public static string indexUrlFile = "Resource/Config/station.xml"; /// <summary> /// 获取默认界面URL /// </summary> /// <returns></returns> public static string GetIndexUrl() { string url = ""; string urlPath = Path.Combine(System.Windows.Forms.Application.StartupPath, indexUrlFile); XmlDocument XmlDoc = new XmlDocument(); if (!File.Exists(urlPath)) { throw new Exception("配置文件不存在"); } XmlDoc.Load(urlPath); if(XmlDoc == null) { throw new Exception("配置文件读取失败"); } XmlNodeList indexList = XmlDoc.GetElementsByTagName("index"); if(indexList.Count == 0 || indexList[0].Attributes.Count == 0 ) { throw new Exception("配置文件格式不正确"); } url = indexList[0].Attributes[0].Value; if (string.IsNullOrEmpty(url)) { throw new Exception("配置文件格式不正确"); } return url; }

这里通过System.Windows.Forms.Application.StartupPath获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称,然后再拼接配置文件信息,这时就可以通过绝对路径获取到配置文件信息。

这样在任务栏通过快捷方式也能够正常打开程序了。

获取程序运行路径的常用方法

方法

获取路径

System.Windows.Forms.Application.StartupPath

获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称

System.Windows.Forms.Application.ExecutablePath

获取启动了应用程序的可执行文件的路径,包括可执行文件的名称

System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase

获取包含该应用程序的目录的名称

,

栏目热文

后端加载项没有正常加载(开发工具里面没有加载项)

后端加载项没有正常加载(开发工具里面没有加载项)

逃离塔科夫卡加载界面|一直加载进不去游戏的解决办法在逃离塔科夫这款极具真实度和细节的游戏中,玩家们沉浸在其精心设计的武器...

2024-01-15 20:05:31查看全文 >>

比亚迪f0拆卸图解(比亚迪f0左前门拆卸)

比亚迪f0拆卸图解(比亚迪f0左前门拆卸)

我的车子是11年7月份的,到目前为止差一个多月就十年了,公里数是刚好过十万公里,还算是比较多的,差不多一年一万公里,小车...

2024-01-15 20:12:43查看全文 >>

vivoy3为什么没有抖音一起看功能(vivoy3怎么添加抖音分屏)

vivoy3为什么没有抖音一起看功能(vivoy3怎么添加抖音分屏)

很多人都喜欢在闲暇时间刷短视频,抖音APP是大家最熟悉的短视频平台,包含了大量的段子娱乐,还可以学习舞蹈、做饭等技能。如...

2024-01-15 19:48:33查看全文 >>

vivoy93怎么添加抖音小窗口(vivoy93抖音密友时刻怎么放桌面)

vivoy93怎么添加抖音小窗口(vivoy93抖音密友时刻怎么放桌面)

众所周知,今年的手机市场竞争急剧升级,众多手机厂商为了提高品牌竞争优势,可谓是新品频出。以国内手机品牌vivo为例,除了...

2024-01-15 19:59:20查看全文 >>

细胞病理学是由谁提出来的(细胞病理与组织病理区别)

细胞病理学是由谁提出来的(细胞病理与组织病理区别)

微尔啸与细胞病理学。仅用肉眼观察器官病变仍然不能深刻认识疾病的本质,深入探索。病变内部微细结构的病理改变就成为当时病理学...

2024-01-15 19:53:58查看全文 >>

后端开发的难点在哪(后端开发需要掌握什么技术)

后端开发的难点在哪(后端开发需要掌握什么技术)

作者 | 凌敏后端开发很“卷”吗?学习路线是什么样的?就业前景如何?展望 2023 年,后端研发工程师需要提升哪些技能,...

2024-01-15 19:40:01查看全文 >>

网站后端配置项没有加载(后端配置项没有正常加载怎么解决)

网站后端配置项没有加载(后端配置项没有正常加载怎么解决)

逃离塔科夫竞技场加载不出 卡加载界面 加载错误 卡登录界面解决方法逃离塔科夫竞技场加载不出/卡加载界面/加载错误/卡登录...

2024-01-15 19:30:53查看全文 >>

后端异常怎么处理(与后端代码有冲突怎么解决)

后端异常怎么处理(与后端代码有冲突怎么解决)

在开发使⽤中,异常应该能够很好地帮助我们定位到问题的所在。如果使⽤⼀种错误的⽅式,则bug很难被找到。异常的分类JAVA...

2024-01-15 19:47:19查看全文 >>

后端代码是怎么运行的(如何在网页上找到后端代码)

后端代码是怎么运行的(如何在网页上找到后端代码)

全文共2160字,预计学习时长7分钟来源:Pexels在一个一切都在加速的世界里,你需要快速迭代以避免被抛弃。技术有很多...

2024-01-15 19:25:38查看全文 >>

后端怎么打开页面(后端开发如何入门)

后端怎么打开页面(后端开发如何入门)

WordPress 除了做博客之外,其实还可以做成纯后端服务和管理界面(Admin UI),前端的模板可以不需要使用 W...

2024-01-15 20:02:21查看全文 >>

文档排行