我有一个带有两种形式的C#项目.所有编译都很好.当我运行项目时,所有表单都按预期绘制.
几天前,所有表单的DesignView开始只显示一个空白表单,就像你在新的Windows.Forms项目中得到的表单一样.
我在SO上遇到了类似问题的几个问题,以下是对这些问题的评论:
>我的项目没有第三方库(除了htmlAgilityPack,在其他Windows.Forms C#项目中不会导致此问题)
>我已经检查过每个表单的InitializeComponent函数在项目中只有一次
>当我创建一个新项目并添加一个现有表单(即我的一个有问题的项目表单)时,Design Viewer按预期工作 – 因此我怀疑我的表单中的.cs,.Designer.cs和.resx文件是否正常.
在项目设置或其他地方有什么我可以搞砸的吗?
编辑
解决方法
您的项目文件已无效.
表单的有效项目条目如下所示:
<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”>进行更改,然后关闭文件.>右键单击卸载的项目,然后选择“重新加载项目”