多年来,我在Visual Studio 2008中工作时遇到了相同的问题。我已经尝试了StackOverflow上的每个“解决方案”以及数十个博客,就像我确定你们所有人一样。有时它们起作用,有时却不起作用,就像我确定你们所有人都遇到过一样。显然,这在VS2010和VS2012中仍然是一个问题。
因此,终于在几个月前,我决定足够了,并在几周内构建了一个名为“ Redesigner”的工具,该工具生成.designer文件。它是BSD许可下的开源软件,其源代码可在SourceForge上获得-免费使用,免费窃取,免费执行您喜欢的任何事情。它可以做Visual Studio经常做不到的事情,它可以快速可靠地生成.designer文件。
它是一个独立的命令行工具,可以解析.aspx和.ascx文件,执行所有必需的反射魔术,并吐出正确的.designer文件。它自己执行所有解析和反射操作,以避免依赖现有代码,众所周知,现有代码已损坏。它是用C#针对.NET 3.5编写的,但要避免甚至将System.Web用于类型声明以外的其他事情也很费力,并且它根本不使用也不依赖Visual Studio。
重新设计器可以生成新的.designer文件。并且它提供了--verbose选项,以便在出现问题时,比“引发System.Exception类型的异常”得到更好的错误消息。还有一个--verify选项,可用来告诉您现有的.designer文件何时损坏—缺少控件,错误的属性声明,Visual Studio无法读取,或者其他原因。
我们已经在我的工作场所使用它,以便在上个月的大部分时间里摆脱困境,尽管Redesigner仍然是Beta版,但它的作用已经远远超过了它,值得与公众分享它的存在。我很快打算为其创建一个Visual Studio插件,因此您只需右键单击即可以您一直希望的方式来验证或重新生成设计器文件。但是在此期间,命令行用法非常简单,并且可以省去很多麻烦。
无论如何,现在就去下载Redesigner的副本,然后停止拔头发。您将不会总是需要它,但是当您这样做时,就会很高兴拥有它!
https://sourceforge.net/projects/redesigner/