我正在尝试使用C#在我的Windows窗体应用程序中使用新的设置文件。
删除旧设置文件(Settings1.settings)并创建新设置文件(Settings.settings)后。
当我开始编辑使用设置文件的代码时,我意识到新的设置文件无法被识别。例如:
我们公司创建的命名空间中使用了一个自定义设置类,导致一些冲突。如何将代码指向正确的设置文件?
答案 0 :(得分:4)
在尝试复制你所做的事情时,我注意到Settings.Designer.cs文件的命名空间来自于此(我正在使用控制台应用程序进行测试)。
namespace ConsoleApplication1.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool Test {
get {
return ((bool)(this["Test"]));
}
set {
this["Test"] = value;
}
}
}
}
到
namespace ConsoleApplication1 {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool Temp {
get {
return ((bool)(this["Temp"]));
}
set {
this["Temp"] = value;
}
}
}
}
如果您注意到Namespace从ConsoleApplication1.Properties转到ConsoleApplication1,那么如果您将.Properties添加到新设置文件的命名空间,它应该会解决您的问题。
答案 1 :(得分:1)
检查设置文件的命名空间,然后您有两个选项:
在.cs文件的开头添加使用此命名空间。
每次尝试使用时,请写下设置文件的整个命名空间。
答案 2 :(得分:0)
我认识的派对迟到了。无论如何,我的解决方案是删除
下面存储的设置 C:\Users\[username]\AppData\Local\[your program name]\