在PRISM(wpf)中的模块之间共享公共资源

在PRISM(wpf)中的模块之间共享公共资源,wpf,prism,Wpf,Prism,在模块之间共享资源(图像…)的最佳方式是什么。是否最好将其保存在一个单独的通用项目(Infrastructure?)中,并在所有模块和应用程序中引用它?我认为,在任何项目中,您都应该尝试组织您的资源,以尽量减少重复。复制不仅在运行时消耗系统资源,而且使应用程序更难维护。例如,如果你在你的程序中改变了一个图标,你必须找到它们并改变它们。程序越大,这种重构工作就越会消耗你的时间 现在我已经列出了这条线,您可以想象需要一定数量的复制的情况。主要原因是本地化,其中应用程序字符串可能使用一种或另一种语言,

在模块之间共享资源(图像…)的最佳方式是什么。是否最好将其保存在一个单独的通用项目(Infrastructure?)中,并在所有模块和应用程序中引用它?

我认为,在任何项目中,您都应该尝试组织您的资源,以尽量减少重复。复制不仅在运行时消耗系统资源,而且使应用程序更难维护。例如,如果你在你的程序中改变了一个图标,你必须找到它们并改变它们。程序越大,这种重构工作就越会消耗你的时间

现在我已经列出了这条线,您可以想象需要一定数量的复制的情况。主要原因是本地化,其中应用程序字符串可能使用一种或另一种语言,或者美国英语短语可能与英国英语短语不同。一种文化中的某些图标在另一种文化中也可能有不同的含义,但这取决于您的应用程序


我建议尽可能保持最低限度的组织,并在应用程序需要时进行扩展。

我的建议是,如果资源是共享的,那么可以将该资源放在基础设施项目中

我在基础设施项目中总是有一个Resources文件夹,后面是

Resources/Constants.xaml (Brushes, etc.)
Resources/Images/
Resources/Templates/
Resources/Converters/
Resources/Behaviours

与其他选项(如将资源保留在各自的模块项目中)相比,该选项更好(相同资源的重复可以在不同的模块之间发生,优点是模块可以完全自包含)。有折衷办法,但建议采用哪种方法?可能重复