0

关于程序集将加载到哪个版本的 CLR 中有很多错误的信息,因此希望合并一些答案以消除与 CLR 版本相关的问题

  • 当我以 .Net Framework 的第 4 版为目标并在 VS2010 中构建时,我会使用 clr 第 4 版吗?如果我不在app.config 文件中添加任何配置,我引用的程序集将使用哪个版本的 CLR?

  • 我可以强制我的应用程序使用不同版本的 CLR 吗?如果是,如何?

  • 当我以 .Net Framework 的 2 或 3.5 版本为目标并在 VS2010 中构建时,编译的程序集将使用哪个 clr 版本?

  • 如果我不在app.config 文件中添加任何配置,我引用的程序集将使用哪个版本的 CLR?

  • 我可以强制我的应用程序使用不同版本的 CLR(例如版本 4)吗?如果是,如何?

  • 在以 v4 为目标的新项目中引用 v2 程序集是否安全?为什么?

4

1 回答 1

2

当我以 .Net Framework 的第 4 版为目标并在 VS2010 中构建时,我会使用 clr 第 4 版吗?

是的。

我可以强制我的应用程序使用不同版本的 CLR 吗?如果是,如何?

不,没有其他版本可以运行以 4.0 为目标的程序。下一个框架版本(4.5)将不是并行版本,因此使用相同的 CLR,不可能超越它。

当我以 .Net Framework 的 2 或 3.5 版本为目标并在 VS2010 中构建时,编译的程序集将使用哪个 clr 版本?

版本 2.0.50727,它必须存在于机器上

如果我不在 app.config 文件中添加任何配置,我引用的程序集将使用哪个版本的 CLR?

版本 2.0.50727 当您针对 2.0 和 3.5 之间的任何框架版本时,版本 4.0.30319 当您针对 4.0

我可以强制我的应用程序使用不同版本的 CLR(例如版本 4)吗?如果是,如何?

使用<supportedRuntime version="v4.0"/>.exe.config 文件中的元素。

在以 v4 为目标的新项目中引用 v2 程序集是否安全?为什么

是的。不测试这种情况是不安全的,可能会修复您不小心依赖的框架错误。

于 2012-01-20T19:52:50.373 回答