Warm tip: This article is reproduced from serverfault.com, please click

localization-.NET Core 1.1资源文件问题

(localization - .NET Core 1.1 Resource File Issue)

发布于 2017-05-05 14:59:16

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

定制工具ResXFileCodeGenerator未能为输入文件'Resources.en.resx'生成输出,但未记录特定错误。

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

Questioner
Seth Kong
Viewed
0
David Rawson 2017-10-28 12:31:21

删除目录中当前存在的所有.resx文件Resources

现在转到Resources目录,右键单击Add > New Item

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

此第一个Resource.resx文件应具有其自己的设计器类。它还需要用于项目本地化的所有键和值,因此,如果你已有项目,则Resource.en.resx可以将其中的值复制并粘贴到此项目中。

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

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