在项目类库中已经引用了相关了类库,生成解决方案也没问题,但是到了后置代码,通过using引用其他类库的时候,再生成解决方案或者生成单个类库,就会报“未能找到类型或命名空间“xxx"(是否缺少using指令或程序引用?)” 之类的错误,曾经在写asp.net的时候也碰到过1次,当时解决方法是重新建立一个解决方案,然后把类库重新引用到新的解决方案中,但今天在写 winform的时候挺匪夷所思,前后捣鼓了半个多小时,网上的回答几乎都是“废话”,因为那些回答针对的都是“正常情况下”,而我今天碰到的是非正常情 况。
个人的一些看法:(VS2010)
1.除去正常情况下引用外,在建立的类库的时候慎用"Common"作为类库名,因为VS本身也有一个系统common,所以尽力避免用Common,不然会出现一些让人很郁闷的问题。
2.在调用第三方控件或其他非解决方案中的dll的时候,不要直接复制到bin文件夹下,而是通过右键【引用】---【添加引用】的方式来进行操 作,WINFORM我没试过,之前在ASP.NET的时候引用自己写的自定义控件,试了几种方式,成功的只有通过[添加]定位到dll
3.每一个类库都有【属性】,这个里面可以设置程序集名称,命名空间的选项,其中有一个选项很重要:【目标框架】,我今天碰到的问题就是框架的问题,一般这个跟当初新建解决方案的时候保持一致,但这里不知为什么,我新建的winform窗体目标框架变成了:“
.NET FRAMEWORK 4 CLIENT PROFILE”,或许正是这个原因,虽然可以添加引用,但在项目中进行using引用就会报错,更改成 ".NET FRAMEWORK 4",问题解决,图如下
这里我再补充一点,对VS熟悉的朋友可能会说“直接在解决方案中找到对应的类库,在其debug文件夹下复制相应的源dll文件到目标debug文件夹下”,这样子也是不行的,至少我这边(VS2010)是没法解决这问题 希望对相关问题的朋友有所帮主 转载:http://blog.sina.com.cn/s/blog_4c8f1ac201013lxb.html |