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

1565 단어
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

좋은 웹페이지 즐겨찾기