.NET Core 1.1资源文件问题

Set*_*ong 5 .net localization internationalization

在我的.NET Core类库项目中,当资源文件名中包含一个点时,资源文件不会更新.例如,当我在.NET Core项目中添加Resources.en.resxResources.es.resx文件时,自定义工具无法生成或更新C#资源文件.这是错误消息:

自定义工具ResXFileCodeGenerator无法为输入文件"Resources.en.resx"生成输出,但未记录特定错误.

如果您知道任何解决方法或任何修复方法,请指出正确的方向

Cod*_*shi 10

只需卸载项目并重新加载,错误就会消失。

  1. 在解决方案资源管理器中右键单击项目 > 卸载项目
  2. 在解决方案资源管理器中右键单击项目 > 重新加载项目


Dav*_*son 9

删除当前在您的任何 .resx 文件 Resources目录中的。

现在转到您的Resources目录并右键单击Add > New Item.

选择Resource File并在表格底部输入文件名。重要的是您第一次获得正确的名称并且不要重命名。你可以使用类似的东西Resource.resx

这个第一个Resource.resx文件应该有自己的设计器类。它还需要为您的项目进行本地化的所有键和值,因此如果您有一个现有的Resource.en.resx您可以将其中的值复制并粘贴到这个中。

如果您需要,IStringLocalizer<Resource>或者换句话说,您需要以Resource某种方式引用该类,那么您将需要转到解决方案资源管理器并左键单击Resource.resx. 在“属性”框中有一个名为“自定义工具”的字段。如果您希望从 resx 生成可公开访问的类,则需要将其从 更改ResXFileCodeGeneratorPublicResXFileCodeGenerator

现在您可以添加单独的Resource.ja.resx,Resource.es.resx文件。这些并没有需要有一个自定义工具ResXFileCodeGenerator之上运行,所以你可以从属性删除。这将修复您的错误消息。


Hug*_*ugo 5

我正在将 VS2019 与 .Net Standard 2.0 一起使用,但仍然存在此错误。我已经尝试过,...删除文件,清理,重建。但错误仍然存​​在。

我最终使用 ResXManager 工作得非常好,它可以从 Visual Studio 市场获得。

https://marketplace.visualstudio.com/items?itemName=TomEnglert.ResXManager

为 ResXManager 团队点赞!