代码之家  ›  专栏  ›  技术社区  ›  damageboy

app.config“强制”(?)在.NET 4上。需要吗?

  •  6
  • damageboy  · 技术社区  · 15 年前

    与2010测试版2相比,在将项目升级到.NET 4.0时, 生成app.config文件,大致如下所示:

    <?xml version="1.0"?>
    <configuration>
    <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
    

    如果我只想执行.NET 4.0,是否需要此文件? 注:有趣的是,这只发生在C项目中,而不是F项目中。

    我已经成功地移除了它,没有任何明显的(到目前为止)副作用。

    有人能详细说明它的重要性吗(如果有的话)

    1 回复  |  直到 15 年前
        1
  •  4
  •   JasonTrue    15 年前

    这与应用程序在您的计算机上的行为无关,而与它在其他计算机上的行为无关,也与在您的计算机上安装更新的dotnet运行时无关。

    基本上,如果不包括此内容,则将使用最新版本的dotnet运行时来运行应用程序。这听起来可能是件好事,直到你所依赖的某个特性被否决,或者你没有意识到你所依赖的某个bug被修复。

    更有用的是,当您最初构建了一个应用程序来使用旧版本的dotnet框架时,您可以在用新版本测试后使用此功能来断言,是的,它确实适用于最新版本。

    这是马的口信 MSDN :

    如果.NET框架的版本 应用程序是基于 存在于计算机上, 应用程序在该版本上运行。

    如果.NET框架的版本 应用程序是基于 不存在并且配置 文件中未指定版本 元素,元素 应用程序在最新版本上运行 存在的.NET框架的 在计算机上。

    如果.NET框架的版本 应用程序是基于 不存在并且配置 文件指定 元素 应用程序在最新版本上运行 在应用程序中指定的 配置文件并出现在 计算机。