下载了MS的SILVERLIGHT TOOL KIT,查看他们的代码,发现是基于VS 2008开发的,其中有两个项目:
Controls和Controls.Input,在Controls中定义了一个接口 IUpdateVisualState,访问属性是 internal,Controls.Input 引用了Controls模块并使用了接口 IUpdateVisualState。
我使用的是VS2010 BETA2,把VS2008的项目打开升级后,这个引用编译成功了,但报告错误:CA0055和CA0052,编译失败。
于是,我创建了一个新的解决方案,并创建新的Controls和Controls.Input项目,把其中用到的文件都一个一个的放了进去,Controls成功编译了,编译Controls.Input的时候报告未找到 IUpdateVisualState 接口定义。
我比较了升级到2010后的项目和完全在2010中创建项目的相关属性,其中定义了 CODE_ANALYSIS,我按照这个定义设置好后(几乎完全一样的配置了),结果问题依然。
麻烦各位高手解决下:
1——
跨模块使用非PUBLIC的定义问题
2——
CODE_ANALYSIS导致的问题。
2010没用过可能是internal关键字的错误,把internal改成public试试
因为接口是不能申明非public成员的。所以用internal去申明是错的