首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Visual Studio 2015,无法更改新资源文件的访问修饰符

Visual Studio 2015,无法更改新资源文件的访问修饰符
EN

Stack Overflow用户
提问于 2015-12-16 22:06:10
回答 4查看 6.8K关注 0票数 19

我正在尝试在VS2015中创建新的资源文件。我很好地创建了它们,但当我尝试更改“访问修饰符”时,下拉菜单被禁用...

有什么想法吗?

我在ASP.NET MVC6 (ASP.NET5)中工作。该项目是一个类库,但我在Web项目中进行了测试,得到了相同的结果。

谢谢!!

编辑:添加的属性窗口

EN

回答 4

Stack Overflow用户

发布于 2015-12-16 22:20:12

您可以检查文件的属性并验证自定义工具是否为ResXFileCodeGenerator吗?如果为GlobalResourceProxyGenerator,则下拉列表将被禁用。

票数 13
EN

Stack Overflow用户

发布于 2016-06-20 16:03:19

我也有同样的问题,但我找到了这个简单的解决方案

总结一下:

  1. 右键单击文件资源,选择[属性(Alt+Enter) ][
  2. ]将生成操作更改为嵌入式资源
  3. 将自定义工具更改为PublicResXFileCodeGenerator
票数 6
EN

Stack Overflow用户

发布于 2016-09-12 07:23:44

Asp.net核心 projects中的A)

此问题是Asp.net Core项目中的known bug,默认情况下访问修改器位于public上,您无法对其进行更改。它将由asp.net核心团队next updates 解决,但如果你需要internal访问修饰符,你可以使用我的临时解决方案:

通过资源设计器将所有项目保存到解决方案资源管理器中,然后在解决方案资源管理器中展开

  1. Add Resource.Designer.cs
  2. Replace it
  3. ,然后使用< Resource.resx >D32和它

打开其中的所有 public字符串

注意:每次保存Resource.resx文件时,都应再次执行步骤3。

最后,您应该有一个带有如下访问修饰符的Resource.Designer.cs文件:

还要检查Resource.Designer.cs文件中的namespace。它应该是适当的namespace__。与您的项目namespace__同步。

B)在 Normal Asp.net projects中

If您在资源(.resx)文件的Properties panel中没有CustomTool属性,可以将其更改为PublicResXFileCodeGenerator并解决问题

然后您应该手动更改项目(.csproj)文件中的一些设置。这很简单,只要按照我的指示做就行了:

在文件中右键点击你的项目,选择Unload Project

  • Right,再次点击它,然后选择solution explorer
  1. 打开的solution explorer文件,然后选择find .resx
  2. ,你会看到一个设置块。这类似于将其包含在下面的代码中(包括PublicResXFileCodeGenerator):

代码语言:javascript
复制
<EmbeddedResource Include="MyResourceFile.resx">
      <SubType>Designer</SubType>

      <Generator>PublicResXFileCodeGenerator</Generator> <!--important line-->

      <LastGenOutput>MyResourceFile.Designer.cs</LastGenOutput>
</EmbeddedResource>

重新加载已编辑的.csproj文件并在

  • 中右键单击您的项目,然后选择solution explorer .resx

solution explorer ;)

注意:使用您的资源文件名而不是MyResourceFile

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34314146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档