Visual Studio - Resx文件默认'& # 39;公共# 39;

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


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


}

我需要所有这些internal始终为public

63940 次浏览

使用PublicResXFileCodeGenerator代替ResXFileCodeGenerator

你可以通过在你想要公共访问的Resx文件的财产窗口中将其设置为自定义工具属性来实现这一点。

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

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

生成的类:

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

派生类:

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


}
}
  1. 右键单击资源文件 (resource.resx) => 属性

  2. 自定义工具 =>修改为PublicResXFileCodeGenerator

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

<Generator>ResXFileCodeGenerator</Generator>

<Generator>PublicResXFileCodeGenerator</Generator>

或者从界面

enter image description here

希望能有所帮助