代码之家  ›  专栏  ›  技术社区  ›  Greg Domjan

是否需要指定使用最新的框架版本?

  •  0
  • Greg Domjan  · 技术社区  · 14 年前

    将一个项目编译为使用(TargetFrameworkVersion)framework3.0版,但是在最新的v4.0 framework和HF中似乎有一些bug修复。由于我们希望该应用程序可以使用,即使它是泄漏了一点对早期的框架,我们不想只是把目标设置为4.0。

    当您浏览项目时,您可以看到它有一个运行时版本,但“特定版本”被标记为false。

    当我们运行这个应用程序时,我们能知道它实际使用的是什么框架部分吗。它将默认为3.0还是使用最新的程序集。

    在运行时使用4.0框架的基础上,针对4.0框架进行编译会产生任何不同的结果吗?

    3 回复  |  直到 14 年前
        1
  •  2
  •   KeithS    14 年前

    当您运行.NET应用程序时,它将默认为编译它所用的框架的版本。您可以通过在配置/启动部分的app config文件中包含SupportedRuntime元素来指定它可以使用其他框架。但是,我不认为应用程序可以指定它运行在比它构建的框架更晚的框架上。

    如果您希望运行时尝试使用v4.0,但如果未安装,您仍将在v3.5上运行,则应在4.0中编译应用程序,并在应用程序配置中包含一个SupportedRuntime元素,该元素具有v3.5的完整版本(包括内部版本)。

        2
  •  1
  •   kbrimington    14 年前

    当不确定应用程序实际加载了哪些库时,可以考虑在调试器中执行一些代码来列出加载的程序集, as in this reference ,或在应用程序运行时打开“模块调试”窗口(VS 2010中的默认快捷方式:Ctrl-Alt-U)。

        3
  •  1
  •   David Moye    14 年前