如何在同一个程序集中嵌入c#程序集资源

本文关键字:程序集 资源 集中 同一个 程序 | 更新日期: 2023-09-27 17:53:46

我已经为我的类库项目添加了不同文化的资源。生成时,将为每个区域性创建单独的文件夹,每个文件夹中都有一个程序集。

是否有一种方法可以将所有资源嵌入到类库程序集中,而不是为每个文化设置额外的程序集?类库最终会在另一个项目中使用,所以对于这些单独的文件夹,它需要分发一个zip文件,而不仅仅是一个程序集。

澄清:我正在寻找一个没有安装程序或第二方工具的解决方案。相反,我希望在Visual Studio中找到一个解决方案,其结果将是一个包含不同资源的程序集。

如何在同一个程序集中嵌入c#程序集资源

要将多个程序集合并为一个程序集,可以使用Fody/Costura。它允许您将多个程序集合并到一个项目中。在主项目中添加它(可以通过nuget完成)。然后在自动生成的weaver .xml文件中添加以下文本:

<Costura>
    <IncludeAssemblies>
        Project.MyData.Dutch
        Project.MyData.French
        Project.MyData.English
    </IncludeAssemblies>
</Costura>

(它应该与引用的名称相同,所以没有。dll后缀)