Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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
C# ASP.NET Core 2.0:资源命名空间不可见_C#_Asp.net Mvc_Visual Studio 2017 - Fatal编程技术网

C# ASP.NET Core 2.0:资源命名空间不可见

C# ASP.NET Core 2.0:资源命名空间不可见,c#,asp.net-mvc,visual-studio-2017,C#,Asp.net Mvc,Visual Studio 2017,我正在尝试使ASP.NET Core 2.0应用程序使用多种语言。我在名为“resource.it.resx”的文件夹“Resources”下创建了一个资源文件。我将其访问修饰符设置为Public,将其名称空间设置为Resources 在(重新)构建解决方案之后,我在C#代码中看不到这个名称空间,现在在cshtml代码中看不到 还有其他步骤吗?首先检查您的资源名称空间是否在控制器中可见, 像资源,资源 我没有,在这种情况下,我创建了emtpy资源类,例如,我的资源名称是ServiceResour

我正在尝试使ASP.NET Core 2.0应用程序使用多种语言。我在名为“resource.it.resx”的文件夹“Resources”下创建了一个资源文件。我将其访问修饰符设置为Public,将其名称空间设置为Resources

在(重新)构建解决方案之后,我在C#代码中看不到这个名称空间,现在在cshtml代码中看不到


还有其他步骤吗?

首先检查您的资源名称空间是否在控制器中可见, 像资源,资源

我没有,在这种情况下,我创建了emtpy资源类,例如,我的资源名称是ServiceResources.en-US.resx,在同一文件夹中,我也有ServiceResources.cs empty类


检查是否已使用IStringLocalizer类在_ViewImports.cshtml中正确导入命名空间。

有两件事需要考虑:

  • 只有
    Resource.resx
    生成命名空间,特定于区域性的资源(如
    Resource)。it.resx
    不生成命名空间。这是预期的行为
  • ASP.NET Core的本地化实践建议不要直接使用资源,而是使用
    IStringLocalizer
    查找本地化字符串 我建议您阅读ASP.NET核心本地化的基础知识。在这里,您可以找到在控制器、视图和任何需要的地方本地化字符串的示例