【问题标题】:C# Satellite Assemblies? Do I need to link default culture resourceC# 卫星程序集?我需要链接默认文化资源吗
【发布时间】:2008-12-23 01:15:43
【问题描述】:

我们希望使用附属程序集来包含各种依赖于语言环境的资源文件。

问题是……我们需要链接默认文化吗?

我们有一个单独的项目,其中将包含我们所有不同的文化资源文件。如下图所示,我们有一个项目,里面有两个资源文件。

项目资源

  • Resource.resx
  • Resource.it-IT.resx

我假设“Resource.resx”将作为默认文化,如果选择意大利文化,应用程序将采用 it-IT 资源文件。

我们需要做什么才能让应用程序和项目的其余部分访问资源文件。我们如何设置资源文件的命名空间以便能够引用它们。

非常感谢任何帮助。

【问题讨论】:

    标签: c# resources satellite-assembly


    【解决方案1】:

    基本上,

    如果操作系统使用的当前文化与您发布的某个文化相匹配,则会使用该文化,如果当前文化与您发布的任何文化都不匹配,它将使用中性文化。

    在最简单的情况下,您只需要在部署中包含任何本地化的 dll,一切都会好起来的..

    当您使用资源管理器时,我认为您还可以明确传递要使用的文化,运行时将搜索匹配的资源 - 当 ASP.Net 站点的用户可能有与运行网站的机器不同的特定文化偏好。

    http://msdn.microsoft.com/en-us/magazine/cc163609.aspx 似乎是一个不错的起点。

    【讨论】:

    • 谢谢安德鲁 .. 这是一个开始。但是可以将资源放入单独的项目(程序集)中,并且解决方案中的任何项目都可以访问资源吗?这是我们可以将资源分离到一个单独的 DLL 中来管理应用程序中的所有项目的吗?
    • 不用担心 Andrew .. 我设法解决了。基本上我们可以使用反射来加载程序集,然后访问 DLL 中的相应资源。所以现在我们可以创建一个 DLL 来管理整个解决方案的语言环境设置。
    猜你喜欢
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 2023-01-08
    • 2023-03-26
    • 1970-01-01
    • 2011-01-16
    • 2010-09-08
    • 1970-01-01
    相关资源
    最近更新 更多