.Net项目中添加DLL引用后无法编译的解决方案

今天在解决方案中添加了一个新的项目,因用到其它的DLL所以在引用中增加了该DLL的引用。添加完后重新编译发现报以下错误:

The type or namespace name XXX could not be found (are you missing a using directive or an assembly reference?)

仔细试验后发现将DDL引用加上后,在cs文件中是可以取到该类下的方法和属性的,但编译后报错,且报错后也无法再取到该类下的方法和属性。而该解决方案下的其它项目也是相同的引用和写法却没有出错。初步判断是项目的设置有问题。

与其它项目比较后发现是Target framework的选项不对。当前选择的是.NET Framework 4 Client Profile,而其它项目选择的是.NET Framework 4。修改该选项后编译成功。

上网搜索后发现原来.NET Framework 4 Client Profile是.NET Framework 4的精简版。.NET Framework 由于起来越大对于发布很不方便。试想一下如果只是一个小小的应用程序文件 (几十或几百KB) 却要夹一个那 大的 .NET Framework Redistributable Package,大概很多开发人员都会觉得麻烦,就算开发人员接受,但在企业网络的 IT 管理人员就不一定会接受了。所以微软就将 .NET Framework 部份不常用的功能由主函数库中抽离出来,让Redistributable Package可以缩小,有利于重新发布应用程序。这样就会造成许多类不可用。如果引用的DLL中用到了那些被取消的类就会报错。

 

转载于:https://www.cnblogs.com/dragonwlb/archive/2012/08/02/2619551.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值