Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core ASP.NET 5(MVC 6)-资源本地化_Asp.net Core - Fatal编程技术网

Asp.net core ASP.NET 5(MVC 6)-资源本地化

Asp.net core ASP.NET 5(MVC 6)-资源本地化,asp.net-core,Asp.net Core,我花了大约一周的时间试图了解本地化在ASP.NET Core1.0中的工作原理。我已经测试了很多选项,但是我不能让它工作 我已经阅读了中的bug,我已经阅读了所有关于它现在如何工作的文章(,),并且我已经在官方的GitHub存储库中检查并测试了所有关于 我的目标: 我只是想让它像我在ASP.NETMVC5中做的那样工作 我已将Startup.cs配置为: 配置部分: 在我的文件夹资源中,我有.resx文件。我从官方的例子中复制了它,但是没有办法。。。没有错误,只是不工作 如果我测试官方回购协议的

我花了大约一周的时间试图了解本地化在ASP.NET Core1.0中的工作原理。我已经测试了很多选项,但是我不能让它工作

我已经阅读了中的bug,我已经阅读了所有关于它现在如何工作的文章(,),并且我已经在官方的GitHub存储库中检查并测试了所有关于

我的目标:

我只是想让它像我在ASP.NETMVC5中做的那样工作

我已将Startup.cs配置为:

配置部分:

在我的文件夹资源中,我有.resx文件。我从官方的例子中复制了它,但是没有办法。。。没有错误,只是不工作

如果我测试官方回购协议的本地化示例,它是有效的。但是我不能修改以适应MVC6

我已经在GitHub上为我的代码创建了一个存储库并对其进行了测试。()

有人能帮我吗?我认为很多人都有这些问题


谢谢

好吧,我解决了。。。明天我将在GitHub上更新我的示例

我已经创建了一个\u ViewImports,并添加了它:

@addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers"
@using System.Threading.Tasks
@using AspNet5Localization
@using AspNet5Localization.Resources
@using Microsoft.AspNet.Mvc.Localization
@using Microsoft.Extensions.Localization
@inject IStringLocalizer<AmazingResource> SR
我不知道这是否是最好的方法,但它是有效的。如果有人能解释最好的方法,请回答这个问题

完整的解决方案工作:


谢谢。

这正是我想要的。我尝试运行RC2的示例,但我无法管理。我遇到了与dnx的rc2版本相关的问题。你运行过这个版本吗?还没有。。。我以后再做。我将在新的分支中升级,您可以添加带有数据注释的示例本地化。我尝试了
[Required(ErrorMessageResourceName=“Name_is_Required”,ErrorMessageResourceType=typeof(PersonalInfo))][MaxLength(Constants.MaxNameLength)]公共字符串名{get;set;}
,但它不起作用。令人遗憾的是,经过这么多年的时间和大规模的核心品牌重塑,我们仍然坚持使用这个丑陋的本地化解决方案,涉及.resx文件,但现在又有一个间接层涉及接口和依赖项注入。悲伤,非常悲伤。我很惊讶微软把它留给了开源社区,没有人为此而工作,因为如果有,他们就不配得到他们的薪水…我同意@Vi100,本地化仍然很难看。。。我会等你的
// Add MVC services to the services container.
            services
                .AddMvc()
                .AddViewLocalization(options => options.ResourcesPath = "Resources")
                .AddDataAnnotationsLocalization();
@addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers"
@using System.Threading.Tasks
@using AspNet5Localization
@using AspNet5Localization.Resources
@using Microsoft.AspNet.Mvc.Localization
@using Microsoft.Extensions.Localization
@inject IStringLocalizer<AmazingResource> SR
@SR["Name"]