• .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中用到了那些被取消的类就会报错。

  • 相关阅读:
    JSP学习-JSP访问数据库-JavaBean封装
    JSP学习-sessionDemo
    第十次随笔
    第九次随笔
    第八次随笔
    第七次随笔
    第六次随笔
    第五次随笔
    第四次随笔
    第三次随笔
  • 原文地址:https://www.cnblogs.com/dragonwlb/p/2619551.html
Copyright © 2020-2023  润新知