代码改变世界

Ocars开发的Silverlight迁移到VS2005遇到的问题

2007-07-19 20:27  Bryan Chow  阅读(651)  评论(1编辑  收藏  举报
      大家知道目前用Orcas来开发Silverlight还是很方便的,尽管智能提示做的还不是太完善。Orcas内置了Silverlight项目的模 板,在xaml中声明的对象可以在xaml.cs对应的类中直接使用。由于某些方面的需要,所以要将Orcas下的项目迁移到VS2005环境下,按照VS2005开发Silverlight 1.1的配置说明进行了设置,但是发现编译无法通过,主要提示说许多xaml中的元素对应的对象没有声明,这很令人费解。

        最后仔细的看了Orcas下的项目中的文件,发现在obj文件夹中比一般的项目多生成出来一些类似于Default.g.cs这样的文件,打开发现是一个 Partial的类,里面也都是对xaml文件中元素的声明,此外还有一个InitializeComponent()方法,其中都是类似于下面这样的实 例化操作,

canvas = this.FindName("canvas") as Canvas;

很显然这就是 VS2005无法编译成功的原因了,将这些g.cs文件复制到VS2005中,编译成功。看起来很有可能是Orcas在编译的时候自动将xaml文件生成 一个Partial类,有点类似于aspx页面的原理,但是目前VS2005还不支持,所以只能手工调用this.FindName()方法。