首先,必须申明一点,在Resource中添加图片时,名称不要重复,否则更新不了新图片!
今天我就犯了这样一个错误,我添加的图片重名了,于是我就删除了Resource目录下的重名图片,结果编译时马上报错,说Resource.resx中不存在ts.bmp,我定位到错误代码文件,发现Resource.resx是一个xml文件:
于是我想当然地手动删除了一行xml,就是我删除了图片的那行xml,结果铸成大错!再次编译,马上报错项目中不存在类型或命名空间名“Properties.Resources”,所有引用了图片资源的地方全部抛出了这个异常,我连忙清理项目再编译,于事无补!
而且此时打开项目Resource浏览器,直接报错!
心里一下子慌了,如果命名空间名“Properties.Resources”不存在了,那就是所有的资源文件都不存在了,太吓人了!我连忙查看Properties文件下的结构,并和旧版本对比,发现Resources.Designer.cs文件竟然消失了!
于是我从旧版本中添加了Resources.Designer.cs到项目的Properties文件夹下,并引入到项目,编译正常了,只是报新加入图片找不到的错误(因为我添加的是旧版本的代码,新图片当然丢失了):
此时,我通过Picturebox导入新图片,再次编译,竟然报了160多个错误,错误类似“pic1.jpg"重复二义性,也就是说这个pic1.jpg被定义了2次!我再次打开Properties结构查看,原来导入图片时项目又自动生成了一个Resources.Designer.cs,如下图:
于是我把旧的Resources.Designer.cs从项目中排除后,再次编译,一切正常!