生成的WinForm代码缺少属性

时间:2010-05-04 20:32:20

标签: c# visual-studio winforms code-generation code-analysis

Visual Studio创建的任何winform的* .Designer.cs文件中的方法定义都没有使用[GeneratedCodeAttribute]属性进行修饰。因此,在运行代码度量或代码分析时会分析生成的代码。有没有人知道为什么没有提供该属性(毕竟生成的代码)?自己添加它是否安全(重新生成代码时会消失,还是只在方法体内生成)?如果我要添加它,Visual Studio 2010的正确工具和版本字符串是什么?

1 个答案:

答案 0 :(得分:4)

嗯,这很棘手,实际上并不是自动生成的代码。 Designer.cs文件由项目项模板生成。 Windows窗体设计时序列化程序仅重新生成InitializeComponent()方法主体,并将控制声明附加到文件的底部。

这并不能真正帮助您解决问题。我能想到的最有效的解决方法是简单地编辑模板。在我的机器上,即c:\ program files \ microsoft visual studio 10.0 \ common7 \ ide \ itemtemplatescache \ csharp \ windows forms \ 1033 \ form.zip \ form.designer.cs,将该属性放在方法之前。你使用的并不重要,没有工具会期望这个属性存在。