是什么原因导致Visual Studio 2008表单设计器自动生成损坏的代码?

时间:2011-03-29 14:34:21

标签: vb.net designer generated-code

我一直在Visual Basic .NET中开发基于Windows窗体的项目,只需复制解决方案文件夹即可在多台计算机之间移动代码。这在过去从未引起任何问题,但是我当前的项目似乎已停止在设计器中生成有效的代码。

每当我在表单设计器中修改表单时,它都会将所有类型名称更改为其完全限定名称(例如,Form变为System.Windows.Forms.Form)。这通常会很好,除了设计师似乎忘记了System,System.Windows或System.Windows.Forms以及System.Drawing。我已经检查过所有这些都在项目引用列表中,并且所有路径都引用了有效的.dll。

目前要处理这个项目,我必须进入设计器代码,并在每次更改表单后在“System.Windows.Forms”和“System.Drawing”上使用空格做一个替换。这很麻烦,我的下一个解决方案是简单地重新制作新项目中的表单,并在假设某些模糊的解决方案配置被破坏的情况下复制代码。

有没有人有这方面的经验?

3 个答案:

答案 0 :(得分:2)

您是否将其中一个类或类型命名为“系统”?

答案 1 :(得分:0)

此问题可能是由VS中安装的加载项的错误工作引起的。尽管我非常密集地与VS合作,但我还没有看到这种效果。这是我想到的唯一想法......

答案 2 :(得分:0)

如果您愿意,可以在vb代码中重新执行设计器代码的几乎每一行,例如,在Form1类中。但您不想修改Designer.vb。即使您可以,并且它可以工作,如果您稍后更改了表单中的任何内容,VS会重写该文件的每一行,您的工作将被忽略。