[英]Sharing Resource (Resx) file as a linked item in different projects across solution
我有一个名为“MyApplication”的解决方案,其中包含两个项目:
ProjectA(命名空间 MyApplication.ProjectA){.Net Core 2.1} ProjectB(命名空间 MyApplication.ProjectB){.Net Core 2.1 测试项目}
ProjectA 包含一个名为“Messages.resx”的资源文件。
我在 ProjectB 中有 Messages.resx添加为链接,每当我从 ProjectB 中的 Messages.resx 读取值时,它都会抛出System.Resources.MissingManifestResourceException 。 我不想在 ProjectB 中直接引用 ProjectA。 此外,添加第三个包含资源文件的库项目并在 ProjectA 和 ProjectB 中引用它也不是一种选择。 如何将资源添加为 Add As Link 并使用它?
例如,我有两个 mvc 项目:WebApplication1 和 WebApplication3。
我在 WebApplication3 中有一个资源文件(MyData.resx):
我的数据.resx:
现在,根据您的需要,我将 MyData.resx 添加为 WebApplication1 中的链接:
然后,我可以从 WebApplication1 controller 中的 .rexs 文件中获取数据,如下所示:
public IActionResult Index()
{
var rm = new ResourceManager("WebApplication1.Resources.MyData", Assembly.GetExecutingAssembly());
string username = rm.GetString("Username");
return View();
}
结果:
注意:ResourceManager 中的 baseName 应该是当前项目的命名空间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.