.Net 4.0 C#项目中是否需要app.config?

Jim*_*hel 18 c# visual-studio-2010

令我烦恼的是,当我将目标从.NET Framework 3.5更改为.NET Framework 4.0时,Visual Studio 2010将App.config文件添加到我的所有.EXE项目中.所以我的自动构建一直在破坏,直到我检查了那些新文件.

有什么特别的原因我不能删除这些App.config文件?或者Visual Studio是否会继续将它们添加到我的项目中?

我将避免咆哮一种将无用文件添加到我的项目中的工具...

澄清:

我明白这app.config是为了什么.我不明白的是,app.config当我将项目更改为目标.NET 4.0而不是.NET 3.5时,Visual Studio 2010会将文件添加到现有项目中.我的应用程序不需要app.config中的任何东西来运行,所以我唯一合理的结论是Visual Studio出于某种原因需要app.config来编译,或者有人认为他们比我更了解我的应用程序必须有app.config,即使我不想要一个.

哎呀......我咆哮了.

进一步澄清:

将项目从Visual Studio 2008转换为Visual Studio 2010不是问题.当我将目标从.NET Framework 3.5更改为.NET Framework 4.0时,app.config将添加到项目中.app.config包含以下内容:

<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

当我将其更改回目标.NET Framework 3.5时,app.config文件被修改为:

<supportedRuntime version="v2.0.50727"/>
Run Code Online (Sandbox Code Playgroud)

我想我看到他们正在尝试做什么,但自动添加app.config文件是一个非常糟糕的主意.

Ree*_*sey 16

我在.NET 4项目中唯一需要知道app.config的是你引用CLR-2.0混合模式程序集.在这种情况下,您需要将useLegacyV2RuntimeActivationPolicy ="true"添加到startup元素中,否则您将在运行时收到错误.

但是,VS转换工具不会检测到这一点,并默认添加app.config文件,这实际上是不必要的.如果您能够在转换后运行,这可能不是您的问题.

否则,您可以自由删除它(当然,除非您将其用于其他目的).

  • 谢谢:"...并默认添加一个app.config文件,这是非常必要的." 哎呀. (2认同)

Jar*_*Par 5

app.config文件不是必需的.没有它们,应用程序就可以正常运行

编辑

里德指出,有一个案例不值得注意

有一种情况需要它 - 如果你的项目引用了CLR 2.0混合模式程序集,你必须有一个app.config文件来运行