在面向 .NET 4 的项目中引用 .NET 2 程序集
Posted
技术标签:
【中文标题】在面向 .NET 4 的项目中引用 .NET 2 程序集【英文标题】:Referencing a .NET 2 assembly in a project targeting .NET 4 【发布时间】:2010-12-03 04:10:53 【问题描述】:我目前正在使用 TeeChart Lite(teechart 的免费版本)。我想在我的 WPF 项目中使用它,但是可下载的免费版本仅适用于 .NET 2.0,因此我收到以下错误:
警告 1 引用的程序集 “TeeChart.Lite”无法解决 因为它依赖于 “System.Design,版本=4.0.0.0, 文化=中性, PublicKeyToken=b03f5f7f11d50a3a" 其中 不在当前目标中 框架 “.NETFramework,版本=v4.0,配置文件=客户端”。 请删除对程序集的引用 不在目标框架内或 考虑重新定位您的项目。
仅添加程序集 System.Design,版本 4.0.0.0 是否安全,即使它不是目标框架的一部分?或者我还能做些什么来让它在 .NET 4.0 中工作?
【问题讨论】:
【参考方案1】:我没有可用于测试的 Visual Studio,但它可能是以下两件事之一:
更有可能,您只需要引用 System.Design.dll,which is a standalone DLL。
不太可能:如错误消息所述,您的目标是 4.0 客户端框架,这是 VS2010 中新项目的默认设置。转到您的项目属性并引用 full 4.0 框架,这可能会解决问题。
实际的解决方案可能需要结合这两个步骤。
【讨论】:
正是“不太可能”选项解决了这个问题,因为 System.Design 版本 4.0.0.0 是 .NET 4 框架的一部分。谢谢:)以上是关于在面向 .NET 4 的项目中引用 .NET 2 程序集的主要内容,如果未能解决你的问题,请参考以下文章
如何在 .NET 3.5 项目中引用 .NET 4.0 程序集
不支持在面向 .NET 5 或更高版本时直接引用 Windows 元数据组件
从 Asp.Net 4 项目进入引用的 .Net 3.5 程序集
Visual Studio 2010,TlbImp 在 2.0 项目中生成 .net 4.0 互操作
将 WPF 从 .NET 4 更新到 4.5.2,DataGridTextColumn Visibility DataContext 引用损坏