我試圖使ASP.NET Core 2.0應用程序多語言。我在一個名爲「Resource.it.resx」的資源文件夾下創建了一個資源文件。我將其訪問修飾符設置爲Public,並將其名稱空間設置爲Resources。ASP.NET Core 2.0:資源命名空間不可見
在(重新)構建解決方案後,我無法在cshtml代碼中的C#代碼中看到此名稱空間。
是否有其他一些步驟?
我試圖使ASP.NET Core 2.0應用程序多語言。我在一個名爲「Resource.it.resx」的資源文件夾下創建了一個資源文件。我將其訪問修飾符設置爲Public,並將其名稱空間設置爲Resources。ASP.NET Core 2.0:資源命名空間不可見
在(重新)構建解決方案後,我無法在cshtml代碼中的C#代碼中看到此名稱空間。
是否有其他一些步驟?
有你需要考慮兩件事情:
Resource.resx
生成一個命名空間,特定的文化資源,如Resource.it.resx
不會產生命名空間。這是預期的行爲。IStringLocalizer
找到本地化的字符串。我建議你閱讀ASP.NET Core本地化基礎in the official MSDN guide。在那裏你可以找到在控制器,視圖和需要它們的地方對字符串進行本地化的例子。
首先檢查您的資源命名空間是否在控制器中可見, (如Resources.Resource)中可見。
我還沒有,在這種情況下,我創建了一個emtpy資源類,例如。我的資源名稱是ServiceResources.en-US.resx,在同一個文件夾中我也有ServiceResources.cs空類。
檢查您是否已正確使用IStringLocalizer類在_ViewImports.cshtml中導入了您的名稱空間。