在 .NET Core 1.0 中使用 resx 资源

Posted

技术标签:

【中文标题】在 .NET Core 1.0 中使用 resx 资源【英文标题】:Using resx resources in .NET Core 1.0 【发布时间】:2016-07-05 00:32:00 【问题描述】:

我正在尝试在 ASP.NET Core 项目中使用资源 (.resx) 文件。我使用 namedResource 让它在 rc1 中工作,但似乎无法让它在 RTM 中工作。这是我的 project.json 的样子:

"buildOptions": 
  "embed": 
    "include": [ "Resources/resource.resx" ]
  

我是这样访问它的:

Resources.ResourceManager.GetString("Field1");

似乎资源没有嵌入,因为我调试时那里什么都没有。

任何帮助将不胜感激。

【问题讨论】:

找到了答案! ***.com/questions/37360068/… Mr.mrfleck 解决了这个问题。因此,如果我将 .resx 文件移动到项目的根目录而不是子文件夹中,它会按预期工作。我已经尝试了从子文件夹嵌入的所有方法,但它不再有效。现在我将使用这个解决方法,但我怀疑这是 RC2 中的一个错误。目前这是一个工具问题。 这能回答你的问题吗? Localization in separate project Asp.net Core MVC 【参考方案1】:

对于资源使用中的字符串: 移除嵌入。

var x = ResourceFoo.Field1;

对于资源使用中的文件: 包括嵌入文件(例如:/Folder1/**/*) Assembly.GetExecutingAssembly().GetManifestResourceStream("Folder1.Folder2.file.ext");

【讨论】:

以上是关于在 .NET Core 1.0 中使用 resx 资源的主要内容,如果未能解决你的问题,请参考以下文章

Strings.resx 本地化未安装在 .Net 程序中

如何在 javascript 文件中使用 resx 文件。 .net 核心 3.1 mvc

ASP.NET Core 1.0 中使用 Swagger 生成文档

ASP.NET Core 1.0 中使用Log日志

如何在 asp.net core 1.0 中查看当前 url

.NET Core 1.0ASP.NET Core 1.0和EF Core 1.0简介