Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 强制WinForms重新生成.designer.cs文件_C#_Winforms_Visual Studio - Fatal编程技术网

C# 强制WinForms重新生成.designer.cs文件

C# 强制WinForms重新生成.designer.cs文件,c#,winforms,visual-studio,C#,Winforms,Visual Studio,我们有一个controls项目,其中包含在整个应用程序中使用的许多控件。这些控件上有许多旧的和冗余的属性,并且几乎没有一个具有指定的属性(例如DefaultValue()) 作为清理工作的一部分,我们为属性添加了属性,并希望删除多余的属性 作为这项工作的一部分,我们希望从winforms designer中清除生成的代码(xxxxxx.designer.cs和xxxxxx.designer.vb文件)。有些属性是直接删除的,为此我们可以使用Grep和Sed来删除有问题的行,但我们正在寻找一种方法

我们有一个controls项目,其中包含在整个应用程序中使用的许多控件。这些控件上有许多旧的和冗余的属性,并且几乎没有一个具有指定的属性(例如
DefaultValue()

作为清理工作的一部分,我们为属性添加了属性,并希望删除多余的属性

作为这项工作的一部分,我们希望从winforms designer中清除生成的代码(
xxxxxx.designer.cs
xxxxxx.designer.vb
文件)。有些属性是直接删除的,为此我们可以使用Grep和Sed来删除有问题的行,但我们正在寻找一种方法,使visualstudio(或其他什么)能够重新生成文件

因为我们有100个表单,所以手动打开每个表单并修改它们来实现这一点是不可行的

有人知道这样做的方法吗

编辑:

澄清一下,我的意思不是立即删除属性,而是对它们应用
DesignerSerializationVisibity()
属性,告诉设计者不要编写它们。一旦我们更新了所有设计器文件,我们就可以删除这些属性

另请参见:


不可能,如果InitializeComponent()包含已删除或重命名的属性的属性分配,则无法让设计器解析它。它必须先解析它,然后才能重新生成代码


唯一真正的方法是首先将[DesignerSerializationVisibility]属性应用于旧属性,使其不再写入属性分配。然后加载每个表单并进行简单的编辑,以使其重新生成InitializeComponent(),现在不需要属性赋值。然后你可以移除它们。直接编辑方法可能会更快。

我的意思不是删除属性,而是对它们应用
Browsable(False)
属性,告诉设计者不要编写它们。更新所有设计器文件后,我们可以删除属性。否,[可浏览]仅影响属性窗口中的可见性。您确实希望[DesignerSerializationVisibity]避免写入。属性构造函数不接受bool,也不知道您在做什么。否则,你的编辑只是重复我发布的内容。祝你好运。