在程序集中公开 My.Resources

Exposing My.Resources in an Assembly

有没有一种方法可以在程序集中公开 My.Resources,以便我可以在引用该程序集的项目中使用强类型资源?

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

My.Resources.RunTimeStrings.PowerOn 到 return 适当区域性的 "Power is On" 字符串,但我希望能够从外部应用程序访问它。

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

Return My.Resources.RunTimeStrings

但这给出了错误 Error 53 'RunTimeStrings' is a type and cannot be used as an expression

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

一个比较合理的解决方法是返回项目的资源选项卡并将访问修饰符组合框从朋友更改为 Public。因此您可以在另一个程序集中访问它们。如果您还没有这样做,请添加项目参考。

那么语法应该类似于:

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

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