2010-09-03 60 views
0

我们最近从VS2008升级到VS2010。我们的vb.net Windows Forms应用程序的转换进行得很顺利,但我们现在遇到了表单设计师的大问题。在VS2010中破解的Windows窗体设计器?

几乎任何对表单布局的改变(有时候只是一个解决方案重建)都会工作一次,但在重新编译时,IDE设计者拒绝显示表单,错误信息是空引用异常(没有细节是什么)。

关闭并重新启动VS2010可以解决这个问题,但仅限于一个编译周期 - 并且每次关闭并重新打开显然不切实际。关闭并重新打开表单不能解决问题。

如果在窗体的加载事件中出现了错误,或者由于随机原因导致出现错误,我们之前偶尔会遇到这些错误,但是从VS2008 SP1开始,这从来都不是严重的问题。

而现在用VS2010,现在是表,编译。

这是完全不可行的,我们必须恢复到VS2008的winforms开发。

任何建议,将不胜感激..

回答

3

可以调试设计模式:

  • 在项目属性,在调试器选项卡,设置可执行文件的名称devenv.exe
  • 运行/调试项目:这将启动Visual Studio中的第二个副本
  • 使用2号(正在调试)复制Visual Studio中设计模式打开表单

您可以找到更详细的信息'网络,通过谷歌搜索'调试设计模式'。

+0

那么我的问题已经消失了,但我不知道为什么......我按照你的建议继续,并且我在设计模式中打开了窗体,期望它打破 - 但并没有。我尝试了一些之前打破过的形式 - 没有什么不愉快的。所以我关闭了所有东西,并在普通的单一IDE中再次打开解决方案。 Presto - 没有更多的问题。所以我似乎被排序(着名的遗言!!),但我不知道为什么。无论如何,感谢您的建议。 – ChrisA 2010-09-05 13:39:09

1

是您的项目目标为.Net Framework 4 Client Profile.Net Framework 4

如果您不是故意定位到.Net Framework 4 Client Profile,那么将其更改为.Net Framework 4您有足够的机会。

如果这没有帮助。正如ChrisW所说,请按照上述步骤进行操作。这是最后的选择。

+0

感谢这..可悲的是Framework 4还不是我们的选择,因为我们需要让所有的客户升级他们的电脑。许多用户没有安装权限,所以这不是一个微不足道的操作,写信给所有IT部门,要求他们升级客户端,等待他们全部升级等等。 – ChrisA 2010-09-05 08:08:57

1

我们面临同样的问题。原因在于,句柄语句不是根据控件名称转换成 ,而是以大写字母。

但是,控件本身仍以原始正确的名称在小写 或混合。他们在designer.vb代码中也是这样做的。 您必须纠正.vb代码中的alle手柄,以匹配相同表单的designer.vb代码 中的名称。

(快速)解决方法如下。 a)加载有缺陷的项目。 b)尝试打开表格 c)按F7打开代码 d)将所有手柄替换为'手柄(搜索和替换,它只能通过这种方式工作) e)开始构建 f)替换g)现在表单应该打开

不幸的是,这种方式只能通过VS2010'chockes'的形式来形成,一次加载太多的表单。

对于使用此建议最终损坏代码的功能,我们不承担任何责任!