Visual Studio添加设置后报‘需要对象引用’错误,修改调用后求解释
问题与解决
问题场景
我正在开发一个项目,需要存储部分数据。自从通过右键项目→属性→设置添加了一个值后,软件无法正常编译。Settings.Designer.vb文件提示My.Settings.Save()语句缺少对象引用,此前项目运行一切正常。
解决方法
将代码中的My.Settings.Save()修改为My.Settings.Default.Save()即可恢复编译运行。
原因说明
在VB.NET的应用设置体系里:
- 正常情况下,
My.Settings是Visual Studio生成的快捷访问入口,直接指向当前应用的设置实例,调用My.Settings.Save()是有效的。 - 但当手动新增设置项后,VS重新生成
Settings.Designer.vb的逻辑会调整:此时My.Settings不再直接持有设置实例,需要通过.Default属性获取实际的ApplicationSettingsBase类型实例。 .Default是设置类的静态属性,负责返回当前应用的活跃设置对象,调用它的Save()方法才能正确把修改后的设置保存到配置文件中。
内容的提问来源于stack exchange,提问作者grafj73
相关产品推荐
相关产品推荐

