在程序集中公开My.Resources

时间:2015-04-08 14:17:54

标签: .net vb.net localization .net-assembly my.resources

我是否可以在程序集中公开My.Resources,以便在引用该程序集的项目中使用强类型资源?

在程序集中,我可以访问资源文件" RunTimeStrings"像这样:

My.Resources.RunTimeStrings.PowerOn返回"电源开启"在适当的文化中的字符串,但我希望能够从外部应用程序访问它。

我尝试将资源文件公开为共享只读属性:

Return My.Resources.RunTimeStrings

但这会产生错误Error 53 'RunTimeStrings' is a type and cannot be used as an expression

1 个答案:

答案 0 :(得分:1)

您无法公开RunTimeStrings,它是模块。一种类型,因此是错误消息。您必须单独公开每个资源,这非常痛苦。

一个稍微合理的解决方法是返回项目的“资源”选项卡,并将“访问修改器”组合框从“朋友”更改为“公共”。所以你可以在另一个程序集中访问它们。如果您还没有这样做,请添加项目参考。

然后语法应该类似于:

   Dim str = ClassLibrary1.My.Resources.RunTimeStrings.PowerOn

其中ClassLibrary1是项目的根命名空间。