请教大师门.
 对于Resource1.Designer.cs中生成的Resource1类的修饰符要改成public,默认为internal,而且当添加一个新的项时修饰符会自动变回internal,请问怎么弄,让生成的Resource1类的修饰一直是public,//------------------------------------------------------------------------------
// <auto-generated>
//     此代码由工具生成。
//     运行库版本:2.0.50727.3603
//
//     对此文件的更改可能会导致不正确的行为,并且如果
//     重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------namespace LanguageLibrary.Properties {
    using System;
    
    
    /// <summary>
    ///   强类型资源类,用于查找本地化字符串等。
    /// </summary>
    // 此类是由 StronglyTypedResourceBuilder
    // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
    // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
    // (以 /str 作为命令选项),或重新生成 VS 项目。
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    internal class ResourceManage {
        
        private static global::System.Resources.ResourceManager resourceMan;
        
        private static global::System.Globalization.CultureInfo resourceCulture;
        
        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
        internal ResourceManage() {
        }
        
        /// <summary>
        ///   返回此类使用的缓存 ResourceManager 实例。
        /// </summary>
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
        internal static global::System.Resources.ResourceManager ResourceManager {
            get {
                if (object.ReferenceEquals(resourceMan, null)) {
                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("LanguageLibrary.Properties.ResourceManage", typeof(ResourceManage).Assembly);
                    resourceMan = temp;
                }
                return resourceMan;
            }
        }
        
        /// <summary>
        ///   为使用此强类型资源类的所有资源查找
        ///   重写当前线程的 CurrentUICulture 属性。
        /// </summary>
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
        internal static global::System.Globalization.CultureInfo Culture {
            get {
                return resourceCulture;
            }
            set {
                resourceCulture = value;
            }
        }
        
        internal static System.Drawing.Bitmap _1 {
            get {
                object obj = ResourceManager.GetObject("_1", resourceCulture);
                return ((System.Drawing.Bitmap)(obj));
            }
        }
        
        internal static System.Drawing.Bitmap _3 {
            get {
                object obj = ResourceManager.GetObject("_3", resourceCulture);
                return ((System.Drawing.Bitmap)(obj));
            }
        }
}

解决方案 »

  1.   

    public 意思就是这个项目外,或者命名空间外能访问,你确信你要这样吗?
    public公用,所有的都能访问
    internal,仅在项目类公用,其他项目引用后找不到interal的方法 
      

  2.   

    这个知道的,我现在是把.resx文件写到单独的一个项目文件里面,就是想供其他层的文件都能访问.
      

  3.   

    每个工程的默认的资源类都是 Resources , public 的后果可想而知.如果非要公开作为公共资源, 可以将 resx 跟 cs 的耦联关系切断,
    毕竟 cs 文件只是微软操心替你访问资源的一个实现,
    自己写那部分代码也是一样的, 保证 resx 作为资源连接即可解除耦联可以编辑 csproj 文件, 将 dependsupon 去掉,
    如果还是不行, 改成不同文件名好了.
      

  4.   

    // 此代码由工具生成。正规渠道是不行的,你改了,工具马上就给你重新生成。只有自己写.cs了。或者自定义默认生成工具:ResXFileCodeGenerator
      

  5.   

    这个问题我也比较头疼,每次修改后都得把internal改成public