使用AssemblyVersion标记程序集App_licenses.dll(FxCop CA1016规则)

时间:2010-03-17 08:44:39

标签: .net assemblies fxcop

我正在尝试在我的网站上实现FxCop的规则。由于我使用了一些Infragistics控件,因此我有一个licenses.licx文件,在发布后会变成“app_licenses.dll”程序集。

问题是这个app_licenses.dll程序集不符合规则CA1016(MarkAssembliesWithAssemblyVersion),我应该将AssemblyVersion属性添加到'App_Licenses.dll'。

我发现我可以将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;
使用System.Reflection;
使用System.Runtime.InteropServices;
使用System.Resources;

[assembly:AssemblyVersion(“1.0.0.0”)]
[assembly:AssemblyFileVersion(“1.0.0.0”)]
[assembly:NeutralResourcesLanguageAttribute(“es-ES”)]

NeutralResourcesLanguageAttribute为网站中另一个自动生成的dll(app_GlobalResources.dll)工作,用于另一个FxCop规则,但app_licenses.dll似乎忽略了程序集信息,仍然弹出相同的CA1016错误。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我会忽略这条规则。并非所有规则在所有情况下都有意义。那很简单。