文件“详细信息”选项卡中的“语言中性”属性

Apo*_*kal 3 c# dll assemblies localization

如何更改用 C# 编写的 DLL 的语言属性?

我尝试进入Project Properties -> Assembly Information -> Neutral Language组合框并将其设置为English (United States).

生成/重建项目/解决方案后,当我右键单击 DLL 并转到“详细信息”选项卡时,“语言”属性始终显示Language Neutral.

编辑: 我找到的解决方案是使用外部 *.res 文件(由 Visual Studio 简单生成),然后在对话框中选择它Project Propertie->Application Tab-> Resource File

Han*_*ant 5

此属性设置 AssemblyInfo.cs 文件中的 [AssemblyCulture] 特性。MSDN 库文章的“备注”部分有以下重要注释:

编译器使用该属性来区分主程序集和附属程序集。主程序集包含代码和中立文化的资源。附属程序集仅包含特定区域性的资源,如 [程序集:AssemblyCultureAttribute("de")]。将此属性放在程序集上并使用空字符串 ("") 以外的内容作为区域性名称,将使该程序集看起来像附属程序集,而不是包含可执行代码的主程序集。使用此属性标记传统代码库将破坏它,因为没有其他代码能够在运行时找到该库的入口点。

另一个重要的限制是 GAC 可以通过程序集名称、版本、体系结构和公钥令牌来区分程序集,但不能通过文化来区分程序集。附属程序集必须始终存储在本地。

长话短说,在包含代码的项目中,除了中性之外,永远不要选择任何其他东西。附属程序集几乎总是从项目中的资源自动生成,并自动获取正确的 [AssemblyCulture] 属性。