使用 AssemblyVersion 标记程序集 App_licenses.dll(FxCop CA1016 规则)
Posted
技术标签:
【中文标题】使用 AssemblyVersion 标记程序集 App_licenses.dll(FxCop CA1016 规则)【英文标题】:Mark assembly App_licenses.dll with AssemblyVersion (FxCop CA1016 rule) 【发布时间】:2010-03-17 08:44:38 【问题描述】:我正在尝试在我的网站中满足 FxCop 的规则。由于我使用了一些 Infragistics 控件,因此我有一个 licenses.licx 文件,该文件在发布后会变成“app_licenses.dll”程序集。
问题是这个 app_licenses.dll 程序集不符合规则 CA1016 (MarkAssembliesWithAssemblyVersion),我应该在“App_Licenses.dll”中添加一个 AssemblyVersion 属性。
我发现我可以将 AssemblyInfo 文件添加到我的网站,然后从 web.config 文件中引用它,如下所示:
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" compilerOptions="C:\....\AssemblyInfo.cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5" />
<providerOption name="WarnAsError" value="false" />
</compiler>
</compilers>
AssemblyInfo.cs 包含:
使用系统; 使用 System.Reflection; 使用 System.Runtime.InteropServices; 使用 System.Resources;
[程序集:AssemblyVersion("1.0.0.0")] [程序集:AssemblyFileVersion("1.0.0.0")] [程序集:NeutralResourcesLanguageAttribute("es-ES")]
NeutralResourcesLanguageAttribute 适用于网站中另一个自动生成的 dll (app_GlobalResources.dll) 的另一个 FxCop 规则,但 app_licenses.dll 似乎忽略了程序集信息并且仍然弹出相同的 CA1016 错误。
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:我会忽略这条规则。并非所有规则在所有情况下都有意义。就这么简单。
【讨论】:
这不取决于我!我必须尝试一下,或者至少解释一下为什么我无法修复它以上是关于使用 AssemblyVersion 标记程序集 App_licenses.dll(FxCop CA1016 规则)的主要内容,如果未能解决你的问题,请参考以下文章
AssemblyVersion,AssemblyFileVersion解释以及获取
AssemblyVersion,AssemblyFileVersion和AssemblyInformationalVersion之间有什么区别?