在 web 项目中添加了国际化的资源文件
在当前项目中可以通过 Resources
直接调用
errorMessage = Resources.SharedMessages.Validators_SharedValidator_BlogAppShouldNotBeEmpty;
另外一个集成测试项目,虽然应用了这个 web 项目,但无法调用 Resources
,请问如何解决?
原来解决方法如此简单,只需在 web 项目的 .csproj 项目文件中将
<Generator>ResXFileCodeGenerator</Generator>
改为
<Generator>PublicResXFileCodeGenerator</Generator>
这样自动生成的 SharedMessages.Designer.cs 中的 class 就由 internal
变成 public
,在集成测试项目中就可以直接调用
解决方法来自 stackoverflow:Visual Studio - Resx File default 'internal' to 'public'