每次我在VS中编辑一个资源文件时,它都会重新生成相应的代码,并将类访问修饰符设置为internal。 这是一个痛苦的Ctrl-F -> ReplaceAll每次我编辑resx。是否有一个属性/设置,让我可以默认这个为公共?

internal class MyResource {

     internal static global::System.Resources.ResourceManager ResourceManager {...}

}

我需要所有的内部信息都公开。


当前回答

在您的.csproj更改每个.Designer.cs

<Generator>ResXFileCodeGenerator</Generator>

To

<Generator>PublicResXFileCodeGenerator</Generator>

或者从界面

希望能有所帮助

其他回答

在您的.csproj更改每个.Designer.cs

<Generator>ResXFileCodeGenerator</Generator>

To

<Generator>PublicResXFileCodeGenerator</Generator>

或者从界面

希望能有所帮助

也许最简单的方法是创建一个带有Public ctor?

生成的类:

 [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
    internal Strings() {
    }

派生类:

public class PublicStrings : Strings
{
    /// <summary>
    /// Public localization Strings.
    /// </summary>
    public PublicStrings()
    {

    }
}

右键单击资源文件(Resource。resx) =>属性。 自定义工具=>更改为PublicResXFileCodeGenerator

使用PublicResXFileCodeGenerator代替ResXFileCodeGenerator。

为此,您可以在Resx文件的属性窗口中将其设置为自定义工具属性。

编辑:当你在Visual Studio中打开resx文件时,你也可以将Access Modifier设置为public。可以在表单的顶部找到Access Modifier下拉框。