我有一个控制台应用程序,它通过Powershell脚本重启。在.Settings类中,我有一个stringcollection,它存储一个字符串数组。该应用程序旨在重新启动自身并使用存储在stringcollection中的值继续。问题是当应用程序重新启动时,stringcollection为空,如果我要关闭应用程序然后通过Visual Studio再次启动应用程序,则stringcollection包含期望值。
E.G。
Visual Studio启动控制台应用程序 - >应用程序执行Powershell脚本 - > Powershell脚本启动控制台应用程序 - >控制台应用.Settings文件不包含预期值 - >如果我通过Visual Studio启动应用程序,.Settings文件包含预期值。
旁注:我正在使用.Settings.Default.Save()。
为什么会发生这种情况以及如何解决?
解决方案:.Settings.Default.Upgrade() - 升级允许访问.Settings类的同一实例的会话。