【winform】关于通过cmd启动程序提示“未加载xxxx程序集”的问题

这两天在尝试让winform程序在电脑开机时自动打开,通过将软件的执行路径加入到注册表“HLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”下后,电脑重启后软件能够自动打开,但是在打开时提示“未能加载xxx程序集”。通过对程序的执行路径分析发现,通过第三方软件启动时软件的“Application.StartupPath”、“Appdomain.CurrentDomain.BasicDirectory”为程序所在目录,而“Environment.CurrentDirectory”为调用程序所在目录,所以导致在加载相关程序集时报错。最后通过如下代码解决报错问题(程序启动时判断运行目录和环境目录是否相同):

1 if (!Environment.CurrentDirectory.Equals(Application.StartupPath))
2 {
3        Environment.CurrentDirectory = Application.StartupPath;
4 }

 

posted on 2020-12-02 13:53  挖穿地球😁  阅读(176)  评论(0编辑  收藏  举报