Am confused about web.config in .NET Core

前端 未结 3 1072
陌清茗
陌清茗 2021-02-12 22:47

There are a bunch of contradictory statements about web.config and .NET Core.

  • Places saying it\'s gone.
    • https://dotnetcore.show/episode-10-configuration-
3条回答
  •  我寻月下人不归
    2021-02-12 23:20

    In a .NET Framework Web application, web.config is used for two purposes:

    1. To store configuration for the web application.

    2. To store configuration for the IIS that hosts the application (system.webServer element).

    In a .NET Core Web application, you have at least two choices for storing application configuration:

    • Use a .NET Core Configuration Provider, often with a json configuration file.

    • Use the System.Configuration.ConfigurationManager NuGet package with recent versions of .NET Core (2.0+ I think). One advantage of using System.Configuration.ConfigurationManager is that it can be used in .NET Standard 2.0 libraries that are compatible with both .NET Core and .NET Framework.

    If you choose to use System.Configuration.ConfigurationManager in a .NET Core web application, you need to add an app.config (not web.config) file to your Visual Studio project. When you build this project it will be copied to the output directory and renamed as appName.dll.config.

    If you are hosting your .NET Core web application in IIS, you can still need a web.config file with configuration for IIS (system.webServer element). I.e. your application may need both app.Config and web.config.

    Personally I prefer to use System.Configuration.ConfigurationManager and an app.config XML configuration file, for several reasons including compatibility with .NET Framework, the fact that it's easy to comment out bits of XML, etc. YMMV of course.

提交回复
热议问题