表单设计器已无法在Visual Studio

时间:2015-08-08 08:40:02

标签: winforms visual-studio designer

在Visual Studio 2015中对表单进行一些工作后,表单设计器突然变得不可用。

症状:

    解决方案资源管理器中表单代码类的上下文菜单中缺少
  • 视图设计器
  • 通常的键盘快捷键不能用于切换到设计器
  • .Designer .resx 文件仍然存在且正确显示为表单代码类的子树项
  • .Designer .resx 文件从内部看起来很健康,它们都有强制性部分
  • Visual Studio报告 0错误
  • 只有一个表单受影响,其他表格通常可以在设计师中打开

为什么Visual Studio不将表单文件评估为有效,而不显示Designer视图?

2 个答案:

答案 0 :(得分:2)

我不小心把自己锁在外面,在锁着的门后面写着错误信息。

问题:在工作期间,我暂时在表单代码文件的开头添加了一个简单的帮助器类。 如果我让设计师打开那个时间,我本可以看到以下错误:

  

可以设计类Form1,但不是文件中的第一个类。 Visual Studio要求设计人员使用文件中的第一个类。移动类代码,使其成为文件中的第一个类,然后再次尝试加载设计器。

问题是, 错误仅在设计器中显示。如果您此时只打开了代码窗口,则无法发现错误 - 更糟糕的是,您不再需要进入设计器视图才能发现它。

因此,当Visual Studio不提供任何线索时,情况就会发生 - 唯一的帮助就是合格的猜测和试用。

答案 1 :(得分:0)

万一其他人需要不同的修复程序,我也遇到了同样的问题,但与telerik报告有关。

不确定原因或方式,但是我的问题是项目文件损坏。报告缺少子类型元素。该元素告诉Visual Studio使用设计器模板打开文件,而不是代码视图。

子类型取决于控件的类型。对于Windows窗体,子类型为 Form

卸载项目->右键单击->编辑“ .csproj”

所以我更改了此设置(在项目文件中):

<Compile Include="Report1.cs" />
<Compile Include="Report1.Designer.cs">
  <DependentUpon>Report1.cs</DependentUpon>
</Compile>

对此:

<Compile Include="Report1.cs">
  <SubType>Component</SubType> <!-- if winform, this would be Form instead -->
</Compile>
<Compile Include="Report1.Designer.cs">
  <DependentUpon>Report1.cs</DependentUpon>
</Compile>

重新加载项目。