我有一个带有一个Web项目和一个类库的解决方案。在Web项目中,我有App_GlobalResources文件夹和资源文件。在Web项目中使用的代码中,我可以像这样访问resourcel: string r = Resources.res.ResourceString123;
如何从类库中获取此资源字符串?
答案 0 :(得分:1)
我还为我的Web项目和类库使用单独的程序集。我需要访问我的ModelBinder的Web项目中的App_GlobalResources。我通过这种方法访问资源(参见:A Beginner's Guide to ASP.NET Application Folders)。
HttpContext.GetGlobalResourceObject( string classKey , string resourceKey )
有一点需要注意的是,你需要通过我的ModelBinder中的controllerContext访问HttpContext。
我的ModelBinder代码如下:
var errorMessage = controllerContext.HttpContext.GetGlobalResourceObject( "DefaultModelBinder" , "PropertyValueRequired" ) as string;
上面允许我在ASP.NET的默认错误消息和我的ModelBinder上有一致的错误消息,即使我将它们放在不同的程序集中。
答案 1 :(得分:0)
在.net 2.0中,您需要将InternalsVisibleTo属性添加到程序集&将其设置为需要访问该文件的命名空间:
另一个选择可能是在类库中创建一个可以返回所需字符串的类......
HTH。
答案 2 :(得分:0)
如果使用visual studio 2008,您可以在类库的Resource designer到public
设置访问修饰符。