你好
我有一个名为X.Common.DLL的程序集。有一些用于多语言应用程序的资源文件。假设它是Language.resx Language.en-US.resx .... etc...。
我有一个网络应用程序,其中包含上面的dll作为引用...
那么,如何在我的Web应用程序标记端使用此资源文件?Text="<%$ Resources:Class, ResourceKey %>"
无效,因为“类”名称在另一个程序集中...
最佳答案
您可以轻松创建一个类似这样的包装器类
public class ResourceWrapper
{
private ResourceManager resourceManager;
public ResourceWrapper()
{
resourceManager = new ResourceManager("Namespace.Common", Assembly.Load("x.common"))
}
public string String(string resourceKey)
{
return ResourceManager.GetString(resourceKey);
}
}
有时,为新的ResourceManager(...)的第一个参数找到正确的名称可能会有些棘手。
为了使您自己更轻松,您可以这样调用:
Assembly.Load("x.common").GetManifestResourceNames() and check the returned results.
如果创建静态包装器,则可以使资源调用代码像下面这样简单:
<%= Resource.String("MyResourceKey") %>