解决VS 2010中编译程序时弹出"Type universe cannot resolve assembly"的错误-阿里云开发者社区

开发者社区> 浣熊干面包> 正文

解决VS 2010中编译程序时弹出"Type universe cannot resolve assembly"的错误

简介:
+关注继续查看
在使用VS 2010编译程序时有时候会遇到"Type universe cannot resolve assembly"的错误,从而导致程序编译出错,如下图。

untitled

  如果你对这个错误信息感觉到很迷惑,说明你不太理解什么是"Type universe"。Type universe其实是deployment framework中所有类型和程序集的集合,换句话说,这个错误信息其实是告诉你System.Design.dll在目标framework中不存在。

  为什么会这样呢?

  Microsoft Visual Studio的开发团队决定在VS 2010中将应用程序默认的目标framework设置成了.NET Framework 4 Client Profile,这样做主要是为了在客户端对应用程序的部署进行优化,如减小程序部署时package的大小,部署的时间,提高应用程序的可靠性以及性能等等。

  不幸的是许多用户和开发人员没有意识到这一点。例如我曾经在应用程序中使用一个开源的UI框架名字叫DockPanel,编译程序的时候就遇到过这种问题。要想真正解决这个问题其实是需要去修改这个框架的源代码然后重新生成程序集并重新在应用程序中引用,但是这很难做到。

  按照错误的提示信息,该错误主要是因为我们将第三方控件从VS 2010的工具箱拖放到窗体上,控件在设计时所需要的类依赖于System.Design.dll程序集,而该程序集并没有包含在Client Profile的.NET Framework框架中而产生的。我们可以在控件的源代码中添加设计时所需要的类,但是这样做显然不够好。在VS 2010中一个变通的方法是将Target framework修改成非Client Profile的Framework,然后重新编译应用程序。

untitled1

本文转自Jaxu博客园博客,原文链接:http://www.cnblogs.com/jaxu/archive/2011/08/01/2123918.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Cocos2d-x 3.2编译生成Android程序出错的解决方案
      最近升级到Cocos2d-x 3.2正式版,iOS程序编译没任何问题,结果使用cocos compile -p android编译生成APK程序,结果悲剧了,出现以下错误。
1014 0
flex 1119错误 找不到属性 static 解决方法,编译选项中选中 不启用rsl
flex 1119错误 找不到属性 static 解决方法,编译选项中选中 不启用rsl
407 0
安装PageAdmin Cms时候“System.ServiceModel.Activation.HttpModule”错误的解决办法
未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.ServiceModel.Activation.HttpModule”。
1082 0
gradle编译遇到 org/apache/commons/codec/binary/Base64错误解决
### gradle编译遇到 org/apache/commons/codec/binary/Base64错误解决 android studio升级到gradle 版本升级到2.14.1, android build tools升级到 2.2.2后出现 `org/apache/commons/codec/binary/Base64` 错误。 错误信息是 ``` 14:47:26.2
9633 0
941
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载