先说一下问题出现的背景,就是在将.net4.8创建的窗体拷贝到.net3.5框架下(其中窗体使用了属性记录默认值),编译通过,但是程序运行中窗体无法调用,并报错:
【实验证明,这个问题与框架版本无关!】
开门见山说原因,拷贝窗体的时候,虽然文件都复制了,但是resx资源文件并没有加载到环境中,就是下图的文件没有。
由于没有资源配置信息,所以导致窗体在程序运行中无法启动,解决办法也比较简单,就是先手动将该窗体在项目中移除【注意是移除,不是删除】,之后清空一下解决方案,之后再将这个窗体重新进行添加,最后重新进行编译,resx文件就出现了!
这里面一定注意,从别的项目拷贝窗体的时候,三种类型的文件一定要全部拷贝到一个目录下,这样在添加cs文件的时候,Designer.cs文件和resx文件才会自动挂载!