如何在C#2项目中使用Dotnet 3.5 dll?

时间:2009-02-28 07:12:43

标签: .net-3.5 c#-2.0

我有一个donet 3.5 dll,我想在旧的C#2项目中使用,目前我不想升级C#2项目。

我在c#2项目中添加了dll作为参考,一切都很好。

当我想使用方法时出现问题需要System.Func<int,int,IEnumerator<string>>作为参数 所以编译器对它没有任何了解,因为它需要System.Core汇编,所以添加System.Core汇编会解决问题吗?有更好的解决方案吗?

1 个答案:

答案 0 :(得分:3)

如果您当前的项目依赖于.NET 2.0,则不应该添加对.NET 3.5中的任何内容的引用 - 如果您的类库使用.NET 3.5中的任何内容,那么如果您部署了这两个,那么这也是一个问题。其中只有一台只有.NET 2.0的机器。

我会强烈考虑以下三种选择之一:

  • 将您的.NET 2.0应用程序升级到.NET 3.5(我知道您不想这样做,但如果可能的话,它可能是最佳选择)
  • 将您的类库降级为目标.NET 2.0。 (您仍然可以使用许多C#3.0功能,但不能使用.NET 3.5类)
  • 不要使用.NET 2.0应用程序中的.NET 3.5库

如果您的.NET 2.0应用程序只能部署在.NET 3.5计算机上,您可以放弃混合和匹配,但您必须确保 nothing in公共API依赖于.NET 3.5。在Func的情况下,您可以声明自己的匹配委托类型,但在整个地方这样做很痛苦。