【问题标题】:Using different versions c# and .NET Framework with dll [duplicate]使用带有 dll 的不同版本的 c# 和 .NET Framework [重复]
【发布时间】:2019-04-08 21:22:29
【问题描述】:
  • 使用 C# 3.0 和 .NET Framework 3.5 的项目可以使用最新版本的 C# 和 .NET Framework 的 dll 吗?
  • 使用 C# 3.0 的项目可以使用最新版本的 C# 但类似 .NET Framework 版本的 dll 吗?

  • 带有 .NET Framework 3.5 的项目可以使用带有最新版本的 .NET Framework 但类似 C# 版本的 dll 吗?

【问题讨论】:

  • 简短回答:否。针对 .NET Framework 版本 X 的项目可以引用针对直到版本 X 的任何 .NET Framework 版本编译的程序集。
  • C# 语言版本号无关紧要,它只是编译器如何“理解”您编写的内容的信息 - 一旦您的代码被编译,唯一的参考限制是您只能参考框架版本低于或与您的项目相同。
  • 他显然想这么做。这个问题闻起来是 X,Y 问题。正如@mm8 所说,拒绝是一个简短的回答。但是可以解决并使用较低版本的较高框架版本。您现在的问题只是询问它是否“直接”可能,显然不是。
  • 即使这是可能的,实际结果将是基于更高版本 .NET 的功能无法在满足该先决条件的系统上运行。

标签: c# .net


【解决方案1】:

使用 C# 3.0 和 .NET Framework 3.5 的项目可以使用最新版本的 C# 和 .NET Framework 的 dll 吗?

简短回答:否。针对 .NET Framework 3.5 版的项目可以引用针对任何 .NET Framework 版本(直到 3.5 版之前编译的程序集。

使用 C# 3.0 的项目可以使用最新版本的 C# 但类似 .NET Framework 版本的 dll 吗?

是的。编程语言的版本仅在编译时才重要。在运行时,使用哪个版本的 C# 实现组件并不重要。

.NET Framework 3.5 的项目可以使用最新版本的 .NET Framework 但类似 C# 版本的 dll 吗?

没有。针对 .NET Framework 3.5 构建的程序集只能引用针对 .NET Framework 3.5 或更早版本构建的程序集。

【讨论】:

【解决方案2】:

不,你不能确定,它受你选择的目标框架的约束。即使您尝试在最新版本的 VS 中打开该项目/解决方案,VS 也会尝试将您的解决方案迁移到最新框架

【讨论】:

    猜你喜欢
    • 2010-10-15
    • 2011-03-28
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 2012-03-02
    • 2010-09-24
    相关资源
    最近更新 更多