躲得了初一,躲不过十五,终于要把一个VB6项目升级到VB.NET。在我同事的电脑上,升级没有什么问题,但是在我的电脑上,升级的过程似乎也挺顺利,就是在最后升级快要完毕时,却打不开项目文件,项目文件名成了.vbproj.vs7.vbproj。在VS2008中打开这个文件,又提示要升级,好吧,继续升级,结果升级失败,说一个Reference的问题。咋回事?用记事本打开那个奇怪的项目文件,发现有个引用没有Name :
<Reference
Name = ""
Guid = "{D97A6DA0-A85C-11CF-83AE-00A0C90C2BD8}"
Lcid = "0"
VersionMajor = "2"
VersionMinor = "0"
WrapperTool = "tlbimp" />
原因就在于这个Name是空字符串,通过查询注册表,原来Name是“Microsoft Active Server Pages Object Library”,把它填到Name里,然后再用VS2008打开,还是需要升级,没问题,那就升级吧,最后升级成功。
不解的是,在我同事只装VS2008的机器上,没这么麻烦,直接升级打开,连解决方案文件都有了,在我这个VS2008与VS2010并存的机器上就是这样的行为。