我有一个donet 3.5 dll,我想在旧的C#2项目中使用,目前我不想升级C#2项目。
我在c#2项目中添加了dll作为参考,一切都很好。
当我想使用方法时出现问题需要System.Func<int,int,IEnumerator<string>>
作为参数
所以编译器对它没有任何了解,因为它需要System.Core
汇编,所以添加System.Core
汇编会解决问题吗?有更好的解决方案吗?
答案 0 :(得分:3)
如果您当前的项目依赖于.NET 2.0,则不应该添加对.NET 3.5中的任何内容的引用 - 如果您的类库使用.NET 3.5中的任何内容,那么如果您部署了这两个,那么这也是一个问题。其中只有一台只有.NET 2.0的机器。
我会强烈考虑以下三种选择之一:
如果您的.NET 2.0应用程序只能部署在.NET 3.5计算机上,您可以放弃混合和匹配,但您必须确保 nothing in公共API依赖于.NET 3.5。在Func
的情况下,您可以声明自己的匹配委托类型,但在整个地方这样做很痛苦。