2017-10-21 94 views
1

我試圖使ASP.NET Core 2.0應用程序多語言。我在一個名爲「Resource.it.resx」的資源文件夾下創建了一個資源文件。我將其訪問修飾符設置爲Public,並將其名稱空間設置爲Resources。ASP.NET Core 2.0:資源命名空間不可見

在(重新)構建解決方案後,我無法在cshtml代碼中的C#代碼中看到此名稱空間。

是否有其他一些步驟?

回答

1

有你需要考慮兩件事情:

  1. 只有Resource.resx生成一個命名空間,特定的文化資源,如Resource.it.resx不會產生命名空間。這是預期的行爲。
  2. ASP.NET Core的本地化實踐建議不要直接使用資源,而是使用IStringLocalizer找到本地化的字符串。

我建議你閱讀ASP.NET Core本地化基礎in the official MSDN guide。在那裏你可以找到在控制器,視圖和需要它們的地方對字符串進行本地化的例子。

1

首先檢查您的資源命名空間是否在控制器中可見, (如Resources.Resource)中可見。

我還沒有,在這種情況下,我創建了一個emtpy資源類,例如。我的資源名稱是ServiceResources.en-US.resx,在同一個文件夾中我也有ServiceResources.cs空類。

檢查您是否已正確使用IStringLocalizer類在_ViewImports.cshtml中導入了您的名稱空間。