[VS2008][实践经验总结]
今天我打开某一个C#项目后,试图打开窗口和UserControl设计器时,VS并没有呈现出你原先做好的设计界面,而是给出了如下的错误提示:
To prevent possible data loss before loading the designer, the following errors must be resolved
我选择忽略后,显示出了Winform设计窗口,但是原先设计的内容已经不存在了。
这在以前VB6.0设计器中也会遇到类似表象,只不过提示不一样而已。当初检查下来的结果是资源被破坏或加载错误,那么这次遇到的这个问题是不是还是资源被破坏或者是资源加载失败呢?
我检查了这些窗体、UserControl的资源文件,发现并没有被破坏,当然我相信VS不会加载失败这些没有问题的资源文件。
那问题出在哪里呢?我仔细查看了一下VS给出的提示:An error occurred while parsing EntityName
关键字:parse EntityName 我突然想到了:会不会是某对象命名有问题呢?我再次检查解决方案中所有的对象名称(主要是WinForm和UserControl),没有发现问题。
究竟是什么原因?寂寞中……
也许正是应验了一句话:有心摘花花不开,无心插柳柳成荫。这世界上往往一个又一个的困难在不经意间就解决了:中午吃完饭后,我看这个项目文件夹名称不顺眼,因为其中有“&”字符,我要把它改成AND。结果下午工作时打开项目,一切OK!
补充一点:其实是在我发现一切OK之后,才回想起我把文件夹名改了。
总结:如果遇到此类问题,第一个检查项目所在文件夹名称是否有“&”字符,有的话直接delete或replace。换句话说,以后VS项目文件夹起名不能带“&”字符!!