繁体   English   中英

跨解决方案在不同项目中将资源 (Resx) 文件作为链接项共享

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM