在C#类项目中,AssemblyCulture用于什么?

在C#类项目中,有一个名为AssemblyInfo.cs的Properties文件。 在此文件中有一系列程序集属性,包括AssemblyTitleAssemblyDescription等,它们用于描述有关已编译项目的某些详细信息。 其中之一是AssemblyCulture

我理解其他用途是什么 ,但AssemblyCulture用来描述什么? 语言? 货币? 两者兼而有之?

每当我看到这个属性时,它都被留空了。

从文档 :

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

总结:框架在内部使用此属性来标记在向项目添加本地化资源时自动创建的附属程序集 。 您可能永远不需要手动将此属性设置为""以外的任何其他属性。

当我用Google搜索你的问题时,我想出了本教程的快速回答。 它有一个小描述,我在下面提供,它看起来像你可以指定本地化,但我不知道它为你的assembly做了多少工作。

“AssemblyCultureAttribute类实现了AssemblyCulture属性,该属性用于指定程序集的文化,并指示这不是主程序集,而是其卫星。

 [assembly: AssemblyCulture("de")] // German 

从文档中引用:

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