.NET Framework中的“AssemblyTitle”属性
AssemblyTitle
属性的实际用途是什么? MSDN表示它指定了程序集的描述,并且程序集标题是一个友好名称,可以包含空格。
Visual Studio在项目的属性窗口中询问程序集名称以及默认名称空间。 有一个AssemblyName
属性,但它完整地描述了程序集的唯一标识(即文化等)。 我没有看到AssemblyTitle
与AssemblyTitle
区别。
我使用IL反汇编程序来了解Microsoft如何使用AssemblyTitle
。 我发现在mscorlib.dll中 , AssemblyTitle
, AssemblyProduct
和AssemblyDefaultAlias
都设置为"mscorlib.dll"
。
总之,我真正希望看到的是使用AssemblyTitle
实际例子。
您的产品可以包含多个组件。
所有程序集都将具有单个产品名称,并且各个程序集将具有自己的标题。
AssemblyProduct = "MyProduct"
AssemblyTitle = "MyProduct.Utilities"
并为另一个集会
AssemblyTitle = "MyProduct.Security"
程序集标题也用于资源管理器文件属性等。 File > Properties > Details
选项卡
File Description = AssemblyTitle Product name = AssemblyProduct
[AssemblyTitle]是一个非常大的问题,当你右键单击程序集并使用Properties + Details时,它是直接可见的。
一个让它更加明显的例子。 让我们从这个AssemblyInfo.cs文件开始:
[assembly: AssemblyTitle("AssemblyTitle")] [assembly: AssemblyDescription("AssemblyDescription")] [assembly: AssemblyConfiguration("AssemblyConfiguration")] [assembly: AssemblyCompany("AssemblyCompany")] [assembly: AssemblyProduct("AssemblyProduct")] [assembly: AssemblyCopyright("AssemblyCopyright")] [assembly: AssemblyTrademark("AssemblyTrademark")] [assembly: AssemblyCulture("")] [assembly: Guid("7da36bdf-39fb-4a4d-b98c-ecefd99b155a")] [assembly: AssemblyVersion("1.2.3.4")] [assembly: AssemblyFileVersion("5.6.7.8")]
并查看文件的属性:
一些注释:
- 请注意[AssemblyDescription]如何产生误导,它实际上是您在属性表中看到的标题。
- 不显示说明,配置和公司。 您可能希望将公司名称合并到可见的版权中。 描述和公司实际上存在于非托管版本资源中,但Windows不显示它。
- [AssemblyCulture]很特殊,它被卫星组件用于本地化
- [Guid]很特别,如果你创建一个[ComVisible]程序集,它会设置类型库guid
- [AssemblyVersion]非常特别,在.NET Framework中非常重要。 没有显示它是一个主要的挂断。 您可以在XP中看到它,而不是在以后的Windows版本中。 强烈的考虑是使[AssemblyFileVersion]具有相同的值。
- 显示的“产品版本”与“文件版本”相同。 这也不是很好,你想添加[AssemblyInformationalVersion]属性来解决这个问题。
它很古怪,Windows组和DevDiv并不总能很好地协同工作。
AssemblyTitle
也在任务管理器(Windows 10)中显示为应用程序的名称,例如在“进程”选项卡或“更少详细信息”视图中。
- 如何使用内存中持久存储编写WCF服务?
- 在GoDaddy上通过gmail SMTP发送电子邮件
- Microsoft Enterprise Library类型加载exception无法加载Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer
- RichTextBox换行符转换?
- 如何为每个文件系统观察程序分配单独的线程?
- 如何正确地将JSON字符串反序列化为包含另一个类的嵌套List的类
- 在Xml序列化后删除空xmlns =“”
- Linq查询基于多个字段AND属性查找重复对象为空
- 调用INotifyPropertyChanged的PropertyChanged事件的最佳方法是什么?