c# – Visual Studio设计视图 – 表单为空白

我有一个带有两种形式的C#项目.所有编译都很好.当我运行项目时,所有表单都按预期绘制.

几天前,所有表单的DesignView开始只显示一个空白表单,就像你在新的Windows.Forms项目中得到的表单一样.

我在SO上遇到了类似问题的几个问题,以下是对这些问题的评论

>我的项目没有第三方库(除了htmlAgilityPack,在其他Windows.Forms C#项目中不会导致此问题)
>我已经检查过每个表单的InitializeComponent函数在项目中只有一次
>当我创建一个新项目并添加一个现有表单(即我的一个有问题的项目表单)时,Design Viewer按预期工作 – 因此我怀疑我的表单中的.cs,.Designer.cs和.resx文件是否正常.

在项目设置或其他地方有什么我可以搞砸的吗?

编辑

上面的第三点是误导性的 – 我也尝试为第二种形式创建一个新项目,并且问题仍然存在.显示问题的最小源代码量为here.

解决方法

您的项目文件已无效.

表单的有效项目条目如下所示:

<Compile Include="Form1.cs">
  <SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
  <DependentUpon>Form1.cs</DependentUpon>
</Compile>

虽然您缺少DependentUpon行 – 这就是代码和设计器文件在项目中单独出现而不是连接的原因:

<Compile Include="mainForm.cs">
  <SubType>Form</SubType>
</Compile>
<Compile Include="mainForm.Designer.cs" />

如果添加缺失的行,表单将在设计模式下正确显示

<Compile Include="mainForm.cs">
  <SubType>Form</SubType>
</Compile>
<Compile Include="mainForm.Designer.cs">
  <DependentUpon>mainForm.cs</DependentUpon>
</Compile>

并整理资源文件

<EmbeddedResource Include="mainForm.resx">
  <DependentUpon>mainform.cs</DependentUpon>
</EmbeddedResource>

为了解决这个问题,您只需在编辑器中编辑csproj,或者在Visual Studio中执行此操作:

>备份文件>右键单击项目,然后选择“卸载项目”>右键单击已卸载的项目,然后选择“编辑[ProjectName] .csproj”>进行更改,然后关闭文件.>右键单击卸载的项目,然后选择“重新加载项目”

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString(&quot;x2&quot;));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable&lt;Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include &quot;WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...