如何在 vb.net 中的项目之间共享 .resx 文件?
How to share .resx files between projects in vb.net?
目前,我们有许多 .NET Framework 4.7.1 VB 项目(每个项目都有自己的解决方案)具有相同的全球语言翻译资源:
project1.vbproj
App_GlobalResources
module1.resx
module1.en.resx
module1.de.resx
module2.resx
module2.en.resx
module2.de.resx
…
modulen.resx
modulen.en.resx
modulen.de.resx
project2.vbproj
App_GlobalResources
module1.resx
module1.en.resx
module1.de.resx
module2.resx
module2.en.resx
module2.de.resx
…
modulen.resx
modulen.en.resx
modulen.de.resx
…
projectm.vbproj
App_GlobalResources
module1.resx
module1.en.resx
module1.de.resx
module2.resx
module2.en.resx
module2.de.resx
…
modulen.resx
modulen.en.resx
modulen.de.resx
然后我们使用通常的符号访问资源,例如,在 .ascx
文件中:
<%=Resources.module1.text1%>
是否可以消除文件重复?例如,将 module1.resx
放入共享项目,然后让所有项目引用该共享项目?
无需重新编译即可修改.resx
文件,我们只是想简化源代码控制。
我们希望保持当前 .resx
个文件不变。
如果有必要,我们可以将对资源 (Resources.module1.text1
) 的引用修改为其他内容,并且更改很简单。
是的,这当然有可能。您可以按照以下步骤操作:
- 创建一个名为
CommonResources
的新 class-library 项目。
- 将所有资源文件(包括本地化的)添加到其中。
确保将每个资源文件的访问修饰符设置为 Public
。
构建项目。
在您的每个主项目中,添加对 CommonResources 项目 (CommonResources.dll
) 主程序集的引用。
要访问资源,只需使用如下内容:
CommonResources.Module1.Foo
CommonResources.Module2.Bar
查看实际效果:
目前,我们有许多 .NET Framework 4.7.1 VB 项目(每个项目都有自己的解决方案)具有相同的全球语言翻译资源:
project1.vbproj
App_GlobalResources
module1.resx
module1.en.resx
module1.de.resx
module2.resx
module2.en.resx
module2.de.resx
…
modulen.resx
modulen.en.resx
modulen.de.resx
project2.vbproj
App_GlobalResources
module1.resx
module1.en.resx
module1.de.resx
module2.resx
module2.en.resx
module2.de.resx
…
modulen.resx
modulen.en.resx
modulen.de.resx
…
projectm.vbproj
App_GlobalResources
module1.resx
module1.en.resx
module1.de.resx
module2.resx
module2.en.resx
module2.de.resx
…
modulen.resx
modulen.en.resx
modulen.de.resx
然后我们使用通常的符号访问资源,例如,在 .ascx
文件中:
<%=Resources.module1.text1%>
是否可以消除文件重复?例如,将 module1.resx
放入共享项目,然后让所有项目引用该共享项目?
无需重新编译即可修改.resx
文件,我们只是想简化源代码控制。
我们希望保持当前 .resx
个文件不变。
如果有必要,我们可以将对资源 (Resources.module1.text1
) 的引用修改为其他内容,并且更改很简单。
是的,这当然有可能。您可以按照以下步骤操作:
- 创建一个名为
CommonResources
的新 class-library 项目。 - 将所有资源文件(包括本地化的)添加到其中。
确保将每个资源文件的访问修饰符设置为
Public
。构建项目。
在您的每个主项目中,添加对 CommonResources 项目 (
CommonResources.dll
) 主程序集的引用。要访问资源,只需使用如下内容:
CommonResources.Module1.Foo CommonResources.Module2.Bar
查看实际效果: