Q: C# Access Modifier set to public but not accessible I have a C# project that references another project. The project that is being referenced has property settings. The property settings are set to public (I selected public in the drop down located on the Property settings in Visual Studio). I am able to access the properties of the project but when I type dot settings I get a red squigly underline... Settings is inaccessible due to it's pertection level. I have deleted and added the reference back in. What setting, other than the property settings drop down in VS, needs to be set to public in order to make the property settings public?  
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.7.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;
        }
    }


A: Settings by default are
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {

which makes them internal to the assembly.
If you want to expose them I'd make a wrapper class which exposes the individual settings you want to expose outside of your assembly.
