Properties.Settings show error 'System.Windows.Forms.PropertyStore' does not contain a definition fo...

Today my code suddenly give this error if when I try to access setting in my program.

Some people said I need to put my namespace before Properties.Settings

so it would be .Properties.Settings.

 

I tried to do that but my name space does not contain "Properties". So I checked the generated code under Properties-->Settings.Settings-->Settings.Designer.cs, I can see the setting class do use namespace ".Properties", like below

namespace Shopping.Properties {
    
    
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {

  

I finally foind the root cause, It have been caused by a class it is using same name of the namespace, in my job, a class name is "Shopping" and its namespace name is also "Shopping". So it is sort of collision to Framework. 

 

After I renamed Shopping class to something else, the issue is fixed.

 

Following article from Eric Lippert’s Blog should be helpful. 

Do not name a class the same as its namespace

http://blogs.msdn.com/b/ericlippert/archive/2010/03/09/do-not-name-a-class-the-same-as-its-namespace-part-one.aspx

转载于:https://www.cnblogs.com/yangbin990/p/3291026.html

你可能感兴趣的:(Properties.Settings show error 'System.Windows.Forms.PropertyStore' does not contain a definition fo...)