【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 }
如果说,岁月是一首歌,那么我们便是歌者,纵使孤独,仍会固执高歌;如果说,岁月是一段旅程,那么我们便是行者,且行且梦,让生命丰盈。