Visual Studio - Resx文件默认'内部'为'公共'

Rob*_*ben 151 .net c# asp.net asp.net-mvc visual-studio

每次我在VS中编辑资源文件时,它都会重新生成相应的代码并将类访问修饰符设置为internal.
每次编辑resx时,Ctrl-F - > ReplaceAll都会很痛苦.是否有财产/设置,以便我可以将其默认为公开?

internal class MyResource {

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

}
Run Code Online (Sandbox Code Playgroud)

我需要所有那些internal一直public都是.

Ant*_*ton 305

而不是ResXFileCodeGenerator,使用PublicResXFileCodeGenerator.

您可以通过设置此为做这个自定义工具的属性属性窗口中为要公开访问RESX文件.

编辑:替代地,您可以在Visual Studio中打开resx文件时将Access Modifier设置为public.可以在表单顶部找到"访问修改器"下拉框.

  • (很好的答案;但只是一些注释;它也可能是`GlobalResourceProxyGenerator`,而不仅仅是`ResXFileCodeGenerator`;并且还注意到"Access Modofier"下拉列表通常被禁用) (13认同)
  • @conqenator:这就是为什么我建议使用访问修饰符下拉列表作为达到相同结果的替代方法:) (3认同)
  • 顺便说一下,如果禁用了"访问修改器"下拉列表,您可以尝试将"自定义工具"属性更改为ResXFileCodeGenerator,如果这不是值alredy.至少那个在VS 2010的MVC项目中为我工作. (2认同)
  • 对于我来说,使用 Visual Studio 2017 选择“PublicResXFileCodeGenerator”只会使 Resources 类公开,而不是其构造函数。 (2认同)

Roh*_*n K 12

  1. 右键单击Resource file(resource.resx)=> Properties.

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


G C*_*ovs 6

在 .csproj 中对每个 .Designer.cs 进行更改

<Generator>ResXFileCodeGenerator</Generator>
Run Code Online (Sandbox Code Playgroud)

<Generator>PublicResXFileCodeGenerator</Generator>
Run Code Online (Sandbox Code Playgroud)

或者从界面

在此输入图像描述

希望有帮助