偶然发现vs2017有一个可以重现的bug
在一个64位系统安装32位的vs2017,创建一个Winform项目,创建一个继承自Button的自定义控件ButtonEx,并使用到窗体界面上,项目生成目标平台设置为AnyCPU。
生成软件,可以正常运行。
修改项目属性的AssemblyName,然后重新生成项目。
也可以正常运行,但若此时在已经打开的窗体设计器上修改属性如窗口标题,
则无法保存项目。
弹出异常“code generation for property Controls failed......”,
查看Form.Designer.cs的源文件,发现自定义控件只剩下声明部分,定义部分被
code generation自动删掉了。。。
在上一步中,修改了AssemblyName并重新生成之后,若先将窗体设计器关闭并重新打开,然后再修改界面控件的属性,则一切正常。
若项目生成目标平台设为x64,则窗体设计器无法正常显示,需要设为AnyCPU并重新生成才能正常显示。