实际用途是什么AssemblyTitle
属性? MSDN 表示它指定了程序集的描述,并且程序集标题是一个可以包含空格的友好名称。
Visual Studio 要求在项目的属性窗口中提供程序集名称以及默认命名空间。有一个AssemblyName
属性,但它完整地描述了程序集的唯一身份(即文化等)。我不明白怎么办AssemblyTitle
不同于AssemblyProduct
.
我用IL反汇编器来看看微软是如何使用的AssemblyTitle
。我发现在mscorlib.dll, AssemblyTitle
, AssemblyProduct
and AssemblyDefaultAlias
都设置为"mscorlib.dll"
.
总之,我真正希望看到的是使用的实际例子AssemblyTitle
.
[AssemblyTitle] 是一个相当大的问题,当您右键单击程序集并使用“属性”+“详细信息”时,它是直接可见的。
一个让它更明显的例子。让我们从这个 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 并不总是能够很好地合作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)