.Net项目中添加DLL引用后无法编译的解决方案
2012-08-02 10:53
567 查看
今天在解决方案中添加了一个新的项目,因用到其它的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中用到了那些被取消的类就会报错。
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中用到了那些被取消的类就会报错。
相关文章推荐
- .net 项目添加Dll成功,却无法引用其中的命名空间的现象
- WP开发 - 引入dll出现“无法向项目中添加对较高版本或不兼容程序集的引用”
- c#.net无法直接启动带有“类库输出类型”的项目 若要调试此项目,请在此解决方案中添加一个引用库项目的可执行项目。将这个可执行项目设置为启动项-----解决办法
- 无法直接启动带有“类库输出类型”的项目,若要调试此项目,请在此解决方案中添加一个引用库项目的可执行项目。将这个可执行项目设置为启动项。
- Windows Phone开发,引入dll出现“无法向项目中添加对较高版本或不兼容程序集的引用”
- Visual Stdio 无法直接启动带有“类库输出类型”的项目若要调试此项目,请在此解决方案中添加一个引用库项目的可执行项目。将这个可执行项目设置为启动项目!
- C#工程添加了DLL编译运行时却提示”无法加载DLL“的解决方案
- Windows Phone开发,引入dll出现“无法向项目中添加对较高版本或不兼容程序集的引用”
- VS2013添加解决方案内项目的引用,编译时提示找不到文件
- VS 2010 的 无法调试引用的类库项目(DLL)问题(生成下面的模块时,启用了优化或没有调试信息) 解决方案
- VC++.NET中添加由C#编译的DLL引用的方法
- 项目引用了DLL文件,也写了Using,但是编译时提示:未能找到类型或命名空间名称
- .net项目编译时,无法在证书存储区中找到清单签名证书
- .net项目编译时,无法在证书存储区中找到清单签名证书解决办法
- .net项目编译时,无法在证书存储区中找到清单签名证书
- C#中XML文档注释编译DLL引用到其它项目
- vs2010无法添加dll引用
- [转]VS2010 项目引用了DLL文件,也写了Using,但是编译时提示:未能找到类型或命名空间名称
- 在.net中添加Newtonsoft.Json.dll引用
- 添加项目解决方案引用目录