您的位置:首页 > 其它

[导入]出现 Argument type '******' is not CLS-compliant 的一种超简单情况

2006-02-24 11:14 537 查看
今天下午,自己写的几个组件互相调用的时候,发生了很多类似如下的警告:
Argument type 'CSDN.User.Common.UserInfoChangedEventArgs' is not CLS-compliant

最初把问题想复杂了,来回在我写的几个组件中,一点点检查每行代码是不是符合“公共语言规范”。结果一直没找到问题所在。

下班后,准备开溜的时候,才突然发现不是自己的代码写的不规范,而是下面情况:

A 项目 引用 B 项目
如果 A 项目 定义了 [assembly: CLSCompliant(true)] 也就是符合“公共语言规范”
而 B 项目没有定义符合“公共语言规范”。
则就会报那个错误。我今天的错误,就是这个所致。

B 项目也定义必须符合“公共语言规范”,就没问题了。郁闷的是,我竟然在这个最简单的地方错误了。费了一下午查错误,都走了弯路。

看来很早以前听说的那个故事很有道理的。
一个专家来处理一个很久搞不定的问题,结果专家只拧了一个螺丝,就一切搞定了。
问题方看到这个情况,不想给专家那么多劳务费。
专家说,拧螺丝免费,我收的费是是找到问题所在。
在膨大的项目中,找导致错误的地方,太容易走弯路了。

附:
公共语言规范:
http://msdn2.microsoft.com/zh-cn/library/12a7a7h3.aspx

文章来源:http://blog.joycode.com/ghj/archive/2006/02/15/71517.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐