c# - 如何将 C# 程序集资源嵌入同一个程序集中?

标签 c# .net resx

我已将不同文化的资源添加到我的类(class)图书馆项目中。构建时,会为每种区域性创建单独的文件夹,每个区域性中都有一个程序集。

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

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

最佳答案

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

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

(它应该与引用同名,所以没有 .dll 后缀)

关于c# - 如何将 C# 程序集资源嵌入同一个程序集中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22663001/

相关文章:

c# - 如何从 Web API 中的 HttpResponseMessage 获取异常?

c# - 如何通过覆盖 MSBuild 目标来防止外语资源生成?

c# - 及时计算组合

c# - C#用两个随机数求和,但必须等于用户输入

c# - 为什么没有以 int 作为指数的 Math.Pow?

c# - 为什么我的模型属性在尝试 POST 时为空?

c# - 代码契约 [Type] 实现接口(interface)方法 {Interface.Method} 因此不能添加要求

c# - 您可以将 "inline"内容处置与 "application/octet-stream"一起使用吗?

c# - 使用 MVC 过滤器的国际化问题

c# - 三层文化特定资源文件