- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在向 .NET 应用程序添加“关于”对话框,并且正在查询程序集的属性以获取要显示的信息。当我尝试检索程序集的 AssemblyVersionAttribute
时使用GetCustomAttribute()
它返回null
:
// Works fine
AssemblyTitleAttribute title
= (AssemblyTitleAttribute)Attribute.GetCustomAttribute(
someAssembly, typeof(AssemblyTitleAttribute));
// Gets null
AssemblyVersionAttribute version
= (AssemblyVersionAttribute)Attribute.GetCustomAttribute(
someAssembly, typeof(AssemblyVersionAttribute));
我的 AssemblyInfo.cs
看起来不错。我定义了这些属性:
[assembly: AssemblyTitle("Some Application")]
[assembly: AssemblyVersion("1.0.0.0")]
这是怎么回事?我确实有一个解决方法,但我想知道为什么上面的代码不起作用。
// Work-around
string version = someAssembly.GetName().Version.ToString();
最佳答案
AssemblyVersionAttribute
不会添加到程序集中,而是由编译器以“特殊”方式处理(即,它设置程序集的版本)
您可以获得 AssemblyFileVersion
属性(即该属性已添加到程序集中)
还有其他属性显示相同的行为:AssemblyCultureAttribute
和 AssemblyFlagsAttribute
也用于设置程序集属性,并且不会作为自定义属性添加到程序集中。
所有这些属性都列在文档中的程序集标识属性下。文档对这些属性是这样描述的:
Three attributes, together with a strong name (if applicable), determine the identity of an assembly: name, version, and culture.
关于.net - GetCustomAttribute() 对 AssemblyVersionAttribute 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1144525/
我们有将构建版本控制为 [major].[minor].[micro].[revision] 的惯例,例如2.1.2.33546. 我们的构建脚本会自动更新包含 的 AssemblyInfo.cs 文
您可以加载程序集并查询所有程序集属性,包括 AssemblyInformationalVersionAttribute , AssemblyVersionAttribute和 AssemblyFile
我正在向 .NET 应用程序添加“关于”对话框,并且正在查询程序集的属性以获取要显示的信息。当我尝试检索程序集的 AssemblyVersionAttribute 时使用GetCustomAttrib
我正在使用 dotnet 核心。这是针对 CI 过程,而不是本地构建。我希望允许开发人员为标题等内容创建 AssemblyInfo.cs 文件,但我希望我的构建过程能够控制程序集的版本。 目前我正在使
我继承了一个 VB.Net 代码库,它是 VB 2005 并升级到 VB 2008,包含大约 100 个项目 我正在尝试重新版本所有组件,但发现某些 AssemblyInfo.vb 文件具有 Asse
我是一名优秀的程序员,十分优秀!