C# 生成的WinForm代码中缺少属性

C# 生成的WinForm代码中缺少属性,c#,visual-studio,winforms,code-generation,code-analysis,C#,Visual Studio,Winforms,Code Generation,Code Analysis,由Visual Studio创建的任何winform的*.Designer.cs文件中的方法定义都没有使用[GeneratedCodeAttribute]属性修饰。因此,当我运行代码度量或代码分析时,将分析生成的代码。有人知道为什么不提供该属性吗(它毕竟是由代码生成的)?自己添加它是否安全(当重新生成代码时它会消失,还是只在方法体中生成)?如果我要添加它,Visual Studio 2010的合适工具和版本字符串是什么?嗯,这很棘手,它实际上不是自动生成的代码。Designer.cs文件由项目项

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

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


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

谢谢!我喜欢修改模板的想法;我将使用模板名称作为工具名称。