最近,我在我的应用程序中添加了一个安装项目。在安装项目中,我添加了一个注册表值,该值将在Windows启动时启动我的应用程序到HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Run键。当应用程序从此位置运行时,它会因System.NullReference异常而崩溃(它无法找到我的app.config文件,当应用程序加载时会在方法中读取该文件)。我可以从开始菜单或已安装的文件夹中完美地运行应用程序。如何让我的应用程序在Startup上运行?
答案 0 :(得分:2)
我相信将以系统文件夹作为工作文件夹运行。将配置文件放在系统文件夹中或确保设置工作文件夹应解决问题。
答案 1 :(得分:0)
好的。我知道这是一个老问题,但是我认为解决方案有点不够清晰。我遇到了同样的问题,您不必将app.config(your.exe.config)放入系统文件夹。如果您想让程序具有可移植性并且没有MSI,则只需在表格中添加几行即可。
APP_PATH = Application.ExecutablePath.ToString();
Environment.CurrentDirectory = Path.GetDirectoryName(APP_PATH);
在表单类的早期进行此操作,它将起作用。